Php 自定义帖子类型永久删除帖子
因此,我希望我的自定义帖子类型中的帖子被永久删除,而不是先移动到垃圾箱。 所以我在网上找到了这段代码。 但不知怎么的,我无法让它工作 我的代码如下Php 自定义帖子类型永久删除帖子,php,wordpress,advanced-custom-fields,custom-post-type,Php,Wordpress,Advanced Custom Fields,Custom Post Type,因此,我希望我的自定义帖子类型中的帖子被永久删除,而不是先移动到垃圾箱。 所以我在网上找到了这段代码。 但不知怎么的,我无法让它工作 我的代码如下 function directory_skip_trash($post_id) { if (get_post_type($post_id) == 'directory') { // Force delete wp_delete_post( $post_id, true ); } } add_action
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');
我的自定义帖子类型本身的其余代码,你可以在我前面所做的代码中找到 我可能错过了一些非常简单的事情 更新 所以现在它开始工作了。 它确实删除了帖子,但我得到了这个错误。 错误发生后,如果我返回到帖子页面,帖子将不在垃圾桶中
任何人只要有一个解决方案就可以删除而不发送此消息?在你的另一篇文章中,它说你的文章类型称为“成员”。 而是检查“目录”类型的帖子。像这样更改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);
函数成员\u跳过\u垃圾($post\u id){
如果(使用正确的members
post-type获取帖子类型($post-id)==“members”){/:
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);
您需要使用trashed_post
hook。wp_trash_post
发生在post被破坏之前,因此您会收到一个错误,因为post不再存在
function members_skip_trash($post_id) {
if (get_post_type($post_id) == 'members') { // <-- members type posts
// Force delete
wp_delete_post( $post_id, true );
}
}
add_action('trashed_post', 'members_skip_trash');
函数成员\u跳过\u垃圾($post\u id){
如果(get_post_type($post_id)==“members”){//那么我现在已经这样做了。我在移动到垃圾桶时遇到了一个错误,比如:error。但是当我回到页面时,它确实删除了它。但问题是我在WP config中启用了WP_DEBUG,但我没有得到错误行,只有一个Wordpress errorIsdefine('WP_DEBUG_LOG',true)
也打开?可能日志文件中会显示一些内容。我目前在这里没有看到任何明显的错误,而且因为它以前没有产生任何错误,我怀疑这个函数中的任何地方都会发生错误。这可能会对其他钩子试图访问垃圾帖子造成一些副作用。@Damocles检查我的答案。wp\u trash\u post
是一个错误的钩子。你的代码看起来与我的非常相似。尤其是在那条评论中。是的,我使用了正确的钩子。我阅读了你的答案,意识到你纠正了前面问题中OPs原始函数中的错误。在发布我的答案之前,我在我的评论中发布了正确的答案。而不是使用wp\u trash\u post
作为你的钩子,尝试垃圾帖子
。问题是wp\u trash\u post
发生在帖子被移动到垃圾桶之前。所以你删除了帖子,然后在钩子上运行,但是既然帖子已经不存在了,你就得到了一个错误。是的,这就是诀窍。谢谢:我将帖子作为一个答案发布,这样其他人可以从中受益。是的我记下它:D