[ 解決済 ] katawara カスタム投稿タイプ一覧と詳細ページのカスタム

VWSとは フォーラム Katawara [ 解決済 ] katawara カスタム投稿タイプ一覧と詳細ページのカスタム

[ 解決済 ] katawara カスタム投稿タイプ一覧と詳細ページのカスタム

  • このトピックには6件の返信、2人の参加者があり、最後に石川@Vektor,Inc.により2年前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #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を置いてみましたが、うまくゆきません。

    #65889

    webfactoryjp
    参加者

    言葉が足らなかったかもしれませんm(__)m

    目的は
    フックを用いて
    テーマの更新などでも対応できるように

    single.phpをコピーsinglehoge.phpなどにしてカスタム投稿の詳細ページを表示するのではなく
    テーマのテンプレートにフックでカスタム投稿タイプの結果を表示させたいと思います。

    lightningproではできたのですが、
    katawaraではどうしていいのか悩んでいます。
    お知恵をお貸し願えれば幸いですm(__)m

    #65915

    特に何も改造しなくても

    サイトURL/カスタム投稿タイプ名のスラッグ

    で表示されませんか?

    Not Found になる場合は 設定 > パーマリンク設定 を一度保存してください。

    #65961

    webfactoryjp
    参加者

    石川様、ご回答・アドバイスありがとうございます。

    テーマ「Katawara」は固定ページも個別投稿も singular.php が出力される構造かと思いますが、
    子テーマに single-カスタム投稿名.phpで表示することはできますが、
    それでは
    親テーマのsinguler.phpのバージョンアップに対応するのに
    親テーマの変更箇所を1行ずつ確認して、
    子テーマに設置したsingle-カスタム投稿名.phpを変更する必要があります。

    singular.phpの修正が行われたら、子テーマでテンプレートとして使用しているsingle-カスタム投稿名.php(singular.php)も親テーマの変更に準ずることができるようにしたいと考えています。

    難しいでしょうか。

    #65969

    具体的のどの場所に何をしたいのかによって、書くコードが変わるので回答は難しいのですが、
    単純に要素の追加なら以下を参考に親ファイル内の
    do_action() の記述のあるところにアクションフックで挿入すれば良いのではないかなと思います。

    できる!WordPressカスタマイズ #04 アクションフックを使ったカスタマイズに挑戦!

    #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
    の場所に
    カスタム投稿名のテンプレートファイルを呼び込んで表示させることができました。

    ありがとうございました。

    #65994

    無事できたようでよかったです!
    今後ともよろしくお願いいたします。

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