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

  • このトピックには7件の返信、3人の参加者があり、最後に高原淳により4ヶ月、 2週前に更新されました。
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #50742
    高原淳
    参加者
    2

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

    【お使いの 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 );
    0
    #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
    キタジマ タカシ
    キーマスター
    286

    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
    高原淳
    参加者
    2

    DRILL LANCER 様

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

     

    北島 様

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

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

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

    0
    #50767
    キタジマ タカシ
    キーマスター
    286

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

    add_action(
    	'init',
    	function() {
    		\Framework\Helper::include_files( untrailingslashit( __DIR__ ) . '/app/setup', true );
    	}
    );
    0
    #50791
    高原淳
    参加者
    2

    北島 様

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

     

    ちなみに、「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
    キタジマ タカシ
    キーマスター
    286

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

    0
    #50872
    高原淳
    参加者
    2

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

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

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

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