web-dev-qa-db-fra.com

Comment définir une méta de publication particulière sur une valeur du type de publication personnalisé dans lequel je suis?

J'ai actuellement une case à cocher personnalisée qui (si cochée) définit une publication particulière comme "sélectionnée". Il définit également toutes les autres publications comme "non décrites", juste avant de définir la publication actuelle.

Cela a très bien fonctionné, mais j’ai maintenant plusieurs types de publications personnalisées et je souhaiterais que la partie "non définie" ne fonctionne que localement dans le type de publication personnalisé dans lequel je suis.

Cela a-t-il du sens?

Par conséquent, si je modifie une section "Livre blanc" et que je la vérifie comme "vedette", elle désactive les livres blancs précédemment présentés, mais laisse les autres types de publication personnalisés. Voici le code qui annule TOUTES les publications en vedette de TOUS les types de publication:

if ( isset( $_POST[ 'is-it-featured' ] ) ) {
    $posts = get_posts($args);
    foreach ( $posts as $post ) {
        // Run a loop and update every meta data
        update_post_meta( $post->ID, 'is-it-featured', '0' );
    }
    update_post_meta( $post_id, 'is-it-featured', '1' );
} else {
    $posts = get_posts($args);
    update_post_meta( $post_id, 'is-it-featured', '0' );
}
1
user3525785

Veuillez inclure le paramètre $ args que vous utilisez.

Toutefois, dans le paramètre get_posts $ args, vous pouvez utiliser l'argument "post_type" pour limiter les publications trouvées à un type de publication spécifique.

0
kuchenundkakao