use the_posts_pagination(); sin titulo

2 minutos de lectura

Al usar the_posts_pagination (ver códice) la paginación muestra un título “post navegación”.

¿Es posible apagar esto?

Por ejemplo usando algo como:

the_posts_pagination( array(
    'title'              => '', // this should hide the title
    'prev_text'          => __( 'Previous', 'twentyfifteen' ),
    'next_text'          => __( 'Next', 'twentyfifteen' ),
    'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( '', 'nieuwedruk' ) . ' </span>',
) );

avatar de usuario
Asgu

Hay una propiedad “screen_reader_text” que debería ayudarte

the_posts_pagination( array(
    'screen_reader_text' => ' ', 
    'prev_text'          => __( 'Previous', 'twentyfifteen' ),
    'next_text'          => __( 'Next', 'twentyfifteen' ),
    'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( '', 'nieuwedruk' ) . ' </span>',
) );

Nota: De ahí el espacio entre comillas simples.

  • Hola @asgu, gracias por la respuesta. Sin embargo, eso no parece cambiarlo.

    – Remi

    25 de abril de 2015 a las 15:19

  • Agregar un espacio entre las comillas simples parece funcionar.

    – Remi

    25 de abril de 2015 a las 15:23

  • ¿Qué pasa con el SEO? H2 todavía está en la página

    – aletede91

    10 de julio de 2018 a las 10:21

Mientras buscaba una solución, encontré que este enlace es la solución más relativa pero no completa para mi situación. La respuesta anterior generará una advertencia al validar su HTML con W3C.

Encontré una manera de eliminar completamente el encabezado agregando una acción que eliminará la etiqueta h2 con preg_replace(). Regex no es mi mejor trabajo, así que si tiene sugerencias, déjeme ahora.

He puesto la siguiente acción en mi functions.php:

function sanitize_pagination($content) {
    // Remove role attribute
    $content = str_replace('role="navigation"', '', $content);

    // Remove h2 tag
    $content = preg_replace('#<h2.*?>(.*?)<\/h2>#si', '', $content);

    return $content;
}

add_action('navigation_markup_template', 'sanitize_pagination');

La función anterior también eliminará el atributo “rol” del elemento de navegación (provoca advertencia de W3C).

Sé que esta es una publicación antigua, pero para las personas que desean una solución simple, un simple bloque CSS sería suficiente. No es necesario modificar php.

h2.screen-reader-text {
    display: none;
}

o

.post-navigation h2.screen-reader-text {
    display: none;
}

  • Esto no resuelve el problema. Todavía está generando basura HTML no deseada, que puede no ser visible para los usuarios, pero es visible para los motores de búsqueda, bots, etc.

    – Fusión

    18 de junio a las 8:54

¿Ha sido útil esta solución?