Eu tenho um CPT que tem menu_order ativado, como posso tornar os valores do menu_order exclusivos para que ele não tenha duplicatas

4

Eu tenho um CPT chamado homeslider . Eu tenho menu_order atributo de página ativado, como posso fazer com que os valores de cardápio_ordem sejam exclusivos para que não tenha duplicatas ao atribuir valores a ele?

    
por Carl Alberto 09.05.2016 / 12:07

1 resposta

1

Você pode interferir na ação save_post e, em seguida, alterar menu_order para post_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);
    
por MinhTri 09.05.2016 / 15:09