Title: Document title in 4.4
Author: Konstantin Obenland
Published: October 20, 2015
Last modified: November 12, 2015

---

 [  ](https://profiles.wordpress.org/obenland/) [Konstantin Obenland](https://profiles.wordpress.org/obenland/)
5:49 pm _on_ October 20, 2015     
Tags: [4.4 ( 46 )](https://make.wordpress.org/core/tag/4-4/),
[dev-notes ( 648 )](https://make.wordpress.org/core/tag/dev-notes/), [wp_title ( 2 )](https://make.wordpress.org/core/tag/wp_title/)

# Document title in 4.4

[WordPress 4.1 introduced a way for themes to support a new way of rendering the document title](https://make.wordpress.org/core/2014/10/29/title-tags-in-4-1/),
letting CoreCore Core is the set of software required to run WordPress. The Core
Development Team builds WordPress. handle its generation and output. The next step
followed [just recently](https://core.trac.wordpress.org/changeset/35294) ([#31078](https://core.trac.wordpress.org/ticket/31078)),
deprecating `wp_title()` and replacing it with a more comprehensive way to generate
titles.

UPDATE 12 November – wp_title has been [reinstated](https://core.trac.wordpress.org/changeset/35624)
until alternative usages have been identified and a path forward for them defined.

PluginPlugin A plugin is a piece of software containing a group of functions that
can be added to a WordPress website. They can extend functionality or add new features
to your WordPress websites. WordPress plugins are written in the PHP programming
language and integrate seamlessly with WordPress. These can be free in the WordPress.
org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
or can be cost-based plugin from a third-party. authors can now check for theme 
support and have a few new filters available that will allow them to change or replace
the title in a reliable way:

 * `'pre_get_document_title'` short-circuits `wp_get_document_title()` if it returns
   anything other than an empty value.
 * `'document_title_separator'` filters the separator between title parts.
 * `'document_title_parts'` filters the parts that make up the document title, passed
   in an associative array.

This latest change makes the new APIAPI An API or Application Programming Interface
is a software intermediary that allows programs to interact with each other and 
share data in limited, clearly defined ways. (almost) feature complete and theme
authors are discouraged from using `wp_title()` in the future. If it was decided
to add a UIUI User interface to let users choose the make up of their document title,
or another improvement to how title generation works, we now have a forward compatible
way to handle these things.

To upgrade themes from using `wp_title()` to declaring theme support for core’s 
title-tagtag A directory in Subversion. WordPress uses tags to store a single snapshot
of a version (3.6, 3.6.1, etc.), the common convention of tags in version control
systems. (Not to be confused with post tags.) without breaking backwards compatibility
with WordPress 4.0 and older, theme authors can check if the callback function exists
and add a shiv in case it does not:

    ```notranslate
    if ( ! function_exists( '_wp_render_title_tag' ) ) :
    	function theme_slug_render_title() {
    ?>
    <title><?php wp_title( '-', true, 'right' ); ?></title>
    <?php
    	}
    	add_action( 'wp_head', 'theme_slug_render_title' );
    endif;
    ```

[#4-4](https://make.wordpress.org/core/tag/4-4/), [#dev-notes](https://make.wordpress.org/core/tag/dev-notes/),
[#wp_title](https://make.wordpress.org/core/tag/wp_title/)

### Share this:

 * [  Threads ](https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/?share=threads)
 * [  Mastodon ](https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/?share=mastodon)
 * [  Bluesky ](https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/?share=bluesky)
 * [  X ](https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/?share=x)
 * [  Facebook ](https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/?share=facebook)
 * [  LinkedIn ](https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/?share=linkedin)

 1.   ![](https://secure.gravatar.com/avatar/c64b8f97639b146b3a504e7d2cb44a6d7296f3a607e767abe41fa2cbc50cadbc?
      s=32&d=mm&r=g)
 2.    [Pippin Williamson](https://profiles.wordpress.org/mordauk/)  6:10 pm _on_ October
      20, 2015
 3.   As much as I love this improvement, I really don’t think a deprecated notice 
      should be thrown here. The sheer number of themes using wp_title() is overwhelming
      and it will be a support / maintenance nightmare.
 4.    * ![](https://secure.gravatar.com/avatar/34c19c0923466a5bf3c232ad7885b9985cd075c79ac0beb4b802c3ee80d71452?
         s=32&d=mm&r=g)
       *  [WebMan Design | Oliver Juhas](https://profiles.wordpress.org/webmandesign/)
         6:24 pm _on_ October 20, 2015
       * I completely agree! This will be huge impact.
       * ![](https://secure.gravatar.com/avatar/43e10bdac0c553eccd6b30644312cc245d1d4df3cb04dbc898f44cae8d7d68cf?
         s=32&d=mm&r=g)
       *  [Konstantin Obenland](https://profiles.wordpress.org/obenland/)  6:43 pm 
         _on_ October 20, 2015
       * At the point of release, theme support will have been introduced a year earlier,
         with the WPTRT adding it as recommended from the start. Two default themes
         will have been shipped with it, and it’s used in over 300,000 themes derived
         from `_s` since November ’14. And [as Justin pointed out](https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/comment-page-1/#comment-28192),
         it will have been required for the theme repo for more than a quarter of that
         time.
       * While legacy themes will obviously still use it, there has been quiet a bit
         of theme developer education around this. The current landscape of document
         titles is really not as bleak as some make it sound.
       * ![](https://secure.gravatar.com/avatar/326050ce389841d4cfd722a69eef43bc201279d09547ff5ddc84a0572198492c?
         s=32&d=mm&r=g)
       *  [Chuck Reynolds](https://profiles.wordpress.org/ryno267/)  2:15 am _on_ October
         21, 2015
       * I agree there will be a lot of questions but I also agree it’s time.
       * ![](https://secure.gravatar.com/avatar/9d7f4923e882d7d041b25a07c661ddc6013f02e03c125028bf5df59a5d950b86?
         s=32&d=mm&r=g)
       *  [Coen Jacobs](https://profiles.wordpress.org/coenjacobs/)  10:08 am _on_ 
         October 22, 2015
       * If we’d go by that reasoning, there would be never any change possible. Production
         environments need to have debug mode switched off, so no notices there. Second,
         this change has been coming for so long, themes that have been actively maintained
         have had the chance to introduce their own way to deal with the deprecation
         already.
          - ![](https://secure.gravatar.com/avatar/250257111d1248c34046552bbcdf6999949ef56b2f992dd5eb39bf45cabeb18a?
            s=32&d=mm&r=g)
          -  [Samuel Wood (Otto)](https://profiles.wordpress.org/otto42/)  9:32 pm 
            _on_ October 23, 2015
          - Like it or not, many live webhosts default to having the PHPPHP The web
            scripting language in which WordPress is primarily architected. WordPress
            requires PHP 7.4 or higher display_errors flag enabled. Every time a new
            deprecated notice is added, sites all across the web break. Since this 
            is going to affect themes, right on the front-page of the site and everywhere
            else, then that’s a lot of breakage. We cannot hope to upgrade all sites
            in time for this breaking change.
          - Suggestion: Make the deprecated notice system not quite so stupid. Yes,
            users need to know things. However, if display_errors is on, and it’s the
            front end of the site (or the login page), and WP_DEBUG is not turned on,
            then we should probably shut it off if a deprecated notice is thrown. Throwing
            a notice out on login breaks logins (by breaking cookies), and throwing
            one on the main site makes for “broken” sites in the eyes of users. And
            all for a notice that a function, which still likely works okay, may not
            work in the future.
          - I’m fine with the title change. But “deprecated” messages should not be
            so strong as to actually cause people to want to rollback WordPress versions.
          - Yes, BTW, I do realize that _deprecated_notice only triggers when WP_DEBUG
            is explicitly on. Still, sometimes it is through auto-installers or something
            else. We should have some better way of warning people than displaying 
            these notices right on the front end of the site.
             * ![](https://secure.gravatar.com/avatar/f847340cac151352b0bc321c16df9a032472b24bd496730d22dbecdaa1dbeec8?
               s=32&d=mm&r=g)
             *  [FolioVision](https://profiles.wordpress.org/foliovision/)  3:13 am
               _on_ November 3, 2015
             * We strongly agree here Samuel. While improving coreCore Core is the 
               set of software required to run WordPress. The Core Development Team
               builds WordPress. structure is wonderful, transition should be gradual
               and over time. There’s no overwhelming benefit to breaking the web in
               this particular case. Gently gentlemen.
 5.   ![](https://secure.gravatar.com/avatar/eb2dbdff6acddf1b814e99b556bfd13ab446de158213b57c54cafbfaa26dfdc4?
      s=32&d=mm&r=g)
 6.    [Justin Sainton](https://profiles.wordpress.org/justinsainton/)  6:15 pm _on_
      October 20, 2015
 7.   +1 to not throwing a notice. this will be basically _every_ theme.
 8.    * ![](https://secure.gravatar.com/avatar/c64b8f97639b146b3a504e7d2cb44a6d7296f3a607e767abe41fa2cbc50cadbc?
         s=32&d=mm&r=g)
       *  [Pippin Williamson](https://profiles.wordpress.org/mordauk/)  6:15 pm _on_
         October 20, 2015
       * Including themes that are superbly built.
       * ![](https://secure.gravatar.com/avatar/d770e5bce7176dd5e66265ae01146a9e576710692753b68363b54d1f8581578d?
         s=32&d=mm&r=g)
       *  [Simon Prosser](https://profiles.wordpress.org/pross/)  8:45 pm _on_ October
         20, 2015
       * Notices are only displayed with WP_DEBUG on, whats the issue?
          - ![](https://secure.gravatar.com/avatar/ebdf9f66bc2689c2be0542b5b387832fb924df5d4b2317ebe915b89d68920f6b?
            s=32&d=mm&r=g)
          -  [Sybre Waaijer](https://profiles.wordpress.org/cybr/)  6:29 am _on_ October
            22, 2015
          - The problem is that when a user wishes to turn it on to discover a nasty
            bugbug A bug is an error or unexpected result. Performance improvements,
            code optimization, and are considered enhancements, not defects. After 
            feature freeze, only bugs are dealt with, with regressions (adverse changes
            from the previous version) being the highest priority. on a live site it
            will absolutely destroy the SEO value of the site if a search engine spider
            sees it.
          - It would be better to enqueue the deprecation notice within the footer 
            or any other part other than the <title> tagtag A directory in Subversion.
            WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1,
            etc.), the common convention of tags in version control systems. (Not to
            be confused with post tags.).
          - However, it’s suffice to say that I’ve been working for a good 40 hours
            to compromise the wrongly used wp_title tag within the headerHeader The
            header of your site is typically the first thing people will experience.
            The masthead or header art located across the top of your page is part 
            of the look and feel of your website. It can influence a visitor’s opinion
            about your content and you/ your organization’s brand. It may also look
            different on different screen sizes. without using buffer rewriting.
          - This update will force users to switch to a better theme, and it will also
            force theme developers to use the standards.
             From there it will also save
            a lot of developers heaps of time 🙂 So I’m pretty much all for the deprecation
            notice, wherever it actually may be.
          - You know what, keep the deprecation notice within the title 😀 Hurray for
            standards!
 9.   ![](https://secure.gravatar.com/avatar/8013a62d7397c006bae48b96d6832a573ea71a7d5d3597fe584210567b508c05?
      s=32&d=mm&r=g)
 10.   [Justin Tadlock](https://profiles.wordpress.org/greenshady/)  6:22 pm _on_ October
      20, 2015
 11.  I just wanted to note that WordPress.orgWordPress.org The community site where
      WordPress code is created and shared by the users. This is where you can download
      the source code for WordPress core, plugins and themes as well as the central
      location for community conversations and organization. [https://wordpress.org/](https://wordpress.org/)
      themes are no longer encouraged to have the back-compat code. Title tagtag A 
      directory in Subversion. WordPress uses tags to store a single snapshot of a 
      version (3.6, 3.6.1, etc.), the common convention of tags in version control 
      systems. (Not to be confused with post tags.) support [is now required](https://make.wordpress.org/themes/2015/08/25/title-tag-support-now-required/).
 12.  ![](https://secure.gravatar.com/avatar/87f8c2bbfabbae3462bbab2c83ce82763c7ff91bc632b64f3af7e24d929633f6?
      s=32&d=mm&r=g)
 13.   [Aaron D. Campbell](https://profiles.wordpress.org/aaroncampbell/)  6:49 pm 
      _on_ October 20, 2015
 14.  There is a fine line to be walked between backward compatibility and pushing 
      ahead into better things. I think this is one of those cases where we’re walking
      that line very well. Themes are encourage (or in the case of .org, required) 
      to push ahead into the newer/better way, and any theme that uses the older way**
      still works as it did before**. The notice deprecated function notice is not 
      only just a notice (not an error or warning), but it’s only triggered by default
      if WP_DEBUG is on.
 15.  ![](https://secure.gravatar.com/avatar/19347ef87f4fd5978b2184e7f05af5c780485f69dbfdefccfe3521c732a87f06?
      s=32&d=mm&r=g)
 16.   [Drew Jaynes](https://profiles.wordpress.org/drewapicture/)  7:12 pm _on_ October
      20, 2015
 17.  **I see an inevitable question popping up: “What do I use instead?”**
 18.  The simple answer is _nothing_.
 19.  If you add `add_theme_support( ‘title-tag’ );` to your `after_setup_theme` callback,
      the title will just be handled. An internal coreCore Core is the set of software
      required to run WordPress. The Core Development Team builds WordPress. function
      adds it via the `wp_head` hook. No need to add anything to your theme’s header.
      php file, just remove the legacy `wp_title()` call.
 20.  The ‘title-tagtag A directory in Subversion. WordPress uses tags to store a single
      snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version
      control systems. (Not to be confused with post tags.)’ theme support was (as 
      mentioned) added to core a year ago.
 21.  Also, as [@obenland](https://profiles.wordpress.org/obenland/) alluded, there
      are several filters available for customizing the output:
 22.  >  * `pre_get_document_title` – short-circuits wp_get_document_title() if it 
      >    returns anything other than an empty value.
      >  * `document_title_separator` – Makes the separator between title parts filterable.
      >  * `document_title_parts` – Makes the parts that make up the document title
      >    filterable, passed in an associative array.
 23.  ![](https://secure.gravatar.com/avatar/a15532e2de67c56ac93ed4e3a26c5b139bf8450f788262910590cd2991b7874c?
      s=32&d=mm&r=g)
 24.   [Jose Castaneda](https://profiles.wordpress.org/jcastaneda/)  8:47 pm _on_ October
      20, 2015
 25.  Sweet! One less thing for theme authors to maintain!
 26.   * ![](https://secure.gravatar.com/avatar/4b001958f1b8050d6837b802765f5caa289e8ca6c294b4fed1f68df4c9822b5e?
         s=32&d=mm&r=g)
       *  [Ross Wintle](https://profiles.wordpress.org/magicroundabout/)  2:48 pm _on_
         October 22, 2015
       * So the simple answer is actually: “add `add_theme_support(‘title-tagtag A 
         directory in Subversion. WordPress uses tags to store a single snapshot of
         a version (3.6, 3.6.1, etc.), the common convention of tags in version control
         systems. (Not to be confused with post tags.)’);` to your `after_setup_theme`
         callback! 😉
       * ![](https://secure.gravatar.com/avatar/4b001958f1b8050d6837b802765f5caa289e8ca6c294b4fed1f68df4c9822b5e?
         s=32&d=mm&r=g)
       *  [Ross Wintle](https://profiles.wordpress.org/magicroundabout/)  2:49 pm _on_
         October 22, 2015
       * Oh bother – that was a reply to [@drewapicture](https://profiles.wordpress.org/drewapicture/)
         above. Why is the reply button at the top of comments here?! You can tell 
         I don’t comment on make blogblog (versus network, site) very often.
 27.  ![](https://secure.gravatar.com/avatar/4860306ca6a5170943326900e888f8d5aab6053343af178634af450be121b3c5?
      s=32&d=mm&r=g)
 28.   [catchmyfame](https://profiles.wordpress.org/catchmyfame/)  9:14 pm _on_ October
      20, 2015
 29.  Should [https://codex.wordpress.org/Theme_Development#Template_File_Checklist](https://codex.wordpress.org/Theme_Development#Template_File_Checklist)
      be updated to *not* encourage the use of wp_title()? I didn’t see the equivalent
      checklist at [https://developer.wordpress.org/themes/](https://developer.wordpress.org/themes/)
 30.  ![](https://secure.gravatar.com/avatar/d695f302425899d7a23cf435fdbf36aaa873c9cb5f049e3ce5f231e8d6f4bc71?
      s=32&d=mm&r=g)
 31.   [simonrcodrington](https://profiles.wordpress.org/simonrcodrington/)  9:51 pm
      _on_ October 20, 2015
 32.  I’m all for moving forward with better things. As long as this is a developers
      notice when debugging is turned on and not an adminadmin (and super admin) level
      notice that bothers users, I’m all for it.
 33.  ![](https://secure.gravatar.com/avatar/0608b540c7da83b396fd9a453ad1ac0298152522bc3a06888d41649e4024a089?
      s=32&d=mm&r=g)
 34.   [Ahmad Awais](https://profiles.wordpress.org/mrahmadawais/)  8:44 am _on_ October
      22, 2015
 35.  Fantastic! I just hope that theme authors will adopt this thing as quickly as
      possible.
 36.  ![](https://secure.gravatar.com/avatar/4b001958f1b8050d6837b802765f5caa289e8ca6c294b4fed1f68df4c9822b5e?
      s=32&d=mm&r=g)
 37.   [Ross Wintle](https://profiles.wordpress.org/magicroundabout/)  2:47 pm _on_
      October 22, 2015
 38.  Confession: I’ve not been keeping up with developments in wp_title() in the last
      few releases. And I’m a developer who reads the make blogblog (versus network,
      site)!! It’s only just now become clear that there is a new best practice from
      the one I started using several years ago. I suspect that there are many other
      developer like me, and many who don’t read the make blog!!!
 39.  As a developer that creates custom themes for clients, I’m happy for a notice
      to be issued (to remind me to do it in future work!). I accept the need for (
      well documented and communicated) deprecation, but I’d really appreciate some
      guarantee on removal from coreCore Core is the set of software required to run
      WordPress. The Core Development Team builds WordPress.. I have a LOT of custom
      themes out there that I’ve built over the last four or five years. They all use
      wp_title somewhere. I’m hoping that I won’t be needing to update all that legacy
      code.
 40.  Should the codex for wp_title be updated at this point to reflect the new best
      practice?
 41.   * ![](https://secure.gravatar.com/avatar/19347ef87f4fd5978b2184e7f05af5c780485f69dbfdefccfe3521c732a87f06?
         s=32&d=mm&r=g)
       *  [Drew Jaynes](https://profiles.wordpress.org/drewapicture/)  3:04 pm _on_
         October 22, 2015
       * > Should the codex for wp_title be updated at this point to reflect the new
         > best practice?
       * The [code reference page](https://developer.wordpress.org/reference/functions/wp_title/)
         for `wp_title()` will be updated with the deprecation notice when 4.4 is released.
         By that point, the `wp_title()` Codex article will already be redirecting 
         to the code reference, as well.
 42.  ![](https://secure.gravatar.com/avatar/e1de973d63b1495e46ac7c6a365fcabbf49c93f6ec6f98c9b5d343e82642e612?
      s=32&d=mm&r=g)
 43.   [BackuPsNL](https://profiles.wordpress.org/backupsnl/)  4:05 pm _on_ October
      22, 2015
 44.  Hi
 45.  How to call the new title function with the separator of choice?
       How to get 
      just the title without the wpsite name?
 46.   I liked the way wp_title() worked.
 47.  I am not happy with this code change… 🙁
 48.   * ![](https://secure.gravatar.com/avatar/43e10bdac0c553eccd6b30644312cc245d1d4df3cb04dbc898f44cae8d7d68cf?
         s=32&d=mm&r=g)
       *  [Konstantin Obenland](https://profiles.wordpress.org/obenland/)  3:32 pm 
         _on_ October 23, 2015
       * > How to call the new title function with the separator of choice?
       * You can use the `document_title_separator` filterFilter Filters are one of
         the two types of Hooks [https://codex.wordpress.org/Plugin_API/Hooks](https://codex.wordpress.org/Plugin_API/Hooks).
         They provide a way for functions to modify data of other functions. They are
         the counterpart to Actions. Unlike Actions, filters are meant to work in an
         isolated manner, and should never have side effects such as affecting global
         variables and output. to change the separator to whatever you like. You can
         now even customize it to change based on what kind of page is being viewed!
       * > How to get just the title without the wpsite name?
       * When you filter `document_title_parts` you can just change or unset the part
         that you don’t want to show up.
          - ![](https://secure.gravatar.com/avatar/e1de973d63b1495e46ac7c6a365fcabbf49c93f6ec6f98c9b5d343e82642e612?
            s=32&d=mm&r=g)
          -  [BackuPsNL](https://profiles.wordpress.org/backupsnl/)  8:54 am _on_ October
            24, 2015
          - How does this work with the Yoast Seo pluginPlugin A plugin is a piece 
            of software containing a group of functions that can be added to a WordPress
            website. They can extend functionality or add new features to your WordPress
            websites. WordPress plugins are written in the PHP programming language
            and integrate seamlessly with WordPress. These can be free in the WordPress.
            org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
            or can be cost-based plugin from a third-party.. As in the previous version
            i could just call wp_title and i got the correct yoast seo title when the
            plugin was activated.
          - Now i have to enable force rewrite titles in that plugin settings to get
            the correct title in my page.
          - With the Yoast plugin enabled and with force rewrite titles off i do not
            get the correct title as entered in the yoast seo title field in the page.
          - I want to use my own title function as i dont like how wp presents it now.
          - From wordpress you get Title – Page – Blogblog (versus network, site) But
            i want Title – Blog – Paged
          - There is no way to change the order or how wordpress presents the title.
            is there? If so please provide a example how todo so.
             * ![](https://secure.gravatar.com/avatar/43e10bdac0c553eccd6b30644312cc245d1d4df3cb04dbc898f44cae8d7d68cf?
               s=32&d=mm&r=g)
             *  [Konstantin Obenland](https://profiles.wordpress.org/obenland/)  7:
               59 pm _on_ October 24, 2015
             * The APIAPI An API or Application Programming Interface is a software
               intermediary that allows programs to interact with each other and share
               data in limited, clearly defined ways. was not usable for plugins until
               now. I’m sure SEO plugins will provide a way to interact with it by 
               the time 4.4 ships.
                - ![](https://secure.gravatar.com/avatar/247c6d64a9cef124d55f50af6588ea5c0b96c59dae02a045a59eab31bc7cd7e5?
                  s=32&d=mm&r=g)
                -  [BackuPs](https://profiles.wordpress.org/backups/)  4:29 pm _on_
                  December 9, 2015
                - I updated the post to reflect that wp_title() has been reinstated
                  until alternative usages have been identified and a path forward 
                  for them defined.
                - Luckily the depricated notice has been removed at the final release
                  of wp 4.4.
                - I should have waited updating the theme coreCore Core is the set 
                  of software required to run WordPress. The Core Development Team 
                  builds WordPress. files on the final release and not have worked 
                  with the betaBeta A pre-release of software that is given out to 
                  a large group of users to trial under real conditions. Beta versions
                  have gone through alpha testing in-house and are generally fairly
                  close in look, feel and function to the final product; however, design
                  changes often occur as part of the process. 4.4.xxx
 49.  ![](https://secure.gravatar.com/avatar/11177b397354c97025f395594f49e10041be4497df46e5d8b1f5b7ca4b063a3a?
      s=32&d=mm&r=g)
 50.   [johnstonphilip](https://profiles.wordpress.org/johnstonphilip/)  4:57 pm _on_
      October 22, 2015
 51.  I had used wp_title to generate facebook open graph metaMeta Meta is a term that
      refers to the inside workings of a group. For us, this is the team that works
      on internal WordPress sites like WordCamp Central and Make WordPress. tags. What
      would one want to use for that instead moving forward?
 52.  <meta property=”og:title” content=”” />
 53.   * ![](https://secure.gravatar.com/avatar/11177b397354c97025f395594f49e10041be4497df46e5d8b1f5b7ca4b063a3a?
         s=32&d=mm&r=g)
       *  [johnstonphilip](https://profiles.wordpress.org/johnstonphilip/)  4:58 pm
         _on_ October 22, 2015
       * ok so the php was stripped out of that comment. Here it is again without the
         php tags
          - ![](https://secure.gravatar.com/avatar/11177b397354c97025f395594f49e10041be4497df46e5d8b1f5b7ca4b063a3a?
            s=32&d=mm&r=g)
          -  [johnstonphilip](https://profiles.wordpress.org/johnstonphilip/)  5:01
            pm _on_ October 22, 2015
          - This struggle is real. Not sure how to properly share code on this forum.
            Anyway, the wp_title was used in the content attribute in the metaMeta 
            Meta is a term that refers to the inside workings of a group. For us, this
            is the team that works on internal WordPress sites like WordCamp Central
            and Make WordPress. tagtag A directory in Subversion. WordPress uses tags
            to store a single snapshot of a version (3.6, 3.6.1, etc.), the common 
            convention of tags in version control systems. (Not to be confused with
            post tags.) code above. What should it be replaced with?
             * ![](https://secure.gravatar.com/avatar/250257111d1248c34046552bbcdf6999949ef56b2f992dd5eb39bf45cabeb18a?
               s=32&d=mm&r=g)
             *  [Samuel Wood (Otto)](https://profiles.wordpress.org/otto42/)  4:22 
               pm _on_ November 11, 2015
             * Use shortcodes. [ php ] and [ /php ] work here for php code.
       * ![](https://secure.gravatar.com/avatar/43e10bdac0c553eccd6b30644312cc245d1d4df3cb04dbc898f44cae8d7d68cf?
         s=32&d=mm&r=g)
       *  [Konstantin Obenland](https://profiles.wordpress.org/obenland/)  3:34 pm 
         _on_ October 23, 2015
       * Using `wp_title()` to display anything other than the document title is not
         really ideal. In your case you’d want to use the `wp_head` action to attach
         a callback that would output that htmlHTML HyperText Markup Language. The 
         semantic scripting language primarily used for outputting content in web browsers..
          - ![](https://secure.gravatar.com/avatar/dc2354c1ba609da4193e865087a6b951e05009a680414c41e619f74dd958c2aa?
            s=32&d=mm&r=g)
          -  [Nathan Shubert-Harbison](https://profiles.wordpress.org/nathanshubert/)
            10:37 pm _on_ November 5, 2015
          - What would you use to print the page title inside the `wp_head` action 
            though?
             * ![](https://secure.gravatar.com/avatar/250257111d1248c34046552bbcdf6999949ef56b2f992dd5eb39bf45cabeb18a?
               s=32&d=mm&r=g)
             *  [Samuel Wood (Otto)](https://profiles.wordpress.org/otto42/)  4:27 
               pm _on_ November 11, 2015
             * Ideally, you would not be rolling your own code to do this in the first
               place. Many plugins can do this for you, such as SEO plugins, Facebook
               specific plugins, Sharing plugins, Jetpack, etc. Themes would not have
               this sort of code in them.
             * That said, the OpenGraph title for, say, a Page, would ideally be the
               title of the Page, not the wp_title(). OpenGraph is for sharing content,
               after all. So get_the_title() would be what you want to use, although
               you would probably need to preload the_post() and do a rewind_posts()
               to get that in the normal manner. It’s not an ideal situation to pre-
               load posts, but it is doable by plugins. It is poorly doable by themes,
               they’re doing it in the wrong order, basically.
 54.  ![](https://secure.gravatar.com/avatar/f38cee30589e7a4dc54f2a506546a52e632bce0a48f69166ef404634eb5a49ed?
      s=32&d=mm&r=g)
 55.   [Shah Alom](https://profiles.wordpress.org/shahalom/)  2:43 pm _on_ November
      12, 2015
 56.  Have basic confusion!
 57.  What is the difference between
 58.  add add_theme_support( ‘title-tagtag A directory in Subversion. WordPress uses
      tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention
      of tags in version control systems. (Not to be confused with post tags.)’ ) to
      function file directly
 59.  and
 60.  in the after_setup_theme callback hook
 61.   * ![](https://secure.gravatar.com/avatar/43e10bdac0c553eccd6b30644312cc245d1d4df3cb04dbc898f44cae8d7d68cf?
         s=32&d=mm&r=g)
       *  [Konstantin Obenland](https://profiles.wordpress.org/obenland/)  3:58 pm 
         _on_ November 12, 2015
       * It provides an easy way for child themes or plugins to remove the callback
         and change the setup process.
 62.  ![](https://secure.gravatar.com/avatar/43e10bdac0c553eccd6b30644312cc245d1d4df3cb04dbc898f44cae8d7d68cf?
      s=32&d=mm&r=g)
 63.   [Konstantin Obenland](https://profiles.wordpress.org/obenland/)  6:37 pm _on_
      November 12, 2015
 64.  I updated the post to reflect that `wp_title()` has been [reinstated](https://core.trac.wordpress.org/changeset/35624)
      until alternative usages have been identified and a path forward for them defined.
 65.  ![](https://secure.gravatar.com/avatar/e5b625550a1f75f4e83d3ca006bf1ce19fa67df11756665e3586595cbf063958?
      s=32&d=mm&r=g)
 66.   [Darko A7](https://profiles.wordpress.org/darko-a7/)  4:41 am _on_ November 
      17, 2015
 67.  This feels like a downgrade to me, what I had in few lines of codeLines of Code
      Lines of code. This is sometimes used as a poor metric for developer productivity,
      but can also have other uses. just the way I like it in one visible place, now
      have to do with filters and what not. Why?
 68.  Anyway, I was doing a quick betaBeta A pre-release of software that is given 
      out to a large group of users to trial under real conditions. Beta versions have
      gone through alpha testing in-house and are generally fairly close in look, feel
      and function to the final product; however, design changes often occur as part
      of the process. testing (4.4-beta4-35649) and there are absolutely no options
      to customize titles (separators, handling empty search strings…). This is a big
      omission, since they are supposedly now generated and handled by coreCore Core
      is the set of software required to run WordPress. The Core Development Team builds
      WordPress..
 69.   * ![](https://secure.gravatar.com/avatar/43e10bdac0c553eccd6b30644312cc245d1d4df3cb04dbc898f44cae8d7d68cf?
         s=32&d=mm&r=g)
       *  [Konstantin Obenland](https://profiles.wordpress.org/obenland/)  4:33 pm 
         _on_ November 17, 2015
       * Separators can be changed with the document_title_separator filterFilter Filters
         are one of the two types of Hooks [https://codex.wordpress.org/Plugin_API/Hooks](https://codex.wordpress.org/Plugin_API/Hooks).
         They provide a way for functions to modify data of other functions. They are
         the counterpart to Actions. Unlike Actions, filters are meant to work in an
         isolated manner, and should never have side effects such as affecting global
         variables and output., adjustments for special cases can be done by filtering
         document_title_parts .
 70.  ![](https://secure.gravatar.com/avatar/220f8771292bacbcac0189e438d349ad1fffee8e3986d7abc7d94c59a48510c7?
      s=32&d=mm&r=g)
 71.   [BobNwp](https://profiles.wordpress.org/bobnwp/)  6:36 am _on_ December 11, 
      2015
 72.  This is going to be VERY, VERY long, but it would behoove you to read it all 
      and discuss it amongst yourselves.
       ———————————
 73.  WP “deprecates ” far too often! There is the principle of backward compatibility
      and it is a serious issue.
 74.  Given the number of sites using WP (hundreds of thousands, or maybe millions??),
      there is no excuse for the number of things you drop and replace in the package.
 75.  I believe that you would find that a large percentage of questions posted in 
      the forums are about things that have been dropped or changed?
 76.  Have any of you people ever worked in a real data processing shop and learned
      the foundation and principles of software design, coding, modification, and problem
      determination and problem resolution?
 77.   I’ve been at this since 1973 (everything from basic programming to designing,
      coding, implementing telecommunications software and systems support for large
      IBM mainftrame shops) and I have never run into a product, either PC or mainframe,
      which drops or changes as many things as WP. – never.
 78.  I’ve never encountered a package that requires such attention to release changes
      simply to keep a site up and running.
 79.  The hallmark of a good software package is backward compatibility. An installation
      of WP created years ago should continue to work if an upgrade is done. Sure, 
      it won’t be taking advantage of the latest and greatest features, but it should
      work as it had before the upgrade.
 80.  You need to step back and take a realistic look at the way you drop functions
      and change other things.
 81.  Seriously – you are not using generally accepted design and modification principles.
 82.  WP is far to complicated for what it does. It is a bloated attempt to be everything
      for everyone.
 83.  You documentation is poor and you have invented terms and methods which do not
      correspond with the terms and meaning used elsewhere.
 84.  When I step back and look at this, it seems that you are more interested in doing
      things in the fanciest way you can; you can’t leave well enough alone; you are
      confusing “bleeding edgebleeding edge The latest revision of the software, generally
      in development and often unstable. Also known as [trunk](https://make.wordpress.org/core/2015/10/20/document-title-in-4-4/?output_format=md#trunk).”
      software ideas with creating and maintaining an easy to use product which is 
      fully backward compatible.
 85.  Yes, there can come a time when something must be changed, but you go about it
      all wrong.
 86.  I history language,, and then I’ll end this:
 87.  In the 1960s, IBM took a billion dollar gamble on what became the IBM System/
      360. The top designers and engineers were taken to a motel and told that they
      would stay there until they had a system design which met what at the time were
      revolutionary ideas.
 88.  One was staggering in its implications. The system they designed MUST be backward
      compatible – period
 89.  A customer must be able to purchase the smallest system and be able to upgrade
      to a faster, larger system with absolutely no changes in software!
 90.  They achieved that and many other revolutionary accomplishments.
 91.  When the IBM System/360 was announced in 1964 (I was in elementary school at 
      the time and knew nothing about computers) what it presented was a rlarge, serious,
      startling evolution in computing.
 92.  The System/360 could be used for any purpose. It was the first general purpose
      system and it laid the foundation for everything that has occurred since then.
 93.  When I say that no software changes were needed, I mean NONE.
 94.  You could disconnect the main system from the peripherals, slide in a new one,
      cable everything up and IPL (Initial Program Load -“boot” to you) from the same
      disks with the same operating system configuration used for the previous system.
      Certainly there would be new features available, but they did not replace or 
      change other features available on the other model.
 95.  Unless the programmers were told that they were running stuff on a new system,
      the only way they would know it would be to go into the machine room and see 
      the new unit or they noticed that things were running faster.
 96.  I’ve been involved with five System/360 upgrades and I cannot remember any problems.
      Programs written, compiled, and link-edited on the previous system ran exactly
      as they had been running on the new system with not changes. The operations staff
      had newer, “modern” consoles but they controlled the system with the same commands
      and procedures.
 97.  One upgrade was from a System 360/125 to a System 370/148 – a very large jump.
      The 370 was the next line of IBM systems – totally compatible with the 360. New
      features were available on the 370, such as the very first virtual storage – 
      I think that was available in the early 1970s. I know it was available when I
      started in 1973.
 98.  If IBM were to have announced that the new release of COBOL or some other language,
      was not compatible with the previous release and changes were necessary – customers
      would have stormed the offices and lynched everyone.
 99.  If IBM changed the instruction set of a new model, which would require all software,
      including operating system and other support packages, to either be replaced 
      or recompiled/assembled and link-editted, customers would have set upon the complete
      destruction of IBM.
 100. Short of violence, IBM would find that no one was buying the new systems. Businesses
      have more than enough to do without having to change all the software, applications
      and system.
 101. MS did this with VB – VB 6 programs were not compatible with VB Net. You had 
      to made code changes.
 102. They got away with it because they have spent enough money to convince everyone
      that whatever they do is correct and “you simply don’t understand things as well
      as we do.”
 103. To close this out – stop the continuous dropping and changes of functions and
      features. Create a product which is backward compatible.
 104. Try to it picture the problem that would occur when a WP site that was running
      for years suddenly broke because you people dropped some function. The company/
      person might not find out it was broken for several days, during which customers
      would be running into the problems.
 105. Not everyone using WP has the time to monitor your site to try and stay up-to-
      date on what you are going to drop next.
 106. Please, bring a little sanity to WP.
 107. Bob Novell

Comments are closed.

# Post navigation

[← 4.4 Dev Chat, October 14: Suggest items for today's agenda](https://make.wordpress.org/core/2015/10/14/4-4-dev-chat-october-14-suggest-items-for-todays-agenda/)

[4.4 Taxonomy Roundup →](https://make.wordpress.org/core/2015/10/23/4-4-taxonomy-roundup/)