web-dev-qa-db-ja.com

どうすれば私のヘッダーのadd_options_pageで指定したタイトルを取得することができます

私は持っています

add_options_page('Post Products Settings', 'Post Products Settings', 'administrator', 'pp_settings', 'pp_settings_page');

とにかく私は私のページのヘッダで使用するための第一パラメータで指定されていただきました!私はあなたがそれをハードコーディングできることを知っていますが、ただ興味があります

2
Jiew Meng

あなたがこれを行うことができるいくつかの方法があります。これを行う私の好ましい方法は、プラグインを構造化するためにオブジェクト指向プログラミング(OOP)を使用することです。例えば、私はこれをするかもしれません:

class JPBTitle {
  var $page_title = "Post Products Settings";

  function __construct(){
    add_action( 'admin_menu', array( $this, 'admin_menu' ) );
  }

  function admin_menu(){
    add_options_page( $this->page_title, $this->page_title, 'administrator', 'pp_settings', array( $this, 'pp_settings' ) );
  }

  function pp_settings(){
    echo "<div class='wrap'>\n\t<h2>$this->page_title</h2></div>";
  }
}

$JPBTitle = new JPBTitle();

プラグインでオブジェクト指向プログラミングを使用することには多くの利点があります。ただし、OOPを使用したくない場合は、グローバル変数を設定するか、その文字列に使用する値で定数を定義することをお勧めします。

4
John P Bloch

あなたは get_admin_page_title() を呼ぶことができます。グローバル変数$titleが空でなければそれを返し、そうでなければそれを設定して値を返します。

これは admin-header.php の先頭で呼び出されてからesc_html()を通過するため、生の値が必要な場合は$titleを空にして関数をもう一度呼び出す必要があります。

1
Jan Fabry