我刚刚开始学习WP编码。所以,我试图在卸载插件时删除所有自定义帖子。我已创建卸载。php在我的插件根目录中,并具有以下内容:
<?php
if(!defined(WP_UNINSTALL_PLUGIN)){
die();
}
// Delete Database
$books= get_posts([\'post_type\'=>\'book\',\'numberposts\'=>-1]);// all posts
foreach($books as $book){
wp_delete_post($book->ID,true);
}
卸载时,我收到一个错误“删除失败”。谁能告诉我出了什么问题吗?此外,如何在WP中调试此类问题?我在wp配置中启用了以下功能
define(\'WP_DEBUG\', true);
define( \'WP_DEBUG_LOG\', true );
但我在插件屏幕中除了“删除失败”之外,没有看到任何有用的调试消息,在启用上述两项后,我的wp内容中也没有看到debug.log文件。
我还尝试使用SQL删除,如下所示:
global $wpdb;
$wpdb->query("DELETE FROM wp_posts WHERE post_type=\'book\'");
$wpdb->query("DELETE from wp_postmeta WHERE post_id NOT IN( SELECT id FROM wp_posts");
即使这样,也会出现删除失败的错误。停用后,我在数据库中看到了带有post\\u类型的自定义帖子,我不知道这为什么不起作用。