web-dev-qa-db-fra.com

Couleurs personnalisées pour les lignes de publication basées sur la méta valeur de publication

J'essaie de faire en sorte que les couleurs d'arrière-plan de la publication changent en fonction d'une méta-valeur pour le type de publication spécifique plutôt que d'utiliser l'état de publication. Regardé partout et ne peut pas trouver une solution. (peut-être qu'il n'y en a pas?)

Spécifier des couleurs de publication basées sur le statut est assez simple

add_action('admin_footer','posts_status_color');
function posts_status_color(){
?>
<style>
.status-draft{background: #FFFF98 !important;}
.status-pending{background: #FFFF98 !important;}
.post-*id here*{background: #FFFF98 !important;}
.status-publish{/* no background keep wp alternating colors */}
</style>
<?php
}

Comment spécifier les couleurs en fonction d'une clé méta personnalisée/d'une valeur de la publication?

1
Nima Moradi

Si votre thème utilise wp post class

function post_classes($classes) {
    global $post;
        $customMetaVariable = get_post_meta( $post->ID, 'customMetaName', true );
    if($customMetaVariable == 'desiredCustomMetaValue'){
        $classes[] = 'cssClassName';
        return $classes;
    }
}
add_filter('post_class', 'post_classes');

alors dans votre style.css vous pouvez utiliser:

.cssClassName{
background-color: red;
}

d’appliquer cette classe à tous les articles qui contiennent la méta-valeur souhaitée.

si votre thème n'utilise pas wp post class, vous devez modifier le thème à inclure

<?php post_class(); ?>

ex:

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
//post stuff hurr
</div>

tout expliqué ici.

2
Vigs