如何在我的自定义插件中获得更改后的帖子标题,该插件在调用‘save_post’时触发?

时间:2012-12-07 作者:user1462

我创建了一个自定义WordPress插件,该插件使用add\\u filter()钩住“save\\u post”。我需要对帖子标题进行处理,每当用户更改标题时,我的插件都无法获取新标题,直到第二次更新帖子(在管理中不再次更改标题)。

例如,我有一篇名为“WordPress Rocks”的帖子。我将其更改为“WordPress很酷”,但我的插件在更新帖子时使用get\\u the\\u title($post\\u id)将标题显示为“WordPress Rocks”。我回去对帖子进行了第二次更新,这次没有更改标题。下一次,get\\u标题($post\\u id)显示标题为“WordPress is Cool”。

如何在帖子更新后立即获取更新后的标题(如果标题已更改)?

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

的第二个参数save_post 操作包含post数据:

do_action(\'save_post\', $post_ID, $post);
你也可以钩住post_updated 这将使您能够轻松比较前后数据:

do_action( \'post_updated\', $post_ID, $post_after, $post_before);

结束

相关推荐

Add_Filters()和Apply_Filter()有什么作用?

我有点困惑,为什么这不起作用-尽管必须说,我不太确定是什么apply_filters() 和add_filter 正在做,所以任何一般性的提示都会很好!我想要一个查询,在一个帖子页面上显示之前的五篇帖子。我正在发送当前帖子的日期,并希望应用一个过滤器,过滤出早于此的帖子。function sw_filter_posts_before( $where = \'\', $date) { $where .= \" AND post_date < \'\" . $date . \"