当我删除一个自定义帖子类型时,我想执行一个操作,我应该使用哪个钩子:
wp_trash_mycpt
或trash_mycpt
我的操作应仅在以下情况下运行mycpt
在\'publish\', \'draft\' or \'future\'
状态并移向“垃圾”状态。当它从垃圾桶中移除时,没有理由再次运行该函数。当我删除一个自定义帖子类型时,我想执行一个操作,我应该使用哪个钩子:
wp_trash_mycpt
或trash_mycpt
我的操作应仅在以下情况下运行mycpt
在\'publish\', \'draft\' or \'future\'
状态并移向“垃圾”状态。当它从垃圾桶中移除时,没有理由再次运行该函数。这个wp_trash_post
钩子可能就是你要找的:
在将邮件发送到垃圾箱之前激发。
此外,还有trashed_post
挂钩:
将邮件发送到垃圾箱后引发。
以下是一些未经测试的代码,可以帮助您入门:
function my_wp_trash_post( $post_id ) {
$post_type = get_post_type( $post_id );
$post_status = get_post_status( $post_id );
if ( $post_type == \'mycpt\' && in_array(
$post_status, array( \'publish\',\'draft\',\'future\' )
)) {
// do your stuff
}
}
add_action( \'wp_trash_post\', \'my_wp_trash_post\' );
当post状态从以下任何状态更改时,请运行您的函数publish
, draft
或future
到trash
.
<?php
function my_function() {
global $post;
if(\'my_post_type\' == $post->post_type) {
// do your stuff here
}
}
add_action(\'publish_to_trash\', \'my_function\');
add_action(\'draft_to_trash\', \'my_function\');
add_action(\'future_to_trash\', \'my_function\');
更多信息:Post Status Transitions有一个wp_trash_post
调用的操作,但post_status
已更改为trash
这意味着你将无法检查帖子是否已发布,等等。
EDIT 我的立场得到纠正post_status
已更改为trash
调用操作后。
然而,这应该让你开始-
add_action(\'wp_trash_post\', \'my_wp_trash_post\')
function my_wp_trash_post(){
if($post->post_type === \'mycpt\') :
// Do what ever you need to do here
endif;
}
如果有任何用处,还有delete_post
行动有关更多信息,请参阅的操作参考delete_posts
.我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴