Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

use the_posts_pagination(); without title

When using the_posts_pagination (see codex) the pagination displays a title "post navigation".

Is it possible to turn this off?

For example using something like:

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>',
) );
like image 764
Remi Avatar asked Apr 25 '15 09:04

Remi


2 Answers

There is "screen_reader_text" property that should help you

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>',
) );

Note: Hence the space between the single quotes.

like image 75
Asgu Avatar answered Nov 18 '22 17:11

Asgu


While searching for a solution i've found this link to be the most relative but not a complete solution for my situation. Above answer will cause a warning when validating your HTML with W3C.

I've found a way to completely remove the heading by adding an action which will remove the h2 tag with preg_replace(). Regex isn't my best job so if you have suggestions please let me now.

I've put the following action in my 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');

Above function will also remove the "role" attribute from the nav element (Causes W3C warning).

like image 22
Ferhat Ileri Avatar answered Nov 18 '22 17:11

Ferhat Ileri