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

クエリは、nav_menu_item を含むすべての post_types を上書きします。

于 2013-01-07T09:50:25.580 に答える