web-dev-qa-db-fra.com

Comment puis-je obtenir le titre que j'ai spécifié dans add_options_page pour mon en-tête

j'ai

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

de toute façon je peux obtenir ce qui est spécifié dans le 1er paramètre à utiliser dans l'en-tête de ma page? je sais que je peux le coder dur tho, mais juste curieux

2
Jiew Meng

Vous pouvez le faire de plusieurs manières. Ma méthode préférée consiste à utiliser la programmation orientée objet (OOP) pour structurer le plugin. Par exemple, je pourrais faire ceci:

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

L'utilisation de la programmation orientée objet dans les plugins présente de nombreux avantages. Toutefois, si vous ne souhaitez pas utiliser la POO, je vous suggère de définir une variable globale ou de définir une constante avec la valeur que vous souhaitez utiliser pour cette chaîne.

4
John P Bloch

Vous pouvez appeler get_admin_page_title() . Si la variable globale $title n'est pas vide, elle le retournera, sinon elle le définira et renverra la valeur.

Il est appelé en haut de admin-header.php , puis passe par esc_html(); si vous voulez la valeur brute, vous devez vider $title et appeler à nouveau la fonction.

1
Jan Fabry