Como usar campos personalizados no título do post?

Certos posts meus terão o campo personalizado ” release_author neles – outros não. Se esse campo existir, eu quero exibir isso no título do header.php (não na h1 da publicação em si.

Agora, este é o PHP que exibe meu título do arquivo header.php:

  

Então, agora, isso é o que ele exibiria:

 Random Title Name 

Isto é o que eu quero exibir:

 Random Title Name (Author Name) 

Alguém sabe como fazer isso? Eu encontrei uma série de tutoriais semelhantes a isso, mas eles são todos para modificar o título na própria página, não para alterar o que aparece no header …

Solutions Collecting From Web of "Como usar campos personalizados no título do post?"

O que você está procurando são os filtros que permitem modificar o título da página. Há uma nova maneira de fazer isso desde WordPress 4.4, então eu vou me concentrar nisso. Se você estiver usando uma versão anterior a 4.4 e você não pode atualizar, a alternativa é o filtro wp_title (não deve ser confundido com a function wp_title() ), que eu posso elaborar se você quiser.

Então, o filtro que você está procurando (para WP 4.4+) é chamado document_title_parts .

Para usar isso, você deseja abrir o arquivo functions.php do seu tema e coloque o seguinte:

 add_filter("document_title_parts", "wpse_224340_document_title"); function wpse_224340_document_title($title){ global $post; // make sure the post object is available to us if(is_singular()){ // check we're on a single post $release_author = get_post_meta(get_the_ID(), "release_author", true); if($release_author != ""){ $title["title"].= " (" . $release_author. ")"; } } return $title; } 

Você também precisará remover essa marca que você encontrou em seu header.php e adicione o seguinte código às suas functions.php também:

 add_filter("after_setup_theme", function(){ add_theme_support("title-tag"); }); 

Isso diz ao WordPress que é seguro adicionar sua própria tag , que você está modificando com o filtro document_title_parts acima.

EDIT: Como esta é uma mudança bastante nova para o WordPress, se você estiver interessado no fundo por trás disso ou quer saber por que é melhor não usar o wp_title , você pode ver esta postagem no blog .