wordpress

WordPress(ワードプレス)のフィルタやフックの関数名登録も無名関数を使ったほうが見やすくなるよ

いきなりですが、無名関数って何? その名の通り名前の無い関数です。 ワードプレスはPHPという言語で動いてますね。 そしてPHPにも色んなバー...

2016年5月17日

この記事をシェアする

こちらの記事もオススメ!

身を持って体感!WordPress(ワードプレス)を使ったサイトで一番オススメのレンタルサーバーはエックスサーバーで決定!

アクセスは突然に。はい。突然やってきました。とあるサイトで。。 先に結論を言いますね。エックスサーバーは最強でした。 リンク貼られたの?...

2016年5月17日 ゴマサバ

スポンサードリンク

いきなりですが、無名関数って何?

その名の通り名前の無い関数です。

ワードプレスはPHPという言語で動いてますね。

そしてPHPにも色んなバージョンがあります。

最近のレンタルサーバーはPHP5.6が標準で、早いところではPHP7にも対応しているレンタルサーバーもあります。

ちなにみ、詳細は割愛しますが、PHP6はありません。

この無名関数はPHP5.3から使えるようになっていて、PHP5.4からは内部での動作に変更があってます。

無名関数

本題、何がいいの?

ソースコードが見やすくなります!

通常、ワードプレスにフックを追加する際は以下のような形をよく見かけます。
ワードプレスの公式サイトでもこのように書いてます。

function example_callback( $example ) {
    // Maybe modify $example in some way.
    return $example;
}
add_filter( 'example_filter', 'example_callback' );

つまり、example_filterという名前のフィルターを追加しますよ。
実行する関数名はexample_callbackですよ。

ということですね。

スポンサードリンク

これは以下のように書くこともできます。

add_filter( 'example_filter', function( $example ){
    // Maybe modify $example in some way.
    return $example;
} );

また、投稿画面にメタボックスという独自の項目を表示させたい場合、入れ子(ネスト)して記述することもできます。

add_action('load-post.php', function () {
    add_action('do_meta_boxes', function ($object, $box, $post) {
        add_meta_box(
            'メタボックス名',
            'ラベル名',
            function ($post, $callbackArgs) {
                //ここで何かする
            },
            'post',
            'side',
            'core'
        );
    }, 10, 3);
});

コードの短さで言えばそんなに変わりません(1,2行減る程度)が、functionを定義するのとadd_filterを定義するのが一緒になりました。

これのどこがメリットあるかというと、ワードプレスでは無数にフィルターやフックを各箇所があります。

そして自分の思うようにカスタマイズしていくと1つや2つでは足りません。

そうなった時に、functionが上の方にあって、下の方にadd_filteradd_actionremove_action等、関数の定義とフックの定義が色んな箇所に散らばっているとメンテナンス性が下がってしまいます。

そんな時に、この無名関数。

これで定義しておけば、対になって定義することになるので不要になったら一緒にさっと削除できます。

ただPHP5.3以下の環境だと言語としてサポートされないのでエラーになりますので気をつけて下さい。

それではよいワードプレスライフを。

スポンサードリンク

ゴマサバ

この記事を書いたユーザー

ゴマサバ

ごま鯖って美味しいよね。



この記事をシェアする


口コミ

まだ口コミがありません

コメントを残す


関連記事

icatch_xserver_wordpress

ValueServer(バリューサーバー)からXSERVER(エックスサーバー)にWordPressを引っ越した

サーバー引越しのタイミングは突然に。ある程度負荷が上がってくると、「Service Temporarily Unavailable」というサ...

2016年5月3日 ゴマサバ

wp-popularposts

WordPress Popular Postsをhtml整形カスタマイズ。今表示記事を除外、同じカテゴリのみ表示する方法

こんにちは。 基本的に僕は記事担当ですが、しばしば、わからないなりにWordPressをカスタイマズしたりphpを触ってみたりします。 ソー...

2016年2月16日 the f

wp02

ワードプレスに画像挿入、表挿入、段落タグ、アイキャッチ画像の付け方を初心者視点で解説!

今回はワードプレスを使って文章に表を入れたり、文字色を整えて読みやすくしたりする方法を解説します。 初心者の方にもわかりやすく図で解説してゆ...

2016年2月11日 the f

wp-cli

WordPressのWP-CLIが神ツールすぎてやばい!お引越しから開発環境まで楽に切り替えれる!

世の中のWordPressな皆さんこんにちは。WP-CLI使ってますか?サイトのURLが変わった時とかどうしてますか?プラグインに頼ってます...

2015年12月28日 ゴマサバ

eyecatch

PHPStormでWordPressの開発を楽にする方法

WordPressな皆さんこんにちは。皆さんWordPressで開発する際はどうやってますか?テストサーバーを直接、はたまた本番を直接、いや...

2016年1月9日 ゴマサバ

wordpress logo

WordPress(ワードプレス)のデータベースエラー画面をカスタマイズする方法

WordPressのテンプレート階層は知っておくと大変便利ですのでまず紹介しておきますね。というか知らないと独自カスタムしてしまって本来であ...

2016年5月17日 ゴマサバ

xserver_access10

身を持って体感!WordPress(ワードプレス)を使ったサイトで一番オススメのレンタルサーバーはエックスサーバーで決定!

アクセスは突然に。はい。突然やってきました。とあるサイトで。。 先に結論を言いますね。エックスサーバーは最強でした。 リンク貼られたの?...

2016年5月17日 ゴマサバ

wordpress logo

WordPressのデフォルト投稿スラッグのURLを変える方法

WordPressでサイトを作る場合、だいたいこんなコンテンツになると思います。 ブログ お知らせ その他固定ページ ...

2016年4月11日 ゴマサバ

もっと見る