首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将输入字段联系人表单7保存到post meta

将输入字段联系人表单7保存到post meta
EN

Stack Overflow用户
提问于 2021-03-25 21:18:38
回答 1查看 53关注 0票数 1

我想通过存储数字字段的输入来计算库存到零。

到目前为止,我有以下几点:

代码语言:javascript
运行
复制
add_action( 'wpcf7_before_send_mail',
    function( $contact_form, $abort, $submission ) {
       $post_id = get_the_id();
       $voorraad = '';
       if ($post_id === 5080){
       $voorraad = get_post_meta(5080,'voorraad',true);
       $newvoorraad = implode( ', ', (array) $submission->get_posted_data( 'number-435' ));
       $stock = $voorraad - $newvoorraad;
       update_post_meta($post_id, 'voorraad', $stock);
         }
    },10,3
    );

然而,这是行不通的。

元字段voorraad存在并且具有值450。但是,该字段在输入后不会更新。我不能首先存储提交的数据,即使我使用一个具有不同名称的空元字段,并存储一个像'example‘这样的集合字符串,只是为了测试目的。

如何在提交时将用户输入存储在元字段中?

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-03-25 23:14:57

get_the_id()函数不会从表单中检索postID。你必须从$submission->get_meta('container_post_id)上得到它

代码语言:javascript
运行
复制
add_action( 'wpcf7_before_send_mail',
    function( $contact_form, $abort, $submission ) {
        $post_id = $submission->get_meta('container_post_id');
        $voorraad = '';
        if ($post_id === 5080){
            $voorraad = get_post_meta(5080,'voorraad',true);
            $newvoorraad = implode( ', ', (array) $submission->get_posted_data( 'number-435' ));
            $stock = $voorraad - $newvoorraad;
            update_post_meta($post_id, 'voorraad', $stock);
        }
    },10,3
);

方法#2

另一种方法是使用联系人表单ID作为触发器,只需将您的帖子ID放在表单中。

代码语言:javascript
运行
复制
add_action('wpcf7_before_send_mail',
    function ($contact_form) {
        if ($contact_form->id() === 123) { // Your Contact Form ID
            $submission = WPCF7_Submission::get_instance();
            $voorraad = '';
            $voorraad = get_post_meta(5080, 'voorraad', true);
            $newvoorraad = implode(', ', (array)$submission->get_posted_data('number-435'));
            $stock = $voorraad - $newvoorraad;
            update_post_meta(5080, 'voorraad', $stock);
        }
    }
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66800355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档