控制是否丢弃自定义帖子类型

时间:2016-02-18 作者:e4rthdog

我需要对自定义帖子类型的垃圾/删除操作进行控制。

我需要检查一些条件,并决定是否应该丢弃CPT。

在trash函数之前激发的wp\\u trash\\u操作挂钩没有给我取消trash过程的选项。

更具体地说,我需要检查用户按下垃圾时的条件。如果该条件为false,那么我需要停止垃圾处理操作。如果这是真的,它应该继续。

1 个回复
最合适的回答,由SO网友:Adam 整理而成

钩住trashed_post 和使用wp_untrash_post() 要在满足条件时反转,请使用伪代码示例。。。

add_action(\'trashed_post\', \'wpse_218031_trashed_post\');

function wpse_218031_trashed_post($post_id){
   //use post_id to check conditions... if not met call:
   if ( $some_condition ) {
       wp_untrash_post($post_id);
   }
}
trashed_post 追求wp_trash_post 然后把帖子移到垃圾桶。

顺便说一下,如果常数EMPTY_TRASH_DAYS 定义为false 帖子将被永久删除,随后提到的挂钩将不会被触发,在这种情况下wp_delete_post() 将改为调用。

相关推荐

Nonce for Trashing Item

我有一个自定义的管理页面。在此基础上,我根据Posteta数据创建了自定义帖子类型的筛选列表。我必须创建一个链接来删除那篇文章。我正在尝试找出如何创建带有nonce的链接。sprintf(\'<a href=\"post.php?post=%s&action=%s&_wpnonce=%s\" class=\"link-course-delete\">Trash</a>\',$item[\'ID\'],\'trash\',wp_create_nonce(???))&#