My Snow Monkeyの記述が多くなってきた時の対応

0
いいねをした人: 居ません
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #50742
    ソーゴー印刷
    参加者
    12

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

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

    ===

    先日、購入させていたただきました。
    どうぞよろしくお願いいたします。

    My Snow Monkeyにフックの記述が多くなってきた際に、テーマ側の「app/setup」フォルダ内のようにファイルに分けて、すべてのファイルを自動で読込みすることはできますでしょうか?

    テーマ側の functions.php にある下記の様に

    /**
     * Loads theme setup files
     */
    Helper::get_template_parts( untrailingslashit( __DIR__ ) . '/app/setup', true );
    1
    いいねをした人: 居ません
    #50746
    DRILL LANCER
    閲覧者
    2
    require_once plugin_dir_path( __FILE__ ) . 'inc/class-widget-appear-disappear.php';
    

    みたいな書き方をすれば可能ですよ。
    上記コードは my-snow-monkey.php のある階層から inc/inc/class-widget-appear-disappear.php とたどったファイルを読み込んでいます。

    2
    いいねをした人: 居ません
    #50751
    キタジマ タカシ
    参加者
    2227

    Helper::get_template_parts() は指定ディレクトリ以下のファイルを get_template_part() で読み込むメソッドになりますが、get_template_part() は基準位置がテーマディレクトリになるので、プラグインから使うのであれば Helper::include_files() が使いやすいと思います。こっちは include() でファイルを読み込みます。

    My Snow Monkey で使うならこんな感じ。 my-snow-monkey/app/setup の中のファイルを include() で読み込みます。

    \Framework\Helper::include_files( untrailingslashit( __DIR__ ) . '/app/setup', true );
    
    0
    いいねをした人: 居ません
    #50755
    ソーゴー印刷
    参加者
    12

    DRILL LANCER 様

    ご返信ありがとうございます。
    ご教授いただいた記述方法、参考にさせていただきます。

     

    北島 様

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

    ご指定の記述で読込みを行ってみたのですが、以下のようなエラーが吐き出されました。
    サイト自体は問題なく動作するのですが、ご指定の記述を入れるとエラーが現れます。
    使用しているサーバーですが「さくらインターネット」で特に低いスペックを使ってはおりません。

    Fatal error: Uncaught Error: Class ‘Framework\Helper’ not found ~ 省略

    0
    いいねをした人: 居ません
    #50767
    キタジマ タカシ
    参加者
    2227

    あ!すみません!読み込み順の問題がありました。下記でどうでしょう。

    add_action(
    	'init',
    	function() {
    		\Framework\Helper::include_files( untrailingslashit( __DIR__ ) . '/app/setup', true );
    	}
    );
    0
    いいねをした人: 居ません
    #50791
    ソーゴー印刷
    参加者
    12

    北島 様

    早速やってみましたところ、無事に読み込みができました!
    これで整理整頓をすることができそうです。 ありがとうございました。

     

    ちなみに、「init」で読み込みをおこなうにあたって、
    たとえば、下記の例のようにCSSの読み込みなどを行う場合、「wp_enqueue_scripts」や「after_setup_theme(add_editor_style)」があり、
    このような場合は、「My Snow Monkey」自体に直接書いた方がいいでしょうか?

    #post-48440

    「app/setup/」へ「assets.php」を入れて試してみましたところ、「after_setup_theme」の方は読み込まれなかったので、
    もし今回の方法で順序的に読み込みをおこなわない方がよい例があれば、把握しておきたいです。

    0
    いいねをした人: 居ません
    #50803
    キタジマ タカシ
    参加者
    2227

    あー確かにそうですね、init より after_setup_theme のほうが適切かもしれません。 after_setup_theme より前、つまりテーマが読み込まれるより前に実行したいものがある場合は DRILL LANCER さんが書かれているように直接そのファイルを読み込んだほうが良いですね。

    0
    いいねをした人: 居ません
    #50872
    ソーゴー印刷
    参加者
    12

    承知いたしました。
    何かと教えていただきましてありがとうございます。

    連休中にカスタマイズ方法などいろいろと試しておりましたが、
    ものすごく便利で自由度も高く、実践で使わせていただくのが今から楽しみです!

    ひととおり解決いたしましたので、トピックを閉じたいと思います。
    また、ご質問させていただくこともあると思いますので、その際はよろしくお願いいたします。
    DRILL LANCER様もありがとうございました。

    1
    いいねをした人: 居ません
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • トピック「My Snow Monkeyの記述が多くなってきた時の対応」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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