Eliminar el nombre del sitio de la etiqueta <title>
Mis etiquetas <title>
actuales son así:
Título del artículo del blog | Nombre del sitio
¿Cómo puedo eliminar "Nombre del sitio" para que las etiquetas <title>
queden así:
Título del artículo del blog
Excepto, por supuesto, en la página principal, donde la etiqueta <title>
debería ser:
Nombre del sitio
Por favor, ten en cuenta que soy completamente nuevo en WordPress.
Edición: Aquí está mi etiqueta <title>
actual de header.php
:
<title>
<?php
if ( defined( 'WPSEO_VERSION' ) ) {
// WordPress SEO está activado
wp_title();
} else {
// WordPress SEO no está activado
wp_title( '|', true, 'right' );
}
?>
</title>

Lo mejor (y más fácil) es usar el filtro wp_title
.
Primero, limpia tu llamado a <?php wp_title(); ?>
en tu plantilla. Reemplaza lo que tengas con esto:
wp_title( '|', true, 'right' );
Luego, en functions.php
(o en el functions.php
de un Tema hijo; aplican las precauciones normales), añade lo siguiente:
function wpse95147_filter_wp_title( $title ) {
if ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) {
$title = single_post_title( '', false );
}
return $title;
}
add_filter( 'wp_title', 'wpse95147_filter_wp_title' );
Este filtro sobrescribirá completamente la salida de $title
en contextos de página única. (La condición real está tomada directamente del núcleo, de la propia definición de la función wp_title()
).
La última vez que revisé, WordPress no muestra realmente el título del sitio en ningún lugar de wp_title()
; así que si lo estás viendo, algo lo está añadiendo (¿quizás tu Tema?). Sin embargo, si quieres mostrarlo, simplemente escribe una condición complementaria en el filtro anterior; por ejemplo:
function wpse95147_filter_wp_title( $title ) {
if ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) {
$title = single_post_title( '', false );
}
if ( is_front_page() && ! is_page() ) {
$title = esc_attr( get_bloginfo( 'name' ) );
}
return $title;
}
add_filter( 'wp_title', 'wpse95147_filter_wp_title' );

Mi tema padre estaba agregando el nombre del blog al título. Pude usar esta solución para solucionarlo simplemente aumentando el parámetro de prioridad en la llamada a add_filter. Esto asegura que nuestro nuevo filtro se ejecute después del filtro del tema padre. Establecí la prioridad en 100: add_filter('wp_title', 'wpse95147_filter_wp_title', 100);

Añade esta línea en tu archivo header.php
<title><?php wp_title();?></title>
Añade el siguiente código en el archivo functions.php de tu tema
function your_wp_title( $title, $sep ) {
global $paged, $page;
if(is_front_page()){
$title = get_bloginfo( 'name' );
return $title;
} else {
if ( is_feed() )
// Añade el nombre del sitio
return $title;
}
}
add_filter( 'wp_title', 'your_wp_title', 10, 2 );
Referencia:http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title

En mi archivo de plantilla header.php reemplacé la línea del título por esto:
<title><?php is_front_page() ? woo_title() : wp_title( '' ); ?></title>
En mi caso estoy usando una plantilla de woothemes, por eso ese output de woo_title().
Aquí, puedes verificar en una sola línea si estás en la página de inicio, si es verdadero, puedes permitir que se muestre el título del blog/sitio, si es falso muestra el título sin el nombre del sitio, solo mostrará el título de tu entrada o página.

Tenía este problema con las publicaciones, así que busqué en internet e hice un pequeño plugin que elimina el nombre del blog de las publicaciones.
########### inicio eliminar título del blog de las publicaciones #######
function wp_abdul0201_wp_title( $title ) {
if ( is_single() ) {
$title = single_post_title( '', false );
}
return $title;
}
add_filter( 'pre_get_document_title', 'wp_abdul0201_wp_title' );
########### fin eliminar título del blog de las publicaciones #######
Por favor, fíjate en este código:
if ( is_single() )
Solo se aplica al título de las publicaciones. Puedes añadir más condiciones como:
if ( is_single() || is_archive() )
Aquí he añadido también las páginas de archivo. Espero que tengas una idea general de cómo funciona.

<?php wp_title(false); ?>
Prueba esto y lee más aquí
|
indica una barra vertical como separador. El argumento true representa $display, para decidir si mostrar el título o no. El tercer argumento es la posición donde colocar el separador.
