web-dev-qa-db-ja.com

投稿メタ値に基づく投稿行のカスタム色

投稿ステータスを使用するのではなく、投稿の背景色を特定の投稿タイプのメタ値に応じて変更しようとしています。至る所で見て、解決策を見つけることができません。 (おそらくないですか?)

投稿ステータスに基づいて投稿色を指定するのは簡単です

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
}

投稿からのカスタムメタキー/値に基づいて色を指定するにはどうすればよいですか?

1
Nima Moradi

あなたのテーマがWP投稿クラスを使用している場合

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');

あなたのstyle.cssであなたが使用することができます:

.cssClassName{
background-color: red;
}

したがって、そのクラスを希望のメタ値を含むすべての投稿に適用します。

あなたのテーマがWP投稿クラスを使用していない場合は、テーマを編集して含める

<?php post_class(); ?>

例:

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

ここですべて説明しました

2
Vigs