Simplicityの特徴 › フォーラム › Simplicity2に関する話題何でも › トップページに置いた固定ページの記事が作成した通りに反映されない
- このトピックには7件の返信、1人の参加者があり、最後に
hidekichiにより9年、 11ヶ月前に更新されました。
-
投稿者投稿
-
-
2016年10月27日 4:18 AM #46744
鈴木
ゲストお世話になります。
以前の記事でもご相談させてもらいました。
⇒トップページに固定ページと投稿ページを混在させて表示したい1つ問題がありまして、ご相談させもらいます。
任意の固定ページをトップページに表示はできました。しかし、その固定ページ内でH2タグを使ったり表を挿入したりしても、表の枠が表示されなかったりH2の外枠の色がつかず「作成したとおりにトップページでの表示」が反映されません。プレビュー画面では、しっかり表の枠やH2の外枠が色がついて表示されるのですが・・・
でもその固定ページをトップページではなく、1つの固定ページで表示するとしっかり表の枠やH2の色表示が反映されて表示されます。
まとめると、「固定ページではしっかり作成したとおり反映表示されますが、その固定ページをトップページに置くと作成したとおりに表示されない」ということです。
解決策があれば教えていただきたいです。
よろしくお願いいたします。 -
2016年10月27日 4:23 AM #46747
Hidekichi
ゲストそのサイトを見てみないと正しくは回答できませんが、おそらくはセレクタの問題かと思います。
本来の表示からすれば、イレギュラーな事をされているため、cssが対応できていないのではなかろうかと思います。
なので、現在のhtmlがどうなっているかを確認して、そのhtml構造にあったcssを新たに子テーマstyle.cssに追記していけば正しく表示されるのではなかろうかと思います。 -
2016年10月27日 7:50 AM #46748
鈴木
ゲストHidekichi様
いつも迅速で丁寧な対応をいただきありがとうございます。
>現在のhtmlがどうなっているかを確認して
>そのhtml構造にあったcssを新たに子テーマstyle.cssに追記具体的には、親テーマのCSSを確認して対策すればいいのですかね。なんとか自分でできることは調べてやりたいと思っていますが、分からないことが多いです。
親テーマは全く追記などの操作をしていないのでsinmplicityのデフォルトのままなのですが何をすればいいのか抽象的でもいいので教えて頂けますでしょうか?
ご迷惑をおかけして申し訳ありません。
-
2016年10月27日 8:15 AM #46751
technote
ゲスト例えば固定ページの本文に関しては
<article class="article"> <div id="the-content" class="entry-content"> </div> </article>で囲めばデザインが適用されると思いますが、固定ページと全く同じように表示させるにはthe_content関数と同様のことをする必要があります。
簡単にやるには以下のようにします。<?php $page_id = 14; //xxxに 固定ページIDを入力 $GLOBALS['post'] = get_post($page_id); setup_postdata($page_id); ?> <article class="article"> <div id="the-content" class="entry-content"> <?php the_content();?> </div> </article>タイトルや投稿日等も必要であればsimplicity2/page.phpを参考にすればよいと思います。
<article class="article"> <header> <h1 class="entry-title"><?php echo get_the_title(); ?></h1> <p class="post-meta"> <?php get_template_part('datetime') //投稿日と更新日?> <?php get_template_part('edit-link') //編集リンク?> <?php wlw_edit_post_link('WLWで編集', '<span class="wlw-edit"><span class="fa fa-pencil-square-o fa-fw"></span>', '</span>'); ?> </p> </header> <div id="the-content" class="entry-content"> <?php the_content();?> </div> </article> -
2016年10月27日 9:53 AM #46753
hidekichi
ゲスト> H2の外枠の色がつかず
例えばh2は
h2 { なんちゃら } .article h2 { なんちゃら }とcssで設定されているわけです。h2だけのものはどこに書いてあってもそのプロパティが反映され、.artcle h2とあると.articleの中のh2は、h2だけのプロパティを継承して、.article h2の設定でそれを上書きしていることになります。
h2 { font-size: 20px; } .article h2 { font-size: 24px; }もしこうあれば、h2全般的には20pxのフォントなわけですが、.article h2はpxになると言うことですよね?
で、これらを子テーマstyle.cssで更にカスタマイズして、背景色をつけたりしているわけです。<h2 class="header2"></h2>このようにclassがあれば、.header2に該当するものはどこになっても.header2の設定が適用されますが、<article> <h2></h2> </article> <div class="article"> <h2></h2> </div>このようなhtmlの構造であれば、前者はh2全般的な設定、前に書いたスタイルなら20pxのfont-sizeで、後者は.article h2ですから24pxのfont-sizeになるということです。
さてここで、technoteさんが提示してくれたようにスクリプトを修正したとすると、記事部分は
<?php the_content();?>に出力されることになります。その親となる要素には.articleと#the-contentがあることになります。
画面内のhtmlの中に、.articleや#the-contentが1つしか無い場合は本来のsimplicityと同じですので、今までのcssが正しく反映されると思います。これが例えば最初だけ全文表示とか、全文表示のような場合は#the-contentが複数ある場合などがあり、全体的な同じなら問題ないですが、最初だけ全文表示の時にその中身のh2だけというような事をする場合は、#the-content:first-of-type{…}などを利用する必要がある場合もあります。ここらから、目的の要素がどこにあるかを判断するために、どの親クラスやIDなどから辿ればよいか、どのようにセレクタを書けばよいかはhtmlの構造に依存します。
-
2016年10月27日 12:49 PM #46755
鈴木
ゲストtechnote様、Hidekichi様
とてもご丁寧にありがとうございます。
教えて頂いたとおりに行ったら反映されました。
これから勉強していきます。もう1つだけ伺っていいでしょうか?
>タイトルや投稿日等も必要であればsimplicity2/page.phpを参考にすればよいと思います。
固定ページのタイトルだけ反映させたいのですが、何度やってもうまくいきません。
投稿日時はいらないのですが、タイトルだけ反映させたいです。申し訳ありません。
-
2016年10月27日 1:18 PM #46756
みき
ゲストそういえばそこまでやってなかった・・・
ごめんなさい -
2016年10月27日 1:55 PM #46758
hidekichi
ゲスト#46753
☓ .article h2はpxになると言うことですよね?
○ .article h2は24pxになると言うことですよね?> 固定ページのタイトルだけ反映させたいのですが、何度やってもうまくいきません
#46751の真ん中と下のスクリプトを見比べて、HTMLの構造をそのままに必要な部分を追加すればよいということかと。
<h1 class="entry-title"><?php echo get_the_title(); ?></h1>で拾えないのであれば、既に固定ページのIDはわかっているわけですから、
<h1 class="entry-title"><?php echo get_the_title($page_id); ?></h1>とか
<?php $page_id = 14; //xxxに 固定ページIDを入力 $pageTitle = get_the_title($page_id); $GLOBALS['post'] = get_post($page_id); setup_postdata($page_id); ?> <article class="article"> <header> <h1 class="entry-title"><?php echo $pageTitle; ?></h1> //閉じタグ面倒くさいので省略みたいにしても良いんじゃないですかね。「なんちゃら()」というのはたいてい関数です。なんちゃらと言う関数にカッコ内の引数(ひきすう)を渡して、実行結果を$なんちゃらの変数に入れたりします。
これら関数は、Simplicityの場合わいひらさんが独自に実装してあるものもありますがその多くはwordpressの関数なので、codexであったりでその内容を調べることができます。これらを調べることで新たな発見や、使い方のアイデアを見つけることもできますので、わからないことはどしどしぐぐってみてください。
wordpressの関数で見つからない場合はphpの関数です。それでも見つからない場合は独自に実装されたものかも知れないので、親テーマfunctions.phpを検索してみるとよいかと思います。
-
-
投稿者投稿
- このトピックに返信するにはログインが必要です。