my-snow-monkeyでのテンプレートの追加した際、デフォルトテンプレートが優先されて指定できない。

0
いいねをした人: 居ません
  • このトピックには17件の返信、4人の参加者があり、最後にkjnにより3年、 9ヶ月前に更新されました。
15件の投稿を表示中 - 1 - 15件目 (全18件中)
  • 投稿者
    投稿
  • #64186
    yukyukai
    参加者
    0

    【お使いの Snow Monkey バージョン: 12.1.2】
    【お使いの Snow Monkey Blocks のバージョン 10.0.1】
    【お使いの Snow Monkey Editor のバージョン4.0.0】
    【お使いのブラウザ chrome】
    【当該サイトのURL ローカル環境】

    ### 実現したいこと

    my-snow-monkeyで、テンプレートを追加。

    特定のページだけオリジナルのテンプレートを使用したい。
    my-snow-monkey/override 以下にpage-templatesフォルダとtemplatesフォルダ設置にテンプレファイルを作成。

     

    ### 発生している問題

    固定ページや投稿ページで、テンプレートを指定するが適応されずにデフォルトテンプレートになってしまう。

    ### 試したこと

    オリジナルで作成したテンプレート以外(既存の)に指定することはできる。

    オリジナルのテンプレートをデフォルトに設定すると適応されたのでテンプレとしては動作しているっぽい。

    0
    いいねをした人: 居ません
    #64189
    Kmical Lights
    閲覧者
    234

    テンプレートの読み込みはできていると言うことなので、
    snow_monkey_template_part_root_hierarchy などを使用されてルートを追加されているという認識で大丈夫です?

    その場合、優先度の問題か配列の順序の問題ですかねー。
    第一引数の $hierarchy は若い順から読まれてテンプレートファイルがある場合は、それを使用します。
    なので、テーマのディレクトリにあるデフォルトのファイルを上書きする場合は後に追加するのではなく、若い順にする必要があります。
    0 より優先にして読ませれば上書き対象にできるはずです。
    array_unshift などを使って配列の先頭にルートを追加して試してみてください。

    0
    いいねをした人: 居ません
    #64203
    アバター画像キタジマ タカシ
    参加者
    2421

    yukyukai さん

    my-snow-monkey/override 以下にpage-templatesフォルダとtemplatesフォルダ設置にテンプレファイルを作成。

    こちらでも試してみようと思いますので、設置したテンプレートの名前を教えてください。

    0
    いいねをした人: 居ません
    #64949
    yukyukai
    参加者
    0

    ご返信ありがとうございます。
    以下のようにしています。

    my-snow-monkey.php

    //テンプレートの上書き//////
    add_filter(
    	'snow_monkey_template_part_root_hierarchy',
    	function( $hierarchy ) {
    		$hierarchy[] = untrailingslashit( __DIR__ ) . '/override';
    		return $hierarchy;
    	}
    );

    ///////////////////////

    page-templates/yes-my-page-templates.php

    <?php
    /**
     * Template Name: yes-my-page-templates
     * Template Post Type: post, page
     */
    
    use Framework\Controller\Controller;
    
    Controller::layout( 'yes-my-page-templates' );
    Controller::render( 'content', get_post_type() );

    ///////////////////////

    templates/layout/wrapper/yse-my-page-templates.php

    <?php
    /**
     * Name: yes-my-page-templates
     *
     * @package snow-monkey
     * @author inc2734
     * @license GPL-2.0+
     * @version 11.5.0
     */
    
    use Framework\Helper;
    ?>
    <!DOCTYPE html>
    
    ~
    0
    いいねをした人: 居ません
    #65072
    アバター画像キタジマ タカシ
    参加者
    2421

    確認してみました。動作確認したところ、たしかにデフォルトのテンプレートが使用されてしまいました。バグかな?と思ったのですが、下記のスクショのような感じでコピペでつくったものと自分でつくったものと2つが同階層につくれてしまったので、おそらくハイフンがハイフンじゃないとか、そういう感じで目ではわからない似た文字が混ざっているのではないかなと想像しました。

    ファイル名と Name の部分と、全て打ち直してみると解決するかもしれません。

    0
    いいねをした人: 居ません
    #65478
    yukyukai
    参加者
    0

    ご返答ありがとうございます。

    ファイル名をaaaなど簡単な名称にして試してみましたが、デフォルトのテンプレートが使用されてしまう事象が引き続き起きているいる状況です。

     

    別件で質問ですが

    comments.php などテンプレート以外を変更したい場合は、my-snow-monkeyではなく子テーマで対応する必要がありますか?

    0
    いいねをした人: 居ません
    #65496
    アバター画像キタジマ タカシ
    参加者
    2421

    ### my-snow-monkey.php

    add_filter(
    	'snow_monkey_template_part_root_hierarchy',
    	function( $hierarchy ) {
    		$hierarchy[] = untrailingslashit( __DIR__ ) . '/override';
    		return $hierarchy;
    	}
    );

    ### override/page-templates/aaa.php

    <?php
    /**
     * Template Name: aaa
     * Template Post Type: post, page
     */
    
    use Framework\Controller\Controller;
    
    Controller::layout( 'aaa' );
    Controller::render( 'content', get_post_type() );

    ### override/templates/layout/wrapper/aaa.php

    <html>
    <body>
    aaa
    </body>
    </html>

    というファイルを用意して、固定ページの編集画面でテンプレート「aaa」を選択し保存、画面を表示すると、意図したとおり aaa だけが表示されました。

    こちらで動作するということは恐らくなにか単純な間違いがある気がするので、もう一度ファイル構成のスクリーンショットと、それぞれのファイルの中身について書き込んでもらえないでしょうか?

    別件で質問ですが

    comments.php などテンプレート以外を変更したい場合は、my-snow-monkeyではなく子テーマで対応する必要がありますか?

    comments_template フィルターフックで対応できると思うので、My Snow Monkey でもできるのではないでしょうか?

    他のフォーラウ利用者の方も調べやすいように、1トピック1課題とさせていただいているので、別件については別トピックでお願いします。

    0
    いいねをした人: 居ません
    #66117
    yukyukai
    参加者
    0

    my-snow-monkey.php

    <?php
    /**
     * Plugin name: My Snow Monkey
     * Description: このプラグインに、あなたの Snow Monkey 用カスタマイズコードを書いてください。
     * Version: 0.1.1
     *
     * @package my-snow-monkey
     * @author inc2734
     * @license GPL-2.0+
     */
    
    /**
     * Snow Monkey 以外のテーマを利用している場合は有効化してもカスタマイズが反映されないようにする
     */
    $theme = wp_get_theme( get_template() );
    if ( 'snow-monkey' !== $theme->template && 'snow-monkey/resources' !== $theme->template ) {
    	return;
    }
    
    //テンプレートの上書き
    add_filter(
    	'snow_monkey_template_part_root_hierarchy',
    	function( $hierarchy ) {
    		$hierarchy[] = untrailingslashit( __DIR__ ) . '/override';
    		return $hierarchy;
    	}
    );

    0
    いいねをした人: 居ません
    #66120
    yukyukai
    参加者
    0

    override > page-templates > aaa.php

    <?php
    /**
     * Template Name: aaa
     * Template Post Type: post, page
     */
    
    use Framework\Controller\Controller;
    
    Controller::layout( 'aaa' );
    Controller::render( 'content', get_post_type() );

    0
    いいねをした人: 居ません
    #66123
    yukyukai
    参加者
    0

    override > templates > layout > wrapper > aaa.php

    <html>
    <body>
    aaa
    </body>
    </html>

    何度もすいません。。

    この様な構成で試しております。

    0
    いいねをした人: 居ません
    #66468
    アバター画像キタジマ タカシ
    参加者
    2421

    お返事遅くなりすみません。構成を拝見した限りだと僕が試したのと同じ構成のようなので、ファイル構成は問題なく、設定方法が yukyukai さんと僕とで違うことを指しているのかもしれないなと思いました。

    固定ページや投稿ページで、テンプレートを指定するが適応されずにデフォルトテンプレートになってしまう。

    とのことですが、具体的にどのような操作をされましたか? 僕は固定ページの編集画面(ブロックエディター)を開き、「ページ属性」の「テンプレート」で「aaa」を選択しました。

    0
    いいねをした人: 居ません
    #66990
    kjn
    参加者
    6

    横入り失礼いたします。
    私の環境でもyukyukai様と1点以外、現在同じ現象が起きております。
    違う1点とは、オリジナルのテンプレート(aaa.php)を「カスタマイズ」→「デザイン」→「固定ページ設定」→「ページレイアウト」からもオリジナルのテンプレート(aaa.php)に設定できないできない点となります。

    キタジマ様の#65496のコメントを参考に全く同じ階層で作成してみたのですが、固定ページの編集画面(ブロックエディター)から、「ページ属性」→「テンプレート」にて「aaa」を選択し更新ボタンを押下しましたが、「デフォルト」に戻ってしまいます。固定ページ一覧の「クイック編集」からテンプレート変更を試みましたが、そちらでも「デフォルト」に戻ってしまいました。

    念のため、利用しているバージョンも記載いたします。
    【Wordpress バージョン: 5.6】
    【Snow Monkey バージョン: 12.2.2】
    【Snow Monkey Blocks のバージョン 10.2.1】
    【Snow Monkey Editor のバージョン4.0.1】

    他にどのような検証方法があるか、ご教示いただけますでしょうか?
    よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #67009
    アバター画像キタジマ タカシ
    参加者
    2421

    実験用のプラグインをつくってみました。

    下記のいずれの場合も正しく選択・反映されることを確認しました。
    ※その画面でリロードしたり、ページ表示確認後再度カスタマイザーやページ編集画面にいっても「デフォルト」にもどることなく「aaa」のまま

    – カスタマイザー → デザイン → 固定ページ設定 → ページレイアウトで「aaa」を選択
    – 固定ページの編集画面で、ページ属性 → テンプレートから「aaa」を選択

    このプラグインを入れて試してもらって、それでも駄目なようならなにか他のコードや設定などが影響しているのかもしれません…。

    0
    いいねをした人: 居ません
    #67015
    kjn
    参加者
    6

    プラグインを作成いただきまして、ありがとうございました!
    念のため、自身の「my-snow-monkey」を停止し、プラグインを実行させていただきました。

    – カスタマイザー → デザイン → 固定ページ設定 → ページレイアウトで「aaa」を選択
     こちらはレイアウトの選択に「aaa」が出てきたのですが、<body>aaa</body>が出力されておらず、ダッシュボードのバー除く、何も表示されない真っ白な画面が表示されてしまいました。
    – 固定ページの編集画面で、ページ属性 → テンプレートから「aaa」を選択
     こちらについては、変わらず、「デフォルト」が表示されてしました。

    何か、影響を及ぼすような設定を施してしまったのかもしれません・・。もう少し調査してみます。
    ありがとうございました。

    0
    いいねをした人: 居ません
    #67018
    アバター画像キタジマ タカシ
    参加者
    2421

    あ、<body>aaa</body> だけだとカスタマイザーでスムーズな切り替えができなかったので、コンテンツだけが表示されるようなコードに変更しています。なので何かコンテンツがある固定ページに適用してもらうとわかりやすいかもしれません。

    0
    いいねをした人: 居ません
15件の投稿を表示中 - 1 - 15件目 (全18件中)
  • このトピックに返信するにはログインが必要です。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。