How Do I Set the Page Title Dynamically?

Is it possible to change the page title with code?

For example, let’s say the page’s name is “Book your Order”, but I want to change it to “Book Order #123”.

I Google’d a bit and looked here and didn’t see anything. Anyone know of a plugin or hack?

wp_title returns the page title but doesn’t allow setting the page title:

Solutions Collecting From Web of "How Do I Set the Page Title Dynamically?"

There is no documentation on it but you could always apply a filter to the_title like this:

function some_callback($data){
    global $post;
    // where $data would be string(#) "current title"
    // Example:
    // (you would want to change $post->ID to however you are getting the book order #,
    // but you can see how it works this way with global $post;)
    return 'Book Order #' . $post->ID;

See these:

Really depends if you’re looking to display a custom title for the current page (i.e. the contents of the <title></title> tag in the header) or filter the title of pages in the page body or in listings.

In the former case (the title of the current page), try adding a filter for wp_title() like so:

If you want to modify page titles across the board, filtering the_title() will do the trick:

So you want to change the title on a per page basis? Firstly setup a custom post met a box. Smashing Magazine covered this recently: You can then create a simple function to replace the title if the custom meta box has a value.

There are several SEO plugins that also provide this functionality. Try Yoast SEO for examples:

Hope this helps.