WordPress自定义主题分页:替换»为FontAwesome图标失效求助
WordPress分页替换FontAwesome图标失效的解决方法
问题根源出在你用了esc_html__()函数——这个函数会自动转义所有HTML字符,导致你插入的<i class="fas fa-chevron-right"></i>被转换成纯文本,无法被浏览器解析为FontAwesome图标。
修改后的代码
把next_text行的代码替换成下面的写法,去掉对图标的HTML转义,同时保留aria-label的安全转义:
function vario_numeric_posts_nav() { global $wp_query; if ( get_query_var( 'paged' ) ) { $paged = get_query_var( 'paged' ); } elseif ( get_query_var( 'page' ) ) { $paged = get_query_var( 'page' ); } else { $paged = 1; } if ( is_front_page() || is_home() || is_archive() || is_search() ) { ?> <div class="vario-vd-pagination"> <?php echo paginate_links( array( 'base' => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ), 'total' => $wp_query->max_num_pages, 'current' => $paged, 'prev_text' => '<span aria-label="' . esc_attr__( 'Previous page', 'textdomain' ) . '">' . esc_html__( '‹', 'textdomain' ) . '</span>', 'next_text' => '<span aria-label="' . esc_attr__( 'Next page', 'textdomain' ) . '"><i class="fas fa-chevron-right"></i></span>' ) ); ?> </div> <?php } }
额外检查项
如果替换后图标还是不显示,还要确认:
- 你的主题已经正确加载了FontAwesome资源:可以通过在主题的
functions.php里添加以下代码来引入(如果还没加的话):
function enqueue_font_awesome() { wp_enqueue_style( 'font-awesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css', array(), '6.4.0' ); } add_action( 'wp_enqueue_scripts', 'enqueue_font_awesome' );
- 你用的FontAwesome类名是否正确:比如
fas对应FontAwesome 5+的solid样式,如果你用的是旧版本,可能需要调整为fa。
内容的提问来源于stack exchange,提问作者itsme.vitali
相关产品推荐
相关产品推荐

