it-swarm-eu.dev

Jak mohu získat titul i zadaný v add_options_page pro mé záhlaví

mám

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

stejně můžu dostat to, co je uvedeno v 1. parametru pro použití v záhlaví mé stránky? Vím, že mohu tvrdý kód to tho, ale jen zvědavý

2
Jiew Meng

Existuje několik způsobů, jak to udělat. Můj upřednostňovaný způsob, jak toho dosáhnout, je použití objektově orientovaného programování (OOP) ke struktuře pluginu. Mohu to udělat například:

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();

Použití objektově orientovaného programování v pluginech má mnoho výhod; Pokud však nechcete používat OOP, navrhuji buď nastavení globální proměnné nebo definování konstanty s hodnotou, kterou chcete pro tento řetězec použít.

4
John P Bloch

Můžete volat get_admin_page_title() . Pokud globální proměnná $title není prázdná, vrátí ji, jinak ji nastaví a vrátí hodnotu.

To je voláno v horní části admin-header.php a pak prochází esc_html(), takže pokud chcete surovou hodnotu, měli byste $title vyprázdnit a funkci znovu zavolat.

1
Jan Fabry