VWSとは フォーラム Lightning [ 解決済 ] single.phpについて

[ 解決済 ] single.phpについて

  • このトピックには7件の返信、2人の参加者があり、最後にtravellerにより1ヶ月前に更新されました。
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #42289

    traveller
    参加者

    single.phpですが、下記ページで、singular.phpに統合されたということですが、一般的なテーマのように、single.phpを子テーマ側において、そちらを編集して反映させることは出来るでしょうか。

    【重要】 Lightning 10系 / Pro 5系の変更点について

    可能だとしましたら、single.phpにあたるファイルというのは、lightnning Pro Ver5では、どこにファイルがあるでしょうか?

    例えば、固定ページは、page-lp.phpやpage-lp-builder.phpなどがございますが、いくつかの投稿(single.php)にオリジナルのカスタムフィールドを反映して表示したい場合、投稿画面でテンプレートを選択するようなイメージを持っていまして、どのファイルを編集すると、個別に設定することができるのか?と考えています。

    よろしくおねがいします。

    #42297

    石川@Vektor,Inc.
    キーマスター

    singular.php を複製したファイルを子テーマ内に single.php として置けば良いですが、
    ほとんどの場合は本文エリア周辺だけのカスタマイズで済むと思いますので

    template-parts/post/content.php を複製して
    template-parts/post/content-★投稿タイプ名★.php
    の名前で保存してカスタマイズすれば良いのではないかと思います。

    そのあたり先月の勉強会で少し解説していますので下記および添付参照ください。

    【追記】
    資料は slack の #_ベクトルからのお知らせ チャンネルより .md のファイルがダウンロードできます。

    Attachments:
    You must be logged in to view attached files.
    #42309

    traveller
    参加者

    ご返信感謝致します。

    > template-parts/post/content.php を複製して
    > template-parts/post/content-★投稿タイプ名★.php

    上記は、親テーマ内のtemplate-parts以下のファイルを、子テーマ内に、そのまま設置し、子テーマ内で編集するということでよろしいでしょうか。
    WORDPRESSの親テーマに設置したファイルは、バージョンアップの際に上書きされるので子テーマを使用する・・、と何回か受講したWORDPRESSの勉強会で習ったので、その仕様が、古いようでしたら、私の知識不足ですみません。

    よろしくおねがいします。

    #42316

    石川@Vektor,Inc.
    キーマスター

    上記は、親テーマ内のtemplate-parts以下のファイルを、子テーマ内に、そのまま設置し、子テーマ内で編集するということでよろしいでしょうか。

    はい、それで結構です。
    ただし、本文の下にカスタムフィールドの値を表示したいという事だけ&PHPの基礎的な事はわかるという場合は
    上記動画の24分あたりで、アクションフックによる追加の方法を解説していますので参考にしてください。

    #42320

    traveller
    参加者

    ありがとうございます。

    何度も動画の方を見直しましたが、フックとか高度すぎて、さっぱりでした・・。

    例えば、今まで、Lightning Proで行ってきたのが、固定ページのように、投稿画面でテンプレートが選択できるように、single-test.phpと複製して、下記のような記述をします。

    <?php
    /*
    Template Name: sample
    Template Post Type: post
    */
    ?>

    投稿画面で、sampleというテンプレートを選択できるようになるので、そのテンプレートを選択した場合のみ、single-test.phpの情報が反映されるようにしたいのです。

    ただ、template-parts/post/content-test.php としても、実際の投稿画面では、このテンプレートを選択できないようなので、そもそも、やり方が違うのか・・。

    今後のLightning Proは、ある程度、フックとかのプログラミング知識がある人じゃないと使えなくなるんでしょうか?
    9系までのファイル構造の方が、初心者レベルの私としては、それでもカスタマイズしやすかったのですが、singular.phpをsingle.phpに変更し利用してようとしても、content-test.php内に <?php the_content(); ?> があると、その下に、何かを表示させたいという場合、singular.phpをsingle.phpにしたファイルでは、実現できません。

    私に認識不足で、上記内容としておかしな部分もあるかと思いますが、私の今の認識では、10系は、あまりにも敷居が高いです・・。

    #42321

    石川@Vektor,Inc.
    キーマスター

    singluar.php を single-test.php として使えば今までとかわりません。
    single-test.php の中の

    <?php get_template_part( 'template-parts/post/content', get_post_type() ); ?>

    の部分を削除して、template-parts/post/content の中のコードをsingle-test.phpに直接貼り付けるなどして、そこから改変すれば以前と同様です。

    #42322

    石川@Vektor,Inc.
    キーマスター

    ただ、そもそも論で投稿テンプレートで改変したい部分がカスタムフィールドの出し分けだけなら
    そのカスタムフィールドを出力するブロックをBlock Labなどのプラグインで作って、
    必要に応じてそのブロックを配置してもらうなどの手法をとれば、テンプレートファイルのカスタマイズは不要なので
    バージョンアップで影響を受ける可能性は減らせます。

    Gutenbergでオリジナルなブロックを作成するには「Block Lab」が簡単すぎる件

    #42333

    traveller
    参加者

    Block Lab の情報ありがとうございます。

    希望としては、#42321のようにsingle.phpファイルとして扱えるということで安心しました。
    私のようなレガシーな考えは、これからのwordpressの進化と逆行してだめなのかもしれませんが、まだ、私のレベルでは、single.phpを子テーマ内で直接いじれる方がよいので良かったです。
    可能であれば、single-legacy.phpみたいな感じで親テーマに残してもらい、子テーマ側にコピーすることによって、single.phpファイルとして利用できるようになるとありがたいです。

    レベルの低いご返信になりましてすみません。

    ご対応感謝致します。

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