>我正在使用二十五个主题,对于分页,我使用了the_posts_pagination,想要删除 h2 标签和文本
我已经尝试过,但它只是删除"发布导航"文本,而不是h2标签
the_posts_pagination( array(
'prev_text' => __( ' ', 'twentyfifteen' ),
'next_text' => __( ' ', 'twentyfifteen' ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( '', 'twentyfifteen' ) . ' </span>',//Page
'screen_reader_text' => __( ' ' )
) );
请帮帮我。谢谢
目前尚不清楚为什么需要摆脱 h2 标签,因为它具有类 screen-reader-text
,在标准的 25teen 主题中,该标签被剪裁以使其不显示。
但是,如果你确实需要这样做,最简单的方法是使用 get_the_posts_pagination() 函数获取 HTML 并在显示之前将其删除:
$nav = get_the_posts_pagination( array(
'prev_text' => __( ' ', 'twentyfifteen' ),
'next_text' => __( ' ', 'twentyfifteen' ),
'screen_reader_text' => __( 'A' )
) );
$nav = str_replace('<h2 class="screen-reader-text">A</h2>', '', $nav);
echo $nav;
参考资料在这里了解更多...
使用这个。 它对我有用
function the_clean_pagination()
{
$thePagination = get_the_posts_pagination();
echo preg_replace('~(<h2''s(class="screen-reader-text")(.*)[$>])(.*)(</h2>)~ui', '', $thePagination);
}
<?php the_posts_pagination(array( 'screen_reader_text'=> ' '));?>
这很旧,但是 - 如果您转到此链接并搜索函数 the_posts_navigation()您将看到以下参数 'screen_reader_text' => __( '帖子导航' ),所以我们需要覆盖
the_posts_pagination(array(
'mid_size' => 2,
'prev_text' => '<span class="prev-page">Prev</span>',
'next_text' => '<span class="next-page">Next</span>',
'screen_reader_text' => ' ',
'before_page_number' => '',
));
只需确保在其中添加空格即可返回空。不是 __( ' ' )。另一种选择是使用过滤器并为导航钩子"navigation_markup_template"做我们自己的模板。您可以在此处查看示例
你提到要删除 h2 标签和文本。但是对于可访问性,将 h2 与类保持 screen-reader-text
是有帮助的。这篇关于辅助功能的WordPress文章展示了如何直观地隐藏Post navigation
文本,但使其可供屏幕阅读器使用。
/* Text meant only for screen readers. */
.screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
word-wrap: normal !important;
}
尝试
$nav = str_replace('<h2 class="screen-reader-text">A</h2>', '', $nav);
在函数中添加这个.php
function sanitize_pagination($content) {
// Remove h2 tag
$content = preg_replace('#<h2.*?>(.*?)<'/h2>#si', '', $content);
return $content;
}
add_action('navigation_markup_template', 'sanitize_pagination');
要删除screen_reader_text我只是简单地添加了 'screen_reader_text'=>' '
the_posts_pagination函数中。
它对我有用!
我知道
这是一个旧帖子,但另一种解决方案是将其隐藏在css中:
.屏幕阅读器文本{ 显示:无}
简单,肮脏,有效!