Simplicityの特徴 › フォーラム › Simplicityについての質問 › ページ毎のスキン表示がやりたいです。
- このトピックには9件の返信、2人の参加者があり、最後に
chanにより5年、 11ヶ月前に更新されました。
-
投稿者投稿
-
-
chan
ゲスト皆さん、こんにちは。
Simplicityでページごとにスキン表示を操るカスタマイズ方法
こちらの2.5.6の新バージョンのスキンのページ毎設定をやりたいので間違っている箇所があれば教えて下さい。
紹介されているスキンファイルを解凍して、FileZillaで以下のサイトにアップロードしました。/chan-bike.com/public_html/wp-content/themes/simplicity2-child/skins
wp-contentがpublic_htmlの下にしかなかったのですが、これで合っているでしょうか?
次に以下のcssを子テーマのfunctions.phpに追加しました。
function get_skin_file(){ //特定の投稿でスキンを指定する(style.cssのURLを指定) if (is_single('flower-pop')) {//投稿スラッグでも可 return 'https://chan-bike.com/public_html/wp-content/themes/simplicity2-child/skins/flower-pop/style.css'; } elseif (is_single('simple-black')) { return 'https://chan-bike.com/public_html/wp-content/themes/simplicity2/skins/simple-black/style.css'; } elseif (is_single('gingham-check')) { return 'https://chan-bike.com/public_html/wp-content/themes/simplicity2/skins/gingham-clean/style.css'; } elseif (is_single('uc-mod')) { return 'https://chan-bike.com/public_html/wp-content/themes/simplicity-child2-simplicity/skins/uc-mod/style.css'; } elseif (is_single('simple-ultramarine')) { return 'https://chan-bike.com/public_html/wp-content/themes/simplicity-child2-simplicity/skins/simple-ultramarine/style.css'; } elseif (is_single('get_skin_file')) { return 'https://chan-bike.comchan-bike.com/public_html/wp-content/themes/simplicity2/skins/sky-pop/style.css'; } else {//それ以外はスキンを適用しない return ; } }
あとは、各ページにしておいて、カスタマイズ→スキンから選択する。
で、何を選択しても変わらなくなりました。
何処が違うのか、見る所を教えて頂けると幸いです。 -
chan
ゲスト自己レスです。
上の投稿のfunctions.phpを元に戻しました。
カスタマイザーで、スキンを選択すると、それぞれのスキンになります。
全体が変わってくれるのでアップロードはちゃんと出来ていると思って間違いないですよね。投稿番号で自分は設定しようと思います。
スラッグを引数にすると、同一カテゴリーの記事だと、同じスキンを2回使えないと考えて良いでしょうか?Simplicity2バージョン: 2.5.6
WordPress 4.7.5 (Simplicity2 child テーマ)
https://chan-bike.com/
その他に、必要な情報は何かありますか? -
わいひら
キーマスターいろいろ違います。
条件分岐のis_single関数の使い方を検索して調べてみてください。
よくわからない場合は、以下のように記事IDを指定した方が良いかと思います。IDの調べ方は、検索すると出てくると思います。function get_skin_file(){ //特定の投稿でスキンを指定する(style.cssのURLを指定) if (is_single( 100, 777 )) {//投稿IDを指定する return 'https://wp-simplicity.com/wp-content/themes/simplicity2/skins/sky-pop/style.css'; } else {//それ以外はスキンを適用しない return ; } }
また、スキンのURLは、スキンを適用した状態で、ブラウザからソースコードを表示させて、URLをコピーしたものを利用してください。
そういったURLには、ならないかと思います。URLは、ブラウザのアドレスバーに入力すると、CSSファイルが開くアドレスになるかと思います。通常は、同じカテゴリに数種類のスキンが使えないかと思います。
-
chan
ゲストわいひらさん、回答ありがとうございます。
記事毎のスキン表示出来ました!トップページだけ、シックのスキンにしたのですが、それ以外の設定されていない記事もシックにしたいのですが、書き方がわからないです。
最後のelseを false; に変えれば良いのでしょうか?function get_skin_file(){ //特定の投稿でスキンを指定する(style.cssのURLを指定) if (is_home()) { return 'https://chan-bike.com/wp-content/themes/simplicity2/skins/chic/style.css'; } elseif (is_single(' 756 ')) {//投稿スラッグでも可 return 'https://chan-bike.com/wp-content/themes/simplicity2/skins/flower-pop/style.css'; } else {//それ以外はスキンを適用しない return ; } }
どうやっても、出来なかったので、必要部分だけのコピーにしました。
-
わいひら
キーマスタートップページだけ、シックのスキンにしたのですが、それ以外の設定されていない記事もシックにしたいのですが、書き方がわからないです。
申し訳ないですが、この部分が、ちょっとよくわからないです。
もう少し具体的に詳しく説明していただいてよろしいでしょうか。
「それ以外の設定されていない記事」というのはどういったページのことでしょうか。
投稿ページとか、固定ページとか、もしくは全ページのことだとか、ページの種類で説明していただけると助かります。 -
chan
ゲストわいひらさん、お忙しい中、お世話になります。
トップページだけ、スキンはif (is_home()) { を使って、シックにしてます。
上から、数記事はすべてスキンを設定しました。
そこで、スキンを設定してないそれ以外の、全てのページ(投稿・固定)もスキンをシックにしたいのです。
わかりにくい、文章でお手数おかけして申し訳ないです。 -
わいひら
キーマスターとりあえずテーマカスタマイザーでスキンをシックに設定して、以下のように書けばいけるかも。
function get_skin_file(){ //特定の投稿でスキンを指定する(style.cssのURLを指定) if (is_single(' 756 ')) { return 'https://chan-bike.com/wp-content/themes/simplicity2/skins/flower-pop/style.css'; } else { return get_theme_mod( 'skin_file', null ); } }
上記は、特定の投稿ページ以外は、テーマカスタマイザーの設定が適用されるコードの書き方です。
もしくは、特定ページ以外をシックにするように書くとか。
function get_skin_file(){ //特定の投稿でスキンを指定する(style.cssのURLを指定) if (is_single(' 756 ')) { return 'https://chan-bike.com/wp-content/themes/simplicity2/skins/flower-pop/style.css'; } else { return 'https://chan-bike.com/wp-content/themes/simplicity2/skins/chic/style.css'; } }
そこで、スキンを設定してないそれ以外の、全てのページ(投稿・固定)もスキンをシックにしたいのです。
上記条件ならis_home()をあえて設定する必要はないのではないかと。
-
chan
ゲストわいひらさん、お忙しい中、回答ありがとうございます!
両方とも、試してみて、get_theme_mod のcssのほうにしました。
これなら、テーマカスタマイザーで変えられますもんね。
問題解決です!もう一つ質問させて下さい。
スキンの適用の順番なんですが
Simplicityのスキン機能の仕様わいひらさんの記事によると、子テーマにあるスキンが最優先されるとのことなのですが、子テーマのstyle.cssにあるH2やH3の見出しとダブって表示されます。
以下の記事がダブっているサンプルです。
https://chan-bike.com/frankflowr-popは、元々親テーマに入っていたのですが、適応順番を考えて子テーマにコピーして試してみました。
if (is_single('732')) {//投稿スラッグでも可 return 'https://chan-bike.com/wp-content/themes/simplicity2-child/skins/flower-pop/style.css';
スキンの見出しを優先する方法を教えて頂けると助かります。
-
わいひら
キーマスター申し訳ないですが、新しい内容の質問は、トピックを新たに立ててしていただけると助かります。
1つのトピックにつき1つの質問を書いてください(複数質問があるときはトピックを分ける)
その方が、同様の問題に行き当たってユーザーさんが検索で見つけやすいので。
ご協力お願いいたします。 -
chan
ゲストわいひらさん、了解しました。
実は、自分のサイトがスマホ表示になっていて、復旧するのに苦労してました。
画面がまっしろけっけになったり、表示がおかしくなってもなんとか復旧出来るようになったので少しは進歩しているのかもしれないですが、そうならないようにするのが先決ですね^^;
-
-
投稿者投稿