[ 解決済 ] katawara カスタム投稿タイプ一覧と詳細ページのカスタム
[ 解決済 ] katawara カスタム投稿タイプ一覧と詳細ページのカスタム
- このトピックには6件の返信、2人の参加者があり、最後に石川@Vektor,Inc.により3年、 4ヶ月前に更新されました。 
- 
		投稿者投稿
- 
		
			
				
2022年6月11日 6:26 PM #65887
 webfactoryjp参加者■ WordPress のバージョン 
 6.0■ テーマ・プラグインは全て最新版で確認してください。 
 確認しました。■ テーマの種類 
 Katawara■ テーマのバージョン 
 バージョン: 1.16.0■ 関連しそうなプラグインを一つづつ停止して症状が改善するか確認してください。 
 確認しました。■ 期待する動作 
 カスタム投稿タイプの一覧とクリック偏移後に詳細ページを表示させたい。
 いずれもフックを使用したい■ 自分で試した事 
 katawaraテーマにおいて
 子テーマを作り
 子テーマのfanction.phpに下記のコードを記述function switch_pages( $html ) { //echo get_post_type(); global $term; echo $term; switch ( get_post_type() ) { case 'カスタム投稿タイプ名hoge': $html = include get_stylesheet_directory() . '一覧テンプレートhoge.php'; break; case 'krc_ranking': $html = include get_stylesheet_directory() . 'ランキング一覧テンプレートhogeranking.php'; break; default: break; } return $html; } add_filter( 'is_katawara_extend_loop', 'switch_pages' );一覧テンプレートhoge.phpを呼び出して、 
 フックでカスタム投稿タイプhogeのアーカイブ「hoge一覧ページ」を表示することはできましたが、カスタム投稿タイプhogeの「hoge詳細ページ」を表示することができません。 lightningproだと下記のように記述があり、 
 https://www.vektor-inc.co.jp/post/wp-customize-file/例えば本文欄まわりであれば、_g3/template-parts/entry.php を読み込んでいますが、これを特定の投稿タイプだけ変更したい場合は子テーマに同じ階層で複製して、_g3/template-parts/entry-投稿タイプ名.php としてカスタマイズすれば効きます。 特定の固定ページだけの場合は _g3/template-parts/entry-スラッグ名.php で効きます。 
 ■ 症状が発生するブラウザ
 chrome■ 実際の症状 
 lightningproと同じように同じ階層にentry-hoge.phpを置いてみましたが、うまくゆきません。2022年6月11日 6:50 PM #65889
 webfactoryjp参加者言葉が足らなかったかもしれませんm(__)m 目的は 
 フックを用いて
 テーマの更新などでも対応できるように
 例
 single.phpをコピーsinglehoge.phpなどにしてカスタム投稿の詳細ページを表示するのではなく
 テーマのテンプレートにフックでカスタム投稿タイプの結果を表示させたいと思います。lightningproではできたのですが、 
 katawaraではどうしていいのか悩んでいます。
 お知恵をお貸し願えれば幸いですm(__)m2022年6月12日 11:31 PM #65915
 石川@Vektor,Inc.キーマスター特に何も改造しなくても サイトURL/カスタム投稿タイプ名のスラッグ で表示されませんか? Not Found になる場合は 設定 > パーマリンク設定 を一度保存してください。 2022年6月14日 8:48 AM #65961
 webfactoryjp参加者石川様、ご回答・アドバイスありがとうございます。 テーマ「Katawara」は固定ページも個別投稿も singular.php が出力される構造かと思いますが、 
 子テーマに single-カスタム投稿名.phpで表示することはできますが、
 それでは
 親テーマのsinguler.phpのバージョンアップに対応するのに
 親テーマの変更箇所を1行ずつ確認して、
 子テーマに設置したsingle-カスタム投稿名.phpを変更する必要があります。singular.phpの修正が行われたら、子テーマでテンプレートとして使用しているsingle-カスタム投稿名.php(singular.php)も親テーマの変更に準ずることができるようにしたいと考えています。 難しいでしょうか。 2022年6月14日 10:41 AM #65969
 石川@Vektor,Inc.キーマスター具体的のどの場所に何をしたいのかによって、書くコードが変わるので回答は難しいのですが、 
 単純に要素の追加なら以下を参考に親ファイル内の
 do_action() の記述のあるところにアクションフックで挿入すれば良いのではないかなと思います。2022年6月14日 4:01 PM #65985
 webfactoryjp参加者function entry_body() { if ( get_post_type() == 'カスタム投稿名' ) { get_template_part( 'カスタム投稿名のテンプレートファイル.php', get_post_type() ); } } add_action( 'katawara_entry_body_before', 'entry_body' );上記のアクションフックで 
 katawara_entry_body_before
 の場所に
 カスタム投稿名のテンプレートファイルを呼び込んで表示させることができました。ありがとうございました。 2022年6月14日 9:56 PM #65994
 石川@Vektor,Inc.キーマスター無事できたようでよかったです! 
 今後ともよろしくお願いいたします。
- 
		投稿者投稿
- このトピックに返信するにはログインが必要です。

