if(条件①) | 条件を記述する場合「if」 |
else | それ以外 |
elseif(条件②) | 複数の条件を記述する場合は「elseif」 |
if( 条件①) {②を実行
}
elseif ( 条件③ ) {④を実行
}
else {⑤を実行
}
条件 | 実行 |
---|---|
投稿IDが「21363」の場合 | テーマ「hygiene」で表示する |
投稿IDが「21328」の場合 | テーマ「m-sora」で表示する |
//投稿ID別にテーマを変更する例
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if( is_single(21363) ) {
$skin_file = get_template_directory_uri().'/skins/hygiene/style.css';
}
elseif(is_single(21328)) {
$skin_file = get_template_directory_uri().'/skins/m-sora/style.css';
}
return $skin_file;
}
複数の条件を指定する場合は「 , 」で入力します。
条件の書き方 | 条件 |
---|---|
is_category( ’10’ ) | カテゴリーのID10のアーカイブのページ |
is_category( ‘soccer’ ) | カテゴリーのスラッグ「soccer」のアーカイブのページ |
is_category( array( 10,20,30 ) ) | カテゴリーのID10、20、30のアーカイブのページ |
in_category( ’10’ ) | カテゴリーのID10に属する投稿全て |
in_category( array( soccer ) ) | カテゴリーのスラッグ「soccer」に属する投稿全て |
in_category( array( 10,20,30 ) ) | カテゴリーのID10、20、30に属する投稿全て |
条件の書き方 | 条件 |
---|---|
is_tag( ‘soccer’ ) | タグのスラッグ「soccer」のアーカイブのページ |
has_tag( ‘soccer’ ) | タグのスラッグ「soccer」に属する投稿全て |
has_tag( array(‘soccer’, ‘Japan’) ) | タグのスラッグ「soccer」と「Japan」に属する投稿全て |
条件の書き方 | 条件 |
---|---|
is_front_page() | フロントページ・トップページ |
is_page() | 固定ページ |
is_page( ‘5’ ) | ID5のページ |
is_page( ‘about’ ) | 固定ページのスラッグ「about」 |
function php (子テーマ)に記載します。function php に記載する前に保存することをオススメします。
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if( is_single(投稿ID) ) {
$skin_file = get_template_directory_uri().'/ スキンのURL ';
}
if( in_category( array(カテゴリーのスラッグ) ) ) {
$skin_file = get_template_directory_uri().'/ スキンのURL ';
}
if( has_tag( 'タグのスラッグ' ) ) {
$skin_file = get_template_directory_uri().'/ スキンのURL ';
}
if ( is_front_page() ) {
$skin_file = get_template_directory_uri().'/ スキンのURL ';
}
return $skin_file;
}
ある投稿記事のみテーマを変更する | is_single(投稿ID) |
あるカテゴリーだけテーマを変更する | in_category( array( カテゴリースラッグ) ) |
あるタグだけテーマを変更する | has_tag(“タグのスラッグ”)) |
フロントページだけテーマを変更する | is_front_page() |
get_skin_url関数
get_skin_url関数は、Cocoon独自のスキン切り換え関数です。
https://wp-cocoon.com/skin-switch-demo/
参考→https://gist.github.com/yhira/559bd516406377cdd105d0d93ea86deb
変更するテーマのURLを調べます。uri().’/スキンのURL’ この部分です。実際のスキンのURLは「/skins/スキンの名前/style.css」になります。
FTPを利用します。マスターテーマの中のskinsの中に各スキンのstyle.css(スタイルシート)があります。
「bizarre-foods-blackburger」の場合、スタイルシートのURLは
//テーマを変更する
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if( is_single(21363) ) {
$skin_file = get_template_directory_uri().'/skins/hygiene/style.css';
}
if( in_category( array( sports) ) ) {
$skin_file = get_template_directory_uri().'/skins/lightning-skin/style.css';
}
if( has_tag( 'soccer' ) ) {
$skin_file = get_template_directory_uri().'/skins/m-sora/style.css';
}
if ( is_front_page() ) {
$skin_file = get_template_directory_uri().'/skins/m-tomato/style.css';
}
return $skin_file;
}
次のように変更しています。
条件 | 表示するスキンのURL |
---|---|
投稿ID「21363」 | /skins /hygiene/style.css |
カテゴリー「sports」 | /skins/lightning-skin/style.css |
タグ「soccer」 | /skins/m-sora/style.css |
フロントページ | /skins/m-tomato/style.css |
URL | skins /スキンのフォルダの名前/style.css |
条件の書き方 | 条件 |
---|---|
in_category( array( sports) ) | カテゴリー「sports」の投稿すべて |
is_category( ‘sports’ ) | カテゴリー「sports」のアーカイブのページ |
//カテゴリーsportsのアーカイブのテーマを変更する
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if( is_category( 'sports' ) ) {
$skin_file = get_template_directory_uri().'/skins/skin-dark-kamonoha/style.css';
}
return $skin_file;
}
スポーツ(sports)のアーカイブのページ | 黒いテーマに変更(skin-dark-kamonoha) |
スポーツの投稿記事 | 白いテーマ(本来のテーマ)のまま |
is_category( ‘sports’ )はアーカイブのみを変更します。
//カテゴリーsportsに属する投稿のテーマを変更する
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if(in_category( array( sports) ) ) {
$skin_file = get_template_directory_uri().'/skins/skin-dark-kamonoha/style.css';
}
return $skin_file;
}
スポーツ(sports)に属する投稿全て | 黒いテーマに変更(skin-dark-kamonoha) |
左 本来の白テーマ・右 黒テーマ
//投稿ID 21363 のテーマを変更する
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if( is_single(21363) ) {
$skin_file = get_template_directory_uri().'/skins/hygiene/style.css';
}
return $skin_file;
}
投稿ID「21363」の投稿ページ・テーマ「hygiene」
//カテゴリーsportsのテーマを変更する
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if( in_category( array( sports) ) ) {
$skin_file = get_template_directory_uri().'/skins/lightning-skin/style.css';
}
return $skin_file;
}
カテゴリー「sports」の投稿をテーマ「lightning-skin」に変更
//タグsoccerのテーマを変更する
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if( has_tag( 'soccer' ) ) {
$skin_file = get_template_directory_uri().'/skins/m-sora/style.css';
}
return $skin_file;
}
タグ「soccer」の投稿をテーマ「m-sora」に変更
//トップヘージのテーマを変更する
function get_skin_url() {
$skin_file = get_theme_option( OP_SKIN_URL, '' );
if ( is_front_page() ) {
$skin_file = get_template_directory_uri().'/skins/m-tomato/style.css';
}
return $skin_file;
}
トップヘージのテーマを「m-tomato」に変更
投稿IDの確認方法
「Multiple Themes」を利用することで、簡単に2つ以上のテーマを使い分けることができます。
詳しくは下のリンクに記載しています。