如何取消与untrash_post挂钩的操作?或任何钩子

时间:2016-02-26 作者:SXN

我想在插件中执行以下操作:-挂钩到untrash_post使用自定义函数-在自定义函数内执行一些检查-取消实际的后期还原(未分级)

我试过了remove_action 但似乎不起作用。你能给我指出正确的方向吗?

代码示例:

add_action( \'untrash_post\', array( __CLASS__, \'static_untrash_handler\' ) );
。。。。。

public static function static_untrash_handler( $post ) {

// check stuff

// prevent post from being restored. How ?

}

我应该返回一些东西来“打破循环”吗?

提前感谢您!

2 个回复
SO网友:Mark Kaplun

untrash_post 在未进行灰化之前点火。如果要撤消非Trashing,应使用untrashed_post 之后触发的操作。

SO网友:locomo

这有点笨拙,但你可以将你已经在做的事情与开火的“untrashed\\u post”挂钩结合起来after 这篇文章没有删改

以下是大致步骤:

使用\'untrash_post\' 钩住进行检查(就像现在一样)

  • 如果需要取消取消刷新,请在post meta中使用ie存储一个标志。update\\u post\\u meta($post\\u id,“keep\\u trashed”,true)
  • 使用\'untrashed_post\' 检查是否应使用get\\u post\\u meta($post\\u id,“keep\\u trashed”,true)重新发送帖子要重新播放帖子,请转储帖子metadelete\\u post\\u meta($post\\u id,“keep\\u trashed”)