• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:関数「create_function」について)

create_functionについての質問

このQ&Aのポイント
  • WordPressのテーマで、create_functionを使わずに別の関数を使う方法について質問です。
  • 質問文章のコードを修正して、create_functionを使用せずに関数を定義する方法を教えてください。
  • 公式の指示に従って、create_functionを使用せずにコードを修正する方法について教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.2

function hogehoge($value) { ____return "The value is {$value}."; } を無名関数(クロージャ)で表現すると、 function ($value) { ____return "The value is {$value}."; } になります。 これ自体は式なので、 $hogehoge = function ($value) { ____return "The value is {$value}."; }; として変数に代入したり、 変数から使うときは $hogehoge('test'); というようにします。 提示例のように直接 add_filter('the_generator', function () { return ''; }); としてもいいし、分かりにくければ $func = function () { return ''; }; add_filter('the_generator', $func); でも構いません。 なお、create_function関数はPHP5.3以降の環境では絶対に使ってはいけません。 メモリリーク問題を抱えた関数であることで非常に有名です。 PHP5.2以前で使うにしても、こういった使い方をするべきです。 http://bloggdgd.blog28.fc2.com/blog-entry-280.html 無名関数に慣れるとcreate_functionとかゴミすぎて使う気失せますよ・・・(笑

directjpn
質問者

お礼

hogehoge頂きました!!ありがとうございます。 >>無名関数に慣れるとcreate_functionとかゴミすぎて使う気失せますよ HAHAHAHA。ってソレ本当ですか!まだまだ私勉強不足ですなぁ…。 にしても態々コードまでご丁寧に書いて頂きましてありがとうございます。 大変参考になりました。これだからPHPは止められない! 本当に回答ありがとうございました。心より感謝申し上げます

その他の回答 (1)

noname#244856
noname#244856
回答No.1

add_filter('the_generator', function () { return ""; } ); 普通の関数定義から関数名だけ抜けばいいだけ。 http://php.net/manual/ja/functions.anonymous.php

directjpn
質問者

補足

勉強不足で申し訳ありませんが、 「普通の関数定義から関数名を抜く」というのは、 どういう事でしょうか? まだPHPが勉強不足で経験も浅く… もしよろしければ、もう一度回答をお願いいたします

関連するQ&A

専門家に質問してみよう