首页 > 解决方案 > Wordpress:自定义帖子类型永久删除帖子

问题描述

所以我希望我的自定义帖子类型中的帖子永久删除,而不是先移到垃圾箱。所以我在网上找到了这个应该可以解决问题的代码。但我无法让它以某种方式工作。

我拥有的代码如下。

function directory_skip_trash($post_id) {
    if (get_post_type($post_id) == 'directory') {
        // Force delete
        wp_delete_post( $post_id, true );
    }
}
add_action('wp_trash_post', 'directory_skip_trash');

您可以在我之前制作的这篇文章中找到我的自定义帖子类型本身的其余代码。

我可能错过了一些非常简单的东西。

更新

所以现在它有点工作了。它确实删除了帖子,但我收到了这个错误。 在此处输入图像描述 错误发生后,如果我返回帖子页面,帖子就消失了,并且没有在垃圾箱中,任何可能有解决方案的人只是删除而不给出此消息?

标签: phpwordpressadvanced-custom-fieldscustom-post-type

解决方案


在您的另一篇文章中,它说您的帖子类型称为“成员”。相反,您正在检查“目录”类型的帖子。像这样更改 if 条件以实际影响正确的帖子类型:

function members_skip_trash($post_id) {
    if (get_post_type($post_id) == 'members') { // <-- members type posts
        // Force delete
        remove_all_actions('wp_trash_post');
        wp_delete_post( $post_id, true );
    }
}
add_action('trashed_post', 'members_skip_trash', 1);

推荐阅读