[ 解決済 ] single.phpについて
[ 解決済 ] single.phpについて
-
投稿者投稿
-
2020年9月23日 10:31 AM #42289
traveller参加者single.phpですが、下記ページで、singular.phpに統合されたということですが、一般的なテーマのように、single.phpを子テーマ側において、そちらを編集して反映させることは出来るでしょうか。
可能だとしましたら、single.phpにあたるファイルというのは、lightnning Pro Ver5では、どこにファイルがあるでしょうか?
例えば、固定ページは、page-lp.phpやpage-lp-builder.phpなどがございますが、いくつかの投稿(single.php)にオリジナルのカスタムフィールドを反映して表示したい場合、投稿画面でテンプレートを選択するようなイメージを持っていまして、どのファイルを編集すると、個別に設定することができるのか?と考えています。
よろしくおねがいします。
2020年9月23日 2:22 PM #42297singular.php を複製したファイルを子テーマ内に single.php として置けば良いですが、
ほとんどの場合は本文エリア周辺だけのカスタマイズで済むと思いますのでtemplate-parts/post/content.php を複製して
template-parts/post/content-★投稿タイプ名★.php
の名前で保存してカスタマイズすれば良いのではないかと思います。そのあたり先月の勉強会で少し解説していますので下記および添付参照ください。
【追記】
資料は slack の #_ベクトルからのお知らせ チャンネルより .md のファイルがダウンロードできます。- この返信は4年、 2ヶ月前に石川@Vektor,Inc.が編集しました。
Attachments:
You must be logged in to view attached files.2020年9月23日 3:44 PM #42309
traveller参加者ご返信感謝致します。
> template-parts/post/content.php を複製して
> template-parts/post/content-★投稿タイプ名★.php上記は、親テーマ内のtemplate-parts以下のファイルを、子テーマ内に、そのまま設置し、子テーマ内で編集するということでよろしいでしょうか。
WORDPRESSの親テーマに設置したファイルは、バージョンアップの際に上書きされるので子テーマを使用する・・、と何回か受講したWORDPRESSの勉強会で習ったので、その仕様が、古いようでしたら、私の知識不足ですみません。よろしくおねがいします。
2020年9月23日 8:45 PM #42316上記は、親テーマ内のtemplate-parts以下のファイルを、子テーマ内に、そのまま設置し、子テーマ内で編集するということでよろしいでしょうか。
はい、それで結構です。
ただし、本文の下にカスタムフィールドの値を表示したいという事だけ&PHPの基礎的な事はわかるという場合は
上記動画の24分あたりで、アクションフックによる追加の方法を解説していますので参考にしてください。2020年9月23日 11:24 PM #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系は、あまりにも敷居が高いです・・。
2020年9月23日 11:30 PM #42321singluar.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に直接貼り付けるなどして、そこから改変すれば以前と同様です。
2020年9月23日 11:40 PM #42322ただ、そもそも論で投稿テンプレートで改変したい部分がカスタムフィールドの出し分けだけなら
そのカスタムフィールドを出力するブロックをBlock Labなどのプラグインで作って、
必要に応じてそのブロックを配置してもらうなどの手法をとれば、テンプレートファイルのカスタマイズは不要なので
バージョンアップで影響を受ける可能性は減らせます。2020年9月24日 9:41 AM #42333
traveller参加者Block Lab の情報ありがとうございます。
希望としては、#42321のようにsingle.phpファイルとして扱えるということで安心しました。
私のようなレガシーな考えは、これからのwordpressの進化と逆行してだめなのかもしれませんが、まだ、私のレベルでは、single.phpを子テーマ内で直接いじれる方がよいので良かったです。
可能であれば、single-legacy.phpみたいな感じで親テーマに残してもらい、子テーマ側にコピーすることによって、single.phpファイルとして利用できるようになるとありがたいです。レベルの低いご返信になりましてすみません。
ご対応感謝致します。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。