WP_INSERT_POST_DATA筛选器是否可用于保存自定义字段数据?

时间:2014-01-25 作者:user658182

我有自定义字段数据,我想在将其添加到数据库的过程中对其进行修改。

wp\\U insert\\U post\\U数据过滤器似乎是我能找到的最接近实现这一目标的东西。我转储了$data和$postarr值,但我不知道如何访问自定义字段数据,因为这些字段不在转储中。

wp\\U insert\\U post\\U数据能否用于保存自定义字段数据,如果不能,首选的过滤器/做法是什么?

编辑:其他详细信息:

我有一个前端表单,要求用户提供公司网站地址。如果用户只需键入“示例”。然后,他帖子中该网站的目标默认为mywebsite。com/示例。com而不是打开示例。com。

如果http://不是他们输入的文本的一部分,那么我想在保存之前将其添加到文本中。有javascript可以帮助验证,但那些关闭了它的人可以通过它。

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

您可以访问原始$_POST 数据来自wp_insert_post_data 过滤,但可能有更好的方法来拦截该数据。

  • save_post or similar hook 可能会在处理post\\u meta时起作用,update_post_meta 使用update_metadata 它提供了update_{$meta_type}_metaupdated_{$meta_type}_meta 过滤器。这些可能对你来说是最好的,但你的问题在细节上很害羞,所以我不能肯定
根据编辑,使用update_{$meta_type}_meta 滤器您的问题仍然很详细,但以下筛选器应转储所有数据,以便您至少可以看到您正在处理的内容:

add_filter(
  \'update_post_meta\',
  function($meta_type,$object_id,$meta_key,$meta_value,$prev_value) {
    var_dump($meta_type,$object_id,$meta_key,$meta_value,$prev_value);
    die;
  },
  10,5
);
注:该will break your site 但不是永久性的。这纯粹是为了调试/开发。它只是让您对通过过滤器获得的数据有一个粗略的了解。

结束

相关推荐