2012-02-19 8 views
0

oopでWordpress用のプラグインを作成します。私はインデックスファイルで私の関数を呼び出します。ヘッダーまたはフッターファイルのプラグイン関数を呼び出す

$wp_dyb->status(); 

しかし、それはヘッダーやフッターファイルでは機能しません。これには意味がありますか?たぶん私はものを忘れた!

または、ヘッダーまたはフッターで関数を呼び出すことは不可能ですか?私はウィジェットを作るべきですか?

答えて

1

一見、ハム私はそれが純粋なPHPの問題だと言うでしょう。

プラグインファイルに$wp_dybを定義した場合、この変数の有効範囲はファイルに限定されます。

あなたのheader.phpまたはfooter.php

global $wp_dyb; 

を追加しようとすることができますが、私はそれはOKだか分かりません。

私はSOMのプラグインで見た他の技術:あなたのプラグインファイルでは、あなたのオブジェクトにアクセスするために、グローバル名前空間に関数を登録することができます:あなたのヘッダーとフッターに

class WP_Dyb { 
    ... 
} 

$wp_dyb = new WP_Dyb(); 

function dyb_get_object() { 
    global $wp_dyb; 
    return $wp_dyb; 
} 

、その後:

dyb_get_object()->status(); 
+0

2つのソリューションが機能します。ありがとう – zourite

関連する問題