add_filter

説明

bool add_filter( string $tag, mixed $function_to_add [ , int $priority = 10 [ , int $accepted_args = 1 ] ] )
WordPressシステムの関数にフィルター関数を追加する。

パラメータ

  • $tag
    WordPressシステムの関数名。
  • $function_to_add
    フィルター関数名。メソッドを指定する場合は配列を使用する(注意を参照)。
  • $priority
    プライオリティ値(省略時は10)。
  • $accepted_args
    フィルター関数のパラメータ数(省略時は1)。

返り値

trueを返す。

注意

クラスのメソッドを指定する場合は、オブジェクトのアドレスとメソッド名を要素にした配列を使用する。クラス内ならば、次のように記述する。
add_filter( '関数名', array( $this, 'メソッド名' ) );
または
add_filter( '関数名', array( &$this, 'メソッド名' ) );

使用例

  • ログインページのメッセージを変更するフィルター関数を追加する。
    <?php
    add_filter( 'login_message', 'mylogin_message' );
    
    function mylogin_message( $message ) {
        return '○○へようこそ';
    }
    ?>
  • ログインページのメッセージを変更するフィルター関数を追加する(クラスの場合)。
    <?php
    class myclass {
        function myclass( ) {
            add_filter( 'login_message', array( &$this, 'mylogin_message' ) );
        }
        function mylogin_message( $message ) {
            return '○○へようこそ';
        }
    }
    ?>

最終更新 : 2020年04月02日 17:18



お勧め

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

メタボックスをクラシックエディターのみで表示する(2019年1月15日 更新)

投稿画面向けにメタボックスを使ったプラグインがあり、それがブロックエディターで意図した通りに機能しなかった。この対処方法を考える過程でエディタータイプに応じてメタボックスを出し分けできる方法が見つかったので紹介したい。