You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress前端Dashicons不显示求助:非登录用户无法查看度假星级评分

解决方案:WordPress更新后非登录用户看不到Dashicons星级评分

这问题我之前帮好几个做旅游站的客户处理过,WordPress更新后收紧了Dashicons的加载权限——默认它只给登录用户加载样式,非登录用户自然看不到图标了。另外星级位置的调整也很简单,咱们一步步来搞定:

1. 强制给所有用户加载Dashicons样式

WordPress默认只在后台和登录用户的前端加载Dashicons,更新后这个逻辑更严格了。你需要在主题的functions.php文件(优先用子主题的functions.php,避免主题更新覆盖代码)里添加这段代码:

function enqueue_dashicons_for_all() {
    wp_enqueue_style( 'dashicons' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_dashicons_for_all' );

这段代码会在前端页面强制加载Dashicons的样式表,不管用户是否登录,这样非登录用户就能看到星级图标了。

2. 检查星级评分的输出逻辑

如果加了上面的代码还是看不到,那大概率是你输出星级的代码里加了用户登录判断。比如之前可能写了类似这样的代码:

if ( is_user_logged_in() ) {
    // 输出星级的代码,比如循环输出Dashicons的星星标签
}

把这个is_user_logged_in()的判断去掉,直接输出星级代码就行——这样所有用户都能看到评分了。

3. 把星级定位到度假产品左上角

接下来调整位置,用CSS绝对定位就能实现。假设你的星级评分容器有个类叫.vacation-star-rating,度假产品的容器类是.vacation-product-item,在主题的自定义CSS里添加:

/* 给产品容器设置相对定位,作为星级的定位参照 */
.vacation-product-item {
    position: relative;
}

/* 定位星级到左上角 */
.vacation-star-rating {
    position: absolute;
    top: 10px; /* 距离顶部的距离,可自行调整 */
    left: 10px; /* 距离左侧的距离,可自行调整 */
    z-index: 99; /* 确保星级在产品图片/内容上方 */
    background: rgba(255, 255, 255, 0.9); /* 可选,加半透明背景提升可读性 */
    padding: 4px 8px;
    border-radius: 4px;
}

根据你实际的HTML类名调整上面的选择器就行,比如如果星级是直接用<span class="dashicons dashicons-star-filled"></span>组成的,也可以直接给这些span的父容器加定位样式。

最后验证

做完上面三步,清一下网站缓存(如果用了缓存插件),然后退出登录状态访问网站,应该就能看到每个度假产品左上角的星级评分了。

内容的提问来源于stack exchange,提问作者user2659607

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:28:22