Cambiar separadores en las etiquetas de título / título HTML

2

Estoy usando WP 4.7.3 y un conjunto de plantillas personalizadas (mh-magazine).

De forma predeterminada, WP establece una etiqueta de título como "Título de la página" - "Título del blog".

Ahora, todo lo que quiero lograr es reemplazar "-" en un símbolo de canalización por motivos de diseño. Por lo tanto, el HTMl procesado debería verse como:

Título de mi página | Título de mi blog

Pensé que esto es fácil de lograr, pero veo que necesito ayuda ya que no soy un experto en PHP o WP.

    
pregunta Toby 02.04.2017 - 22:08

3 respuestas

2

Todo depende de la estructura de header.php de tu tema, pero la forma más probable es a través de document_title_separator un> filtro, como en

add_filter ('document_title_separator', 'wpse_set_document_title_separator') ;

function
wpse_set_document_title_separator ($sep)
{
    return ('|') ;
}
    
respondido por el Paul 'Sparrow Hawk' Biron 02.04.2017 - 22:19
2

Posibilidad-1:

Si tu tema tiene:

  1. add_theme_support( 'title-tag' ); en algún lugar de su archivo functions.php , y

  2. llamada a función wp_head() en header.php archivo

luego, el uso de document_title_separator filter funcionará como se sugiere @ la respuesta de Paul

Si el filtro no funciona incluso después de cumplir con las condiciones anteriores, tal vez un complemento lo esté anulando. Intente aumentar la prioridad del filtro para que se ejecute en último lugar, de este modo:

function wpse262196_document_title_separator( $sep ) {
    return '|';
}
add_filter( 'document_title_separator', 'wpse262196_document_title_separator', PHP_INT_MAX );

o si el filtro document_title_separator ya existe en el archivo functions.php de su tema, cámbielo allí.

Posibilidad-2:

Puede ser que su tema no incluya add_theme_support( 'title-tag' ); y en su lugar use el antiguo <title><?php wp_title(); ?></title> en archivo header.php .

En este caso, puedes cambiarlo como: <title><?php wp_title( '|' ); ?></title> para cambiar el separador.

  

Nota: se recomienda enfáticamente volver a cambiarla a add_theme_support( 'title-tag' ); , ya que es probable que wp_title() esté en desuso.

Además, si no funciona, entonces es posible que su complemento lo esté reemplazando con el filtro wp_title . En ese caso, use el filtro a continuación en su archivo functions.php de temas para cambiar el comportamiento:

function wpse262196_wp_title( $title, $sep, $seplocation ) {
    return str_replace( " $sep ", " | ", $title );
}
add_filter( 'wp_title', 'wpse262196_wp_title', PHP_INT_MAX );

o si el filtro wp_title ya existe en el archivo functions.php de su tema, cámbielo allí.

Esperemos que una de las soluciones funcione para usted.

    
respondido por el Fayaz 03.04.2017 - 04:27
1

Si desea ir a una ruta de complementos, puede usar el complemento Yoast SEO , que es gratuito y poderosa herramienta SEO.

Nota: Yoast SEO es un complemento SEO completo. Entonces, si no va a hacer uso de las otras funciones SEO de Yoast y cambiar el separador de títulos es todo lo que necesita, entonces este complemento será excesivo y las otras respuestas serán mucho más ligeras y más apropiadas para sus necesidades. .

  1. Instálalo desde el repositorio de WordPress (dentro de tu instalación de WordPress es más fácil) como lo harías con cualquier otro complemento. Entonces activalo.
  2. Dirígete a Yoast > Panel de control > Presenta las funciones y asegúrate de activar las "Páginas de configuración avanzada" y pulsa guardar.
  3. Hazclicenlapáginadeopciones"Títulos y Metas". La primera pestaña ("General") le dará la posibilidad de especificar globalmente sus separadores de títulos.
respondido por el Ian 03.04.2017 - 04:28

Lea otras preguntas en las etiquetas