如何在主题中修改WordPress分页文本与screen_reader_text避免更新覆盖?
修改WordPress分页的屏幕阅读器文本(安全无覆盖)
嘿,你找对方向了!用过滤器确实是最佳方案,不用碰核心的link-template.php文件,完美避免WordPress更新时被覆盖。针对get_the_posts_pagination里的screen_reader_text,对应的过滤器是get_the_posts_pagination_args,下面是具体实现步骤:
步骤1:在主题的functions.php中添加代码
打开你当前使用的主题(或子主题,更推荐子主题)的functions.php文件,加入以下代码:
// 自定义分页的屏幕阅读器文本 function custom_posts_pagination_screen_reader_text( $args ) { // 替换成你想要的文本,比如"文章分页导航" $args['screen_reader_text'] = '你的自定义文本'; // 可选:如果还想修改上一页/下一页的文本,可以在这里添加 // $args['prev_text'] = __('上一页', 'your-theme-text-domain'); // $args['next_text'] = __('下一页', 'your-theme-text-domain'); return $args; } add_filter( 'get_the_posts_pagination_args', 'custom_posts_pagination_screen_reader_text' );
步骤2:替换自定义文本
把代码里的'你的自定义文本'改成你实际想要的内容,比如'文章分页导航'或者其他语言的文本。如果你的主题用了文本域,记得用__('文本内容', '你的主题文本域')来支持多语言。
为什么这个方法有效?
get_the_posts_pagination_args过滤器专门用来修改get_the_posts_pagination()函数的参数数组,其中就包含screen_reader_text这个键。我们通过这个过滤器拦截参数,修改后返回,WordPress就会用我们自定义的文本生成分页了。
额外提示
- 强烈推荐使用子主题来添加这段代码,这样即使父主题更新,你的自定义代码也不会丢失。
- 如果还需要修改分页的其他元素(比如上一页/下一页的文字),可以在同一个函数里修改对应的参数,代码里已经给出了示例注释,取消注释并修改即可。
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

