我有一个启用了MENU_ORDER的CPT,如何使MENU_ORDER值唯一,这样它就不会有重复项

时间:2016-05-09 作者:Carl Alberto

我有一个叫homeslider. 我有menu_order 页面属性已启用,如何使menu\\u order值唯一,以便在为其赋值时不会重复?

1 个回复
最合适的回答,由SO网友:dan9vu 整理而成

你可以干涉save_post 行动然后改变menu_orderpost_ID:

add_action(\'save_post\', function($post_id, $post, $update) {
    if ($post->menu_order === $post_id) {
        return $post_id;
    } else {
        global $wpdb;

        $q = "UPDATE $wpdb->posts SET menu_order=%d WHERE ID=%d";

        $wpdb->query( $wpdb->prepare($q, [$post_id, $post_id]) );

        return $post_id;
    }
}, 9, 3);

相关推荐