提交表单后更新_POST_META

时间:2012-10-04 作者:galengodis

我正在使用“强大”插件轻松管理和创建表单。我设置了一个自定义的post类型,并创建了一个额外的post\\u meta。

我可以使用meta(“test”);在循环中,在帖子的单个页面上显示我的元值。

每次有人通过提交单个贴子页面上的表单创建条目时,我希望元键“test”的值减去1(更新)。

强大的插件附带一个动作挂钩:

add_filter(\'frm_after_create_entry\', \'after_entry_created\', 30, 2);
function after_entry_created($entry_id, $form_id){
    if($form_id == 7){ //change 7 to the ID of your form
          //do stuff here
    }
}
我已经在我的功能中加入了这一点。php。但是我如何定位正确的帖子和正确的元键呢?

谢谢

1 个回复
最合适的回答,由SO网友:Adam 整理而成

下面是一个粗略的示例,可以对其进行改进,以确保您处理的是整数等,并且为了简洁起见,还可以将其整体缩短,但这应该可以让您开始。

add_filter(\'frm_after_create_entry\', \'after_entry_created\', 30, 2);
function after_entry_created($entry_id, $form_id){

    global $post;

    if($form_id == 7){ //change 7 to the ID of your form

      $previous_value = get_post_meta($post_id, $key, true); 

      if($previous_value == null) {

        $value = 12345; //this is a starting value if nothing set
        $previous_value = $value;
        $value = $previous_value - 1; //returns 12344

      } else {

        $value = $previous_value - 1; //returns whatever previous value was - 1 

     }

      update_post_meta($post->ID, $key, $value, $previous_value);

    }
}
我在做一些假设,但不知道你是否在使用起始值,但这应该会让你朝着正确的方向前进。

结束

相关推荐

Functions.php Problem

当我在函数顶部添加第3-19行时。php,然后尝试更新图像。phpI get the error \"Warning: Cannot modify header information - headers already sent\" when I try to update my image.php.第3-19行的代码为“我的图像库”创建自定义的下一个/上一个链接,并将最后一个链接重定向到“更多库”页面。我的代码可以在这里看到:http://pastebin.com/Yen04t2z