• 締切済み

PHPの関数の動き方が分かりません。

PHPの関数の動き方が分かりません。 Wordpressというブログシステムを使っていますが、 問題が発生しております。 (メニューが2重表示される,関数の2重呼び出しはないことを確認しています。) http://okwave.jp/qa/q5988841.html 関数その物、もしくはデータベースの不具合を疑っておりますが、 以下の関数のPHPコードの読み方が分かりません。(プログラム自体は経験あるので、読み方が分かれば障害がどこか、ある程度判別できると思います。) function get_constructor_menu($before = '', $after = '') { global $main; $main->getMenu($before, $after); } ご存じの方教えていただけませんでしょうか?

みんなの回答

回答No.2

最終的にメニューを作っているのは、 libs/Constractor/Main.php の173行目あたり、 function getMenu($before = '', $after = '') { } です。 205行目あたり echo $nav_menu; 221行目あたり wp_list_pages($arg); で、2回ページメニューが出力しているような感じです。 何かロジックも怪しげですが、とりあえず、どっちかをコメントにすればメニューは一つになります。それによる副作用は保証できません。 試したのは、WordPress3.0です。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

引数が省略されてもクラスのメンバ関数呼び出しが出来るようにラッピングしてるのかな get_constructor_menu( ); で $main->getMenu('', ''); が実行される

abillionaire
質問者

補足

解説ありがとうございます。 プログラム経験があるといっても、JAVAを簡単に学んだ程度なので、 もう少し詳細を教えていただけませんでしょうか?