WordPressプラグイン作成チュートリアル(7):プラグイン関数のフィルタ(Filter)関数

3498 ワード

前回はプラグイン関数の動作(Action)関数についてご紹介しましたが、こちらはフィルタ(Filters)についてご紹介します.
フィルタは、WordPressがデータの転送と処理を実行するときに、これらのデータに対して何らかのアクションを実行する前の特定の実行(データベースへの書き込みやブラウザページへの転送など)の関数です.フィルタはデータベースとブラウザの間にあり(WordPressがページを生成しているとき)、WordPressの多くの入力と出力は少なくとも1つのフィルタを通過します.WordPressのデフォルトの状態はいくつかのフィルタをして、あなたのプラグインはそれ自身のフィルタを追加することができます.
WordPressにフィルタを追加する方法には、いくつかのステップがあります.
1.フィルタ(フィルタデータ)のPHP関数を作成します.
2.WordPressでは、フック(フックがトピックのwp_header()とwp_footer()を使用してフィルタにアクセスし、add_を参照します.filterがアクセスします.
3.自分のPHP関数をプラグインファイルに入れてアクティブにします.
まず、プラグインのフィルタを作成する最初のステップは、PHP関数を作成してフィルタを実行し、プラグインファイルに保存することです(プラグインファイルはwp-content/pluginsディレクトリの下に置く必要があります).たとえば、文章やコメントに汚い言葉が含まれていないことを確認する必要がある場合は、無効な単語のリストを含むグローバル変数を定義し、次のPHP関数を作成できます.
//                  ,                    

add_filter('comment_text','filter_word');



//

global $shieldingword;

$shieldingword = array('fuck', 'dirty'); //         



//         ,         ,            。

function filter_word($content) {

    foreach($shieldingword as $shielding) {

        $content = str_ireplace($shielding, '{Censored Word}', $content);

    }

    return $content;

}
関数定義が完了したら、次はマウントまたはWordPressに登録します.注意:プラグインのグローバル実行スペースで指定したポイントを参照します.
add_filter ('hook_name', 'your_filter', [priority], [accepted_args]); //     : http://codex.wordpress.org/Plugin_API/Filter_Reference

// hook_name: WordPress        ,                 。

// your_filter:                 。         PHP  ,     WordPress    ,                    。

// priority: (    ),    ,                         (   10)。                               。

// accepted_args: (    ),    ,               (   1)。       ,              
最後にプラグインをアクティブにします.このフィルタ関数を使用できます.フィルタ関数を削除するにはremove_を使用します.filter('filter_hook','filter_function')で完了します.
フィルターは簡単にご紹介します.詳細については、公式文書:http://codex.wordpress.org/Plugin_API/Filter_Referenceを参照してください.