ベストセラー人気 WordPress テーマTop 30 詳細

WordPress add_filter理解

Last Updated:2015年11月19日| コメントを残す
  • Naver ブログを共有する
  • Naver バンドに共有する
  • Facebook 共有する
  • Twitter 共有する
  • 카카오스토리공유하기

WordPressでadd_filter関数を特定のフィルタアクションにフックする役割をします(WordPress Codexページ を参照)。 add_filterは、次のように使用されます。

<?php add_filter( $tag, $callback_function, $priority, $accepted_args ); ?>
  • $ tagはフックするフィルタの名前です。
  • $ callback_functionは、文字通りカスタマイズされたフィルタが適用されるときに呼び出さ(call)される関数の名前です。
  • $ priorityはオプションで、特定のアクションに関連する関数が実行される順序(優先順位)を指定するために使用されます。 デフォルト値は10で、通常10に設定したり、省略することができます。
  • $ accepted_argsは関数に使用される引数(argument)の数です。

上記の内容は WordPress Codexページで説明された内容です。 WordPressを初めて接したり、プログラム言語をよく知らない初心者が理解するには容易ではない内容です。 だから、簡単な例を使って、実際にどのように動作するかを見てみましょう。

次のような簡単な関数を一度考えてみましょう。

function return_hello() {
    $text = 'Hello World';
    return $text;
}

この場合は、直接関数を修正しないと、出力内容を変えることができません。 これは少し修正してフィルタを適用してみると:

function return_hello() {
    $text = 'Hello World';
    $text = apply_filters( 'output_hello_filter', $text );
    return $text;
}

この関数も「Hello World」を出力する関数であるが、必要に応じてフィルタ」output_hello_filter」を使用してテーマ(あるいは子テーマ)で、追加の作業を行うことができます。 例えば、次のようにadd_filterを使用して、他のコンテンツを出力することができるようにすることができます。

function new_hello_filter( $text ) {
    $text = 'How are you?';
    return $text;
}
add_filter( 'output_hello_filter', 'new_hello_filter' );

今return_hello()関数は、「Hello World」ではなく「How are you? "を出力します。

簡単に理解ザラザラその名の通りadd_filter(フィルタの追加)を介してフィルタを指定し、指定されたフィルタがapply_filters(フィルタの適用)を介して適用されると考えるとなると思われる。

フィルタが使用されているかどうかは、ソースからapply_filtersを検索して確認することができます。
apply_filters in WordPress

フィルタを使用すると、テーマやプラグインのソースを変更せずにテーマ関数ファイルにadd_filterを介して必要に応じて変更することができます。 そして、この場合、テーマやプラグインが更新されても煩わしくソースを再変更する必要がなくなります。

メモ:



コメントを残す

コメント