使用the_posts_pagination();没有头衔

时间:2015-04-25 09:10:29

标签: wordpress pagination

使用the_posts_pagination(see codex)时,分页会显示标题“post navigation”。

是否可以将其关闭?

例如使用以下内容:

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

3 个答案:

答案 0 :(得分:10)

有“screen_reader_text”属性可以帮助你

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

注意:因此单引号之间的空格。

答案 1 :(得分:2)

在寻找解决方案时,我发现此链接是最相关的,但不是我的情况的完整解决方案。使用W3C验证HTML时,上面的答案会引发警告。

我找到了一种方法来通过添加一个动作来完全删除标题,该动作将使用preg_replace()删除h2标记。正则表达式不是我最好的工作,所以如果你有建议,请现在就让我。

我已在我的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');

以上功能也将删除&#34;角色&#34; nav元素的属性(导致W3C警告)。

答案 2 :(得分:1)

我知道这是一个老帖子,但对于想要简单解决方案的人来说, 一个简单的CSS块可以解决问题。无需调整php。

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

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