Hook on trash post

时间:2013-03-15 作者:urok93

当我删除一个自定义帖子类型时,我想执行一个操作,我应该使用哪个钩子:

wp_trash_mycpt

trash_mycpt
我的操作应仅在以下情况下运行mycpt\'publish\', \'draft\' or \'future\' 状态并移向“垃圾”状态。当它从垃圾桶中移除时,没有理由再次运行该函数。

3 个回复
SO网友:montrealist

这个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\' );

SO网友:Max Yudin

当post状态从以下任何状态更改时,请运行您的函数publish, draftfuturetrash.

<?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

SO网友:David Gard

有一个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.

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴