サポート » テーマ » Twenty Sixteen のアーカイブを検索結果画面と同じような表示にしたい

  • 解決済 emitokyojp

    (@emitokyojp)


    Twenty Sixteenのテーマのアーカイブに記事毎の本文が全て掲載されてしまうため、
    検索結果の時と同じように、記事毎の本文が途中までで続きを読むという表示にさせたいです。

    comments.phpのget_template_part( ‘template-parts/content’, get_post_format() );を、
    get_template_part( ‘template-parts/content’, ‘search’ );に書き換えてみたんですが、
    そうすると記事毎の本文が出なくなってしまいました。

    どういったことを行えば、検索結果と同じように表示されるのでしょうか?
    識者の方教えてください。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター mypacecreator

    (@mypacecreator)

    【対応1】
    テーマファイルを編集するのではなく、記事作成時に一手間かける方法ですが、以下のページの方法でご希望の表示にならないでしょうか?
     ↓
    続きを読む(Moreタグ)の設定
    https://www.adminweb.jp/wordpress/editor/index5.html

    • この返信は1 ヶ月、 2 週間前に  mypacecreator さんが編集しました。
    • この返信は1 ヶ月、 2 週間前に  mypacecreator さんが編集しました。
    モデレーター mypacecreator

    (@mypacecreator)

    【対応2】
    対応1の方がオススメではありますが、毎回moreタグを入れるのが面倒だからテーマファイルを書き換えたい!という場合、

    comments.phpのget_template_part( ‘template-parts/content’, get_post_format() );を、
    get_template_part( ‘template-parts/content’, ‘search’ );に書き換え

    というのは編集箇所が間違っています。
    Twenty Sixteenの場合は<?php twentysixteen_excerpt(); ?>というテーマ独自関数で、全文を出すか抜粋を出すかが内部的に分岐されておりまして、template-parts/content-search.phpを単純に読み込んでもデータを読み出すことはできません。

    手っ取り早く対応するのであれば、template-parts/content.php の25行目あたり

    /* translators: %s: Name of current post */
    the_content( sprintf(
    	__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'twentysixteen' ),
    	get_the_title()
    ) );

    この部分をの4行の処理を削除するかコメントアウトしていただき、

    /* translators: %s: Name of current post */
    /* the_content( sprintf(
    	__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'twentysixteen' ),
    	get_the_title()
    ) ); */
    the_excerpt();

    という感じで the_excerpt(); に変えてやれば、一覧ページでは常に本文が抜粋されて表示されます。

    ##
    ただしこの方法だとテーマをアップデートしたときに変更が上書きされて元に戻ってしまうので、「子テーマ」の作成をおすすめします。
    ある程度の知識が必要ではありますが、もし必要性を感じたらチェックしてみてください。

    子テーマ – WordPress Codex 日本語版
    https://wpdocs.osdn.jp/%E5%AD%90%E3%83%86%E3%83%BC%E3%83%9E

    WordPress公式テーマ『Twenty Seventeen』の子テーマづくりから、子テーマの作り方を学ぶ
    https://vseomedia.com/2017/03/wptheme-child-twentyseventeen/

    • この返信は1 ヶ月、 2 週間前に  mypacecreator さんが編集しました。
    • この返信は1 ヶ月、 2 週間前に  mypacecreator さんが編集しました。

    丁寧に記載して頂きまして、ありがとうございました。
    【対応2】を取り入れさせていただきました。

    余談ですが…
    テーマ独自関数が使われているという事ですが、どのテーマもみんなそうなんでしょうか?
    wp初心者、php勉強し始めたばかりなので、テーマ独自関数よりはwpの元々のタグを使ったテーマがあるとわかりやすいのかなと思いました。

    モデレーター mypacecreator

    (@mypacecreator)

    テーマ独自関数が使われているという事ですが、どのテーマもみんなそうなんでしょうか?

    これはテーマによるので一概には言えないですね。。。
    コードを書かずに管理画面だけですべてのカスタマイズを完結させたいユーザーさんも多いので、そういった層を意識したテーマは独自関数も多くなっている傾向があるかな?と思います。

    公式ディレクトリに登録されるテーマは審査もあってそれなりのクオリティが求められるので、コーディング初心者にはかえってわかりにくい場合も確かにありますね。コメントなども英語じゃないとだめですし。

    で、公式ディレクトリに最近こんなテーマが登録されているのを見つけました。
    https://wordpress.org/themes/base-for-original/

    初期ではデザインがほぼ適用されていない、自分でデザインをあてていくタイプのシンプルなテーマです。
    screenshotを見る限り作者は日本人の方っぽいので、日本でありがちなコーポレートサイトをWordPressで作りたい場合、参考になりそうです。
    上級者向けの関数も最小限なので、学習用にはちょうどよさそうなかんじでした。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。