¿Cómo configuro el título de la página dinámicamente?

10

¿Es posible cambiar el título de la página con un código?

Por ejemplo, digamos que el nombre de la página es "Reserve su pedido", pero quiero cambiarlo a "Pedido de libro # 123".

Busqué un poco en Google y miré aquí y no vi nada. ¿Alguien sabe de un plugin o hack?

wp_title devuelve el título de la página, pero no permite configurar el título de la página: enlace

    
pregunta Alex Cook 07.11.2011 - 19:40

5 respuestas

18

No hay documentación, pero siempre puedes aplicar un filtro a the_title como este:

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;
}

Ver estos:

enlace

enlace

    
respondido por el Jared 07.11.2011 - 19:55
3

Para aquellos que desean cambiar el atributo title del documento, encontré que usar el filtro wp_title ya no funciona. En su lugar, utilice el pre_get_document_title filter :

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

Fuente

    
respondido por el Nathan Arthur 12.08.2018 - 21:41
2

Realmente depende de si está buscando mostrar un título personalizado para la página actual (es decir, el contenido de la etiqueta <title></title> en el encabezado) o filtrar el título de las páginas en el cuerpo de la página o en las listas.

En el caso anterior (el título de la página actual), intente agregar un filtro para wp_title() así: enlace

Si desea modificar los títulos de las páginas en general, el filtrado de the_title() hará el truco: enlace

    
respondido por el nickb 15.12.2013 - 23:32
1

A partir de Wordpress 4.4, puede usar el filtro de Wordpress document_title_parts para cambiar el título.

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;
}
    
respondido por el Brendan Nee 15.11.2018 - 03:46
0

¿Así que quieres cambiar el título por página? En primer lugar, configurar una entrada personalizada se reunió un cuadro. Smashing Magazine cubrió esto recientemente: enlace . Luego, puede crear una función simple para reemplazar el título si el meta box personalizado tiene un valor.

Hay varios complementos de SEO que también proporcionan esta funcionalidad. Pruebe Yoast SEO para obtener ejemplos: enlace

Espero que esto ayude.

    
respondido por el Chris Mooney 08.11.2011 - 01:01

Lea otras preguntas en las etiquetas