Tengo un CPT con menu_order habilitado, ¿cómo puedo hacer que los valores de menu_order sean únicos para que no tenga duplicados?

4

Tengo un CPT llamado deslizador de casa . Tengo menu_order atributo de página habilitado, ¿cómo puedo hacer que los valores de menu_order sean únicos para que no tenga duplicados al asignarle valores?

    
pregunta Carl Alberto 09.05.2016 - 12:07

1 respuesta

1

Puedes interferir con la acción save_post y luego cambiar menu_order a 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);
    
respondido por el MinhTri 09.05.2016 - 15:09

Lea otras preguntas en las etiquetas