Amazon「現金でギフト券チャージ、初回購入で1,000ポイント」キャンペーン復活!

賢威7.1トップページの投稿記事抜粋に改行を反映させる

緑と小道

注意
※現在はこのブログでは賢威7.1は使用していませんが、使用していた頃に行なったカスタマイズです

 

 

先日テーマを賢威7.1クール版に変更しました。

以前まで使用していたテーマと違っている部分はいくつもありますが、まず気になったのが、トップページの個別記事一覧の内容に改行がないところです。

以前のテーマでは書いたままがトップページに出て、「続きを読む」タグで好きなところで折り畳んでいました。

賢威はそうではなく、個別記事の最初の部分から決まった文字数を抜粋してくるというもの。

だから改行などは反映されないのです。

これを変更するためには、「改行を反映させる」ではなく「全文表示にして続きを読むタグで折り畳む」方法を探さなくてはならなかったのですが、それがわかっていなかったため遠回りをしてしまいました。

※子テーマを使用した場合のカスタマイズです。

トップページに改行を反映させる考え方

試した方法と考え方を順番に記載しておきます。

やり方だけ知りたい場合は下の変更方法まで飛んでください。

※同じ賢威でも、バーションや版によってコードや変更場所は違います

 

カスタマイズしていない状態ではトップページは下のようになっています。

(「続きを読む」タグを入れているので、抜粋部分は通常より少ないです)

トップページ抜粋

個別ページを開いた場合

個別記事

抜粋ではなく全文表示にする

単純に抜粋を全文表示にする設定だけをする場合、「cont.php」の下記の部分を変更します。

コード
<p><?php echo strip_tags(get_the_excerpt()); ?></p>

  ⇓

コード
<?php the_content(); ?>

この変更の場合は、「続きを読む」タグを付けた場合に出てくる「(さらに…)」の文字と、テンプレート側で設定してある「続きを読む」の文字が両方出てきてしまいます。

 全文表示 重複

全文表示にして、「続きを読む」を消す

「抜粋」を「全文」に変えて、テンプレート側で設定してある「続きを読む」表示も消してしまう方法。

「cont.php」の下記の部分を変更します。

コード
<p><?php echo strip_tags(get_the_excerpt()); ?></p>
<p class="link-next"><a href="<?php the_permalink() ?>"><?php _e('see more', 'keni'); ?></a></p>

   ⇓

コード
<?php the_content(); ?>

改行を反映

全文表示にはなりましたが、とても質素な感じです。

賢威7.1クール版でトップページに改行を反映する変更方法

上記から、自分の思い通りの表示にするためには、テンプレート側で設定してある「続きを読む」表示を活かして、「(さらに…)」を消す必要があります。

トップページの記事一覧に改行を反映させる=全文表示してテンプレート側の「続きを読む」表示を活かす

変更するのは「cont.php」です。

この中から下記のような記述を見付けます。

おそらく32~34行目くらい。

コード
<p><?php echo strip_tags(get_the_excerpt()); ?></p>
<p class="link-next"><a href="<?php the_permalink() ?>"><?php _e('see more', 'keni'); ?></a></p>

これを↓のように変更します。

コード
<p><?php the_content('',false,''); ?></p>
<?php if (mb_ereg("<!--more-->",$post->post_content)) : ?>
<p class="link-next"><a href="<?php the_permalink() ?>"><?php _e('see more', 'keni'); ?></a></p>
<?php endif ?>

下のように改行が反映されたトップページとなりました。

 

改行を反映

※子テーマでカスタマイズした場合は、気に入らなかったら「cont.php」を削除すれば親テーマのものが反映されるので元に戻ります。

まとめ

トップページである程度の内容を表示させたい場合には自分の好きな位置で折り畳めるのは便利です。

けれど、文字数の決まった抜粋の方がレイアウトとしてはきれいなのかもしれません。

ちなみに賢威サポートフォーラムの回答をする人は、超初心者の「わかってなさ」をわかってないような印象を受けました。

超初心者は、ちょっとコードの記述が違うだけでわからなくなったり、不安になったりするのです。

その辺りの説明がとてもそっけない感じです。

同じような質問が何回も来て大変なのだろうとは思いますが・・・