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

Elementor作者页无facebook_handle元数据时隐藏对应图标问题求助

问题原因

  • 核心错误是get_the_author_meta()函数的传参错误:该函数第二个参数需要传入用户ID,你传入true会导致无法正确读取对应作者的元字段,所以$facebook变量永远为空,导致CSS隐藏代码始终输出。
  • 补充问题:wp_head hook执行时如果不在主循环内,直接调用get_the_author_meta()默认也拿不到正确的作者ID,需要手动获取当前页面对应的作者ID。

修正后代码

// 无facebook_handle时隐藏对应图标
function facebook_icon_display() {
    $author_id = 0;
    // 单篇文章页获取当前文章作者ID
    if (is_singular('post')) {
        global $post;
        $author_id = $post->post_author;
    }
    // 作者存档页获取当前存档的作者ID
    if (is_author()) {
        $author_id = get_queried_object_id();
    }
    
    if ($author_id) {
        $facebook = get_the_author_meta('facebook_handle', $author_id);
        if (empty($facebook)) {
            echo '<style type="text/css">#facebook_icon {display: none;}</style>';
        }
    }
}
add_action( 'wp_head', 'facebook_icon_display' );

可选优化

如果后续发现ID选择器不生效(Elementor可能给动态元素加随机后缀),可以给Facebook图标加自定义CSS类,比如custom-facebook-icon,然后把CSS选择器换成.custom-facebook-icon即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:48:01