此处我将发布的帖子的状态更改为草稿,其中帖子使用以下代码的内容较少
function draftpost(){
global $wpdb;
$prefix = $wpdb->prefix;
$wpdb->query("UPDATE ".$prefix."posts SET post_status='draft' WHERE LENGTH( post_content ) <500");
}
add_action('publish_post', 'draftpost');
此代码可以很好地将已发布的项目更改为草稿。
问题是此代码删除了我的自定义菜单,并使菜单中的所有项目都处于待定状态。我该如何解决这个问题?
答案 0 :(得分:3)
您需要扩展您的查询。
$wpdb->query("UPDATE ".$prefix."posts SET post_status='draft' WHERE LENGTH( post_content ) < 500 AND post_type = 'post'");
您的查询会覆盖所有post_types,包括nav_menu_item。