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