2

i have

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

anyway i can get whats specified in the 1st parameter for use in my page header? i know i can hard code it tho, but just curious

4
  • That first parameter will be your page title ... Have you tested this code? What exactly are you trying to accomplish and what are you seeing that's not the behavior you want?
    – EAMann
    Commented Sep 13, 2010 at 14:31
  • Yeah we need some more information to really help you generate the code to solve your problem. Commented Sep 13, 2010 at 15:04
  • 1
    In your page callback function you have to output a h1 or h2 inside the page content itself. The question is how to fetch that string programatically instead of duplicating it.
    – jerclarke
    Commented Sep 13, 2010 at 15:35
  • 1
    yes jeremy is right. i am wondering if there is any way i can get what is entered in the 1st parameter by code so i can output it in the h2
    – Jiew Meng
    Commented Sep 14, 2010 at 10:28

2 Answers 2

4

There are a few ways you can do this. My preferred way of doing this is using Object Oriented Programming (OOP) to structure the plugin. For example, I might do this:

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

There are many many advantages to using object oriented programming in plugins; however, if you don't want to use OOP, I would suggest either setting a global variable or defining a constant with the value you want to use for that string.

1

You can call get_admin_page_title(). If the global variable $title is not empty it will return that, otherwise it will set it and return the value.

It is called at the top of admin-header.php and then goes through esc_html(), so if you want the raw value you should empty $title and call the function again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.