2016-08-05 7 views
0

私はショートカットでWooCommerceプラグインを開発しています。これは、ショップの管理者が各商品ページのブロック「Magentoスタイル」を定義できるプラグインです。ワードプレス - add_filter | apply_fitlers

例: 製品Xの場合、関連する製品ブロックが表示され、製品Yが必要です。アップセルブロックと特集製品ブロックのみを表示します。

テーマ開発者がカスタムブロックをフックできるようにフィルタを定義しようとしています。

WICHがコンストラクタメソッド内のコードの行を有するWC_Block_Loader Iクラスを有する:テーマのfunctions.phpで

$this->blocks = array() 
    $this->blocks = apply_filters('woocommerce_blocks_register', $this->blocks); 
    var_dump($this->blocks); //empty 

は、コードベローズの部分である:

function hook_my_custom_wc_blocks ($blocks) { 
     $blocks['WC_My_Custom_Block'] = get_template_directory().'/includes/blocks/block-my-custom-block.php'; 
     return $blocks; 
    } 

    add_filter('woocommerce_blocks_register', 'hook_my_custom_blocks', 10, 1); 

私はプラグインを 'plugins_loaded'アクションで起動していて、functions.phpがこのフックの後で実行されているが、わからないという問題があると思います。

提案がありますか?感謝と幸せなプログラミング。

答えて

0

私はこの問題を、plugins_loadedフックをinitフックに変更するだけで解決しました。

関連する問題