1

在这里,我正在使用以下代码将已发布帖子的状态更改为草稿,其中帖子内容较少

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

此代码适用于将已发布项目更改为草稿。

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

4

1 回答 1

3

您需要扩展您的查询。

$wpdb->query("UPDATE ".$prefix."posts SET post_status='draft' WHERE LENGTH( post_content ) < 500 AND post_type = 'post'");

您的查询会覆盖所有 post_types,包括 nav_menu_item。

于 2013-01-07T09:50:25.580 回答