去除定制贴子类型的“垃圾桶”

时间:2021-07-27 作者:John Dee

我有一个CPT“;foo;。我想完全禁用;“垃圾桶”;功能,以便在CPTs上的任何时间被删除,只需将其永久删除即可。不要放在垃圾桶里。如何通过编程实现这一点?

1 个回复
SO网友:Lemrac

如果您想对所有帖子类型执行此操作,只需执行以下操作

define(\'EMPTY_TRASH_DAYS\', 0);
请参见https://codex.wordpress.org/Trash_status#EMPTY_TRASH_DAYS_option.

But 由于您只想对自定义帖子类型执行此操作,因此需要挂接到\'trashed_post\' 像这样:

add_action(\'trashed_post\', function( $post_id ){ 
    [...]
然后检查你的垃圾帖子的帖子类型:

    if ( get_post_type($post_id) === \'foo\') {
和使用wp_delete_post() 将“force delete”参数设置为true,以显示目标帖子类型:

        wp_delete_post( $post_id, true );
    }
});
我猜WordPress可能仍然会显示“移动到垃圾桶”的消息,即使它在用户看来似乎没有垃圾桶,并且帖子确实已经被完全删除了。因此,如果是这种情况,您可能必须更改传递给register\\u post\\u type()调用的$标签。

相关推荐

Gutenberg通过wp.hooks.addFilter修改核心分类面板元素

我已经研究过修改现有的编辑器元素……但几乎没有。但我确实在Github得到了一个很好的回复,指出了这一点:https://github.com/WordPress/gutenberg/tree/master/packages/editor/src/components/post-taxonomies#custom-taxonomy-selector显然,分类小组可以通过wp.hooks.addFilter. 这是一个很好的开始!我已经能够使用该代码片段模拟一些虚拟代码,用Dashicon替换分类法面板。(