YARPPテンプレートの設置場所

0
いいねをした人: 居ません
11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • 投稿者
    投稿
  • #56571
    kazu
    閲覧者
    11

    トピックを新しく立てる方は次の項目も記述してください(要望トピックの場合は不要です)。

    【お使いの Snow Monkey のバージョン】11.1.0
    【お使いのブラウザ】Chrome
    【当該サイトのURL】(公開できる場合は書いていただいたほうがスムーズです)

    ===

    関連記事表示にYARRPを使おうと思っています。カスタムテンプレートの設置場所がテーマフォルダー内になっていて、テーマのアップデートを行うごとにアップロードをしています。作業は簡単なのですが忘れることが時々あります。
    MySnowMonkey などを使った、良い対応策はありませんでしょうか?

     

     

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

    YARRPは

    でしょうか。

    この場合であれば、おそらく元のテーマを上書きしない為、子テーマを使ってやるのが良いと思います。

    Snow Monkey は子テーマの使用を非推奨としていますが、
    その理由としては「親テーマのテンプレートを上書きする」と言う、子テーマの機能は強力過ぎるから、その強力過ぎる機能の影響で生じてしまう問題を防ぐ為と言うのが大きいです。

    しかし、今回の場合は、元々のテーマに存在しない YARRP 用のファイルを置くだけなので、それらの問題はありません。
    ですので、それらのファイルを配置した子テーマを使っても大丈夫です。

    (ちょっとややこしくなるかもしれませんが)子テーマを使う場合でも、テーマを上書きするようなファイルは子テーマに置かないで My Snow Monkey でカスタマイズしてください。

    Snow Monkey の子テーマについては、

    を参考にしてください。

    1
    いいねをした人: 居ません
    #56585
    kazu
    閲覧者
    11

    ありがとうございます。

    追加の質問です。

    子テーマでは、追加CSSなどのカスタマイザーでの設定は引き継がないのでしょうか?

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

    子テーマでは、追加CSSなどのカスタマイザーでの設定は引き継がないのでしょうか?

    あ…。子テーマでは、それらの設定を引き継がない問題もありました…。
    WordPressの仕様で、追加CSSなどのカスタマイザーの設定は引き継がないです。

    子テーマに設定を移行するの面倒だと思うので、YARPPで子テーマを使わない方法を調べてみましたが、
    YARPPは管理画面でカスタムを初めて設定する時(?)に強制的にテーマフォルダーにプラグイン内のyarpp-templatesフォルダーの中身をコピーするような処理が実行されるんですね…。
    なので、YARPPプラグインを使用するとカスタムの初期設定の際に必ずテーマに関連テンプレートが生成されるようです。(ちょっと設定されるタイミングとかよく解りませんが)

    んー、となると、My Snow Monkey でやるなら
    My Snow Monkey のプラグインフォルダーにそれらのファイルのコピーを置いておき、
    テーマアップデートが完了した時にテーマフォルダーにコピーするような処理を作れば何とかできるかも…って感じです。ちょっとできるか解りませんが…
    できそうであれば追記します。

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

    できた…これでどうだ!!

    My Snow Monkey のプラグインフォルダーにyarpp-templatesフォルダーを作り、そこにYARPPのテンプレートファイルをすべて配置してください。

    そして、My Snow Monkey に下記を記述してください。
    テーマアップデート時に、テーマディレクトリにファイルをコピーします。

    add_action(
    	'upgrader_process_complete',
    	function( $upgrader_object, $hook_extra ) {
    		if ( 'update' === $hook_extra['action'] && 'theme' === $hook_extra['type'] ) {
    			foreach ( $hook_extra['themes'] as $theme ) {
    				if ( 'snow-monkey' === $theme || 'snow-monkey/resources' === $theme ) {
    					$templates_dir = trailingslashit( __DIR__ . '/yarpp-templates' );
    					require_once( ABSPATH . 'wp-admin/includes/file.php' );
    					WP_Filesystem( false, get_stylesheet_directory() );
    					global $wp_filesystem;
    					if ( $wp_filesystem->method !== 'direct' ) return false;
    					copy_dir( $templates_dir, get_stylesheet_directory() );
    				}
    			}
    		}
    	},
    	10,
    	2
    );

    このトピックの問題は、WooCommerceのテンプレートファイルとかでもありましたし、
    子テーマ使わず配置し直すとかは結構使えそうなので、自分でも勉強になりました。

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

    @kazu さん

    子テーマでは、追加CSSなどのカスタマイザーでの設定は引き継がないのでしょうか?

    別テーマ扱いになるので引き継がないようです。カスタマイザーの設定をインポート・エクスポートするプラグインがあるので、Snow Monkey 時にエクスポート、子テーマに切り替えてそれをインポート、すると引き継げると思います。

    @Kmical Lights さん

    できた…これでどうだ!!

    これやばいですね笑

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

    これやばいですね笑

    強制的にファイルを上書きする意味で、テーマで使ってるファイルだった場合には安全かどうか考えると、やばいかもです……
    まあ、テーマフォルダにコピーが失敗してもテーマで使われていないファイル名であれば動作的には安全かな…と言う感じで。

    きちんとコピーされたかチェックして、失敗かどうか更新画面に表示させる仕組みも作ってやれば良いかもなので、そこまでやればテーマ更新時にカスタマイザーの値をマイグレーションさせるとかもできるかもです。もうちょいだけ調べときますかねー
    (以前、カスタマイザーの構造を変更した際に設定し直したような気もしたんで…)

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

    あ、危ないというか、発想が! よく思いつきましたねという意味でした笑

    そこまでやればテーマ更新時にカスタマイザーの値をマイグレーションさせるとかもできるかもです。

    できるようになると幅が広がりますね。

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

    あ、危ないというか、発想が! よく思いつきましたねという意味でした笑

    100%、夜のアルコール成分のお陰です(笑)
    飲めば思いつくのでキタジマさんも呑みまくろう!
    そろそろ、Snow Monkeyオンライン飲み会を実施してください

    1
    いいねをした人: 居ません
    #56622
    kazu
    閲覧者
    11

    Kmical Lights さん、

    キタジマさん、

    ありがとうございます。ものすご~く勉強になります&助かります。

     

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

    @Kmical Lights さん

    そろそろ、Snow Monkeyオンライン飲み会を実施してください

    なにかお題があればやりたいですね〜

    @kazu さん

    勉強になったとのこと良かったです! トピック閉じますね。

    0
    いいねをした人: 居ません
11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • トピック「YARPPテンプレートの設置場所」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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