wp_encueue_styleのhandleを使って、ヘッダー埋め込みスタイルを追加する方法。
@since 3.3.0
( wp_encueue_styleでスタイルを登録していない場合は、使えません )
おおむね以下のようなソースになります。
<link rel='stylesheet' id='style-css' href='http://example.com/wp/wp-content/themes/theme/style.css?ver=0.993' type='text/css' media='all' />
<style type='text/css'>
.mycolor{
background: #ff0000
}
</style>
Code
カスタムフィールドtitle_colorの色指定を、ヘッダーのスタイルで埋め込むsnippet
<?php
function my_styles_method() {
global $post;
$color= get_post_meta($post->ID, 'title_color', true);
//$color= sanitize_hex_color($color); //ver 3.5
$custom_css= ".mycolor{
background: {$color}
}";
if( ! empty($color) ){
wp_add_inline_style('style',$custom_css);
}
}
add_action('wp_print_styles', 'my_styles_method',11);
?>
add_action hookは、wp_enqueue_style と 同じ hookを利用するのがポイント
wp_add_inline_styleの style が handle になります。
wp_head hookは、さよならかも
wp_add_inline_style does not work with concatenated stylesheets