当我尝试运行以下代码时,Wordpress自定义菜单变为“待定”

时间:2013-01-07 09:16:34

标签: wordpress-plugin wordpress

此处我将发布的帖子的状态更改为草稿,其中帖子使用以下代码的内容较少

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');

此代码可以很好地将已发布的项目更改为草稿。

问题是此代码删除了我的自定义菜单,并使菜单中的所有项目都处于待定状态。我该如何解决这个问题?

1 个答案:

答案 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。