WordPress Hook 预发布更新
Posted
技术标签:
【中文标题】WordPress Hook 预发布更新【英文标题】:Wordpress Hook Pre Post Update 【发布时间】:2010-02-14 05:12:45 【问题描述】:我正在编写一个 wordpress 插件。如果帖子状态是未来,我想将帖子状态设置为发布。
我知道要使用的一个钩子是 pre_post_update。
但是,与帖子相关的详细信息数组存储在哪里以便我可以更改 post_status?
感谢您的帮助
【问题讨论】:
【参考方案1】:对我来说,调用 pre_post_update 钩子的函数出现在 wp-includes/posts.php 的第 1525 行:
do_action( 'pre_post_update', $post_ID );
如您所见,它在执行时传递正在更新的帖子的 ID。要从那里获取帖子,您只需拨打get_post()
,例如:
function do_something_with_a_post($post_id, $post_data)
// now do something with $post_data
add_action('pre_post_update', 'do_something_with_a_post', 10, 2);
上面的$post
变量应该引用一个对象,该对象具有您正在查找的帖子的所有各种属性,希望如此。
【讨论】:
修改$post
变量似乎不会将其传播到数据库。
pre_post_update
接受 $data
作为第二个参数:do_action( 'pre_post_update', $post_ID, $data );
要更新数据,请使用过滤器而不是操作。更改保存在 DB 中的数据的过滤器是 wp_insert_post_data
codex.wordpress.org/Plugin_API/Filter_Reference/…以上是关于WordPress Hook 预发布更新的主要内容,如果未能解决你的问题,请参考以下文章
WordPress - 激活插件时正在调用 register_uninstall_hook
在 WordPress 中调试“register_activation_hook”