在创建新帖子之前修改自定义域输入数据

时间:2016-02-16 作者:Louis Tran

我试图在将输入数据添加到DB之前检查它。例如:

我有一个自定义贴子元名为book_isbn 在post页面中。我要确保此变量$_POST[\'book_isbn\'] 在添加到DB之前有效。

到目前为止我知道我可以用钩子wp_insert_post_data 为了实现这一点。我不确定我是否做对了。这对我没用。请检查下面的代码。

add_filter( \'wp_insert_post_data\', \'clean_data_before_post_created\', \'99\', 2 );

    function clean_data_before_ad_created( $data , $postarr ) {
          $data[\'book_isbn\'] = clean_isbn($_POST[\'book_isbn\']);
          return $data;
     }
谢谢你。

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

这将在保存(创建/更新)帖子后立即运行您的功能:

add_action(\'save_post\',\'clean_data_while_saving_post\',1);

function clean_data_while_saving_post($post_id) {
  $data = get_post_meta($post_id,\'book_isbn\',true);
  update_post_meta($post_id,\'book_isbn\',clean_isbn($data));
}

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果