Como faço para definir o título da página dinamicamente?

10

É possível alterar o título da página com o código?

Por exemplo, digamos que o nome da página seja "Reserve seu pedido", mas quero alterá-lo para "Pedido de livro nº 123".

Eu peguei um pouco no Google e olhei aqui e não vi nada. Alguém sabe de um plugin ou hackear?

wp_title retorna o título da página, mas não permite definir o título da página: enlace

    
por Alex Cook 07.11.2011 / 19:40

5 respostas

18

Não há documentação sobre isso, mas você sempre pode aplicar um filtro a the_title da seguinte forma:

add_filter('the_title','some_callback');
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;
}

Veja estes:

enlace

enlace

    
por Jared 07.11.2011 / 19:55
3

Para aqueles que desejam alterar o atributo title do documento, descobri que usar o filtro wp_title não funciona mais. Em vez disso, use o filtro pre_get_document_title :

add_filter("pre_get_document_title", "my_callback");
function my_callback($old_title){
    return "My Modified Title";
}

Fonte

    
por Nathan Arthur 12.08.2018 / 21:41
2

Realmente depende se você deseja exibir um título personalizado para a página atual (ou seja, o conteúdo da tag <title></title> no cabeçalho) ou filtrar o título das páginas no corpo da página ou nas listagens.

No primeiro caso (o título da página atual), tente adicionar um filtro para wp_title() da seguinte forma: enlace

Se você quiser modificar os títulos das páginas, filtrar the_title() fará o seguinte: enlace

    
por nickb 15.12.2013 / 23:32
1

A partir do Wordpress 4.4, você pode usar o filtro do Wordpress document_title_parts para alterar o título. / p>

add_filter('document_title_parts', 'my_custom_title');
function my_custom_title( $title ) {
  // $title is an array of title parts, including one called 'title'

  $title['title'] = 'My new title';

  if (is_singular('post')) {
    $title['title'] = 'Fresh Post: ' . $title['title'];
  }

  return $title;
}
    
por Brendan Nee 15.11.2018 / 03:46
0

Então você quer mudar o título em uma base por página? Em primeiro lugar, configurar um post personalizado encontrou uma caixa. A revista Smashing cobriu isso recentemente: enlace . Você pode criar uma função simples para substituir o título se a meta box personalizada tiver um valor.

Existem vários plugins de SEO que também fornecem essa funcionalidade. Tente Yoast SEO para exemplos: enlace

Espero que isso ajude.

    
por Chris Mooney 08.11.2011 / 01:01

Tags