0

0

根据作者元数据有无,使用CSS显示或隐藏区块

心靈之曲

心靈之曲

发布时间:2025-07-20 16:38:11

|

284人浏览过

|

来源于php中文网

原创

根据作者元数据有无,使用css显示或隐藏区块

本文旨在解决WordPress Elementor Pro搭建的作者页面中,根据作者元数据(如城市、风格、最高级别等)的有无,动态显示或隐藏特定区块的问题。通过修改代码,使用get_the_author_meta函数分别获取各项元数据,并结合OR运算符判断是否显示提示信息,从而实现更灵活的页面展示效果。

在使用WordPress的Elementor Pro创建作者页面时,经常需要根据作者的元数据来展示不同的信息。有时,我们希望在某些元数据为空时,显示一条提示信息。本文将介绍如何使用CSS和PHP来实现这一功能,即当作者的城市、风格或最高级别等信息缺失时,显示预先定义的提示信息区块。

问题分析

核心问题在于如何正确地判断多个元数据字段是否为空,并根据判断结果动态地修改CSS样式,从而控制提示信息区块的显示与隐藏。get_the_author_meta函数是获取作者元数据的关键,但需要注意其一次只能获取一个字段的值。

立即学习前端免费学习笔记(深入)”;

解决方案

正确的做法是分别获取每个元数据字段的值,然后使用逻辑OR运算符来判断是否需要显示提示信息。以下是两种实现方式:

方式一:分别获取并存储元数据

AITDK
AITDK

免费AI SEO工具,SEO的AI生成器

下载

这种方式更易于理解和调试,将每个元数据的值存储在单独的变量中。

function nothing_to_show_display(){
    global $post;
    $author_id = $post->post_author;

    $author_city = get_the_author_meta('city', $author_id);
    $author_style_of_play = get_the_author_meta('style_of_play', $author_id);
    $author_highest_division = get_the_author_meta('highest_division', $author_id);

    if(empty($author_city) || empty($author_style_of_play) || empty($author_highest_division)) : ?>
        <style type="text/css">
            #profile_info_template {
                display: inline-block !important;
            }
        </style>
    <?php endif;
}

add_action( 'wp_head', 'nothing_to_show_display', 10, 1 );

方式二:直接在条件判断中使用函数

这种方式代码更简洁,但可读性稍差。

function nothing_to_show_display(){
    global $post;
    $author_id = $post->post_author;

    if(empty(get_the_author_meta('city', $author_id)) || empty(get_the_author_meta('style_of_play', $author_id)) || empty(get_the_author_meta('highest_division', $author_id))) : ?>
        <style type="text/css">
            #profile_info_template {
                display: inline-block !important;
            }
        </style>
    <?php endif;
}

add_action( 'wp_head', 'nothing_to_show_display', 10, 1 );

代码解释

  1. global $post;:获取全局的$post对象,其中包含当前文章的信息。
  2. $author_id = $post->post_author;:获取当前文章的作者ID。
  3. get_the_author_meta('field_name', $author_id);:获取指定作者ID的指定元数据字段的值。
  4. empty():PHP内置函数,用于判断变量是否为空。 如果变量不存在,或者它的值等于false,那么它会被认为是空的。 empty() 不会产生警告,即使变量未定义。
  5. ||:逻辑OR运算符,只要其中一个条件为真,整个表达式就为真。
  6. #profile_info_template:需要控制显示/隐藏的提示信息区块的ID。
  7. display: inline-block !important;:CSS样式,用于强制显示该区块。!important用于覆盖其他样式规则。
  8. add_action( 'wp_head', 'nothing_to_show_display', 10, 1 );:将nothing_to_show_display函数挂载到wp_head钩子上,使其在页面头部执行。

注意事项

  • 确保#profile_info_template区块在HTML中存在,并且默认设置为display: none;。
  • 根据实际情况修改元数据字段名称(city、style_of_play、highest_division)和提示信息区块的ID。
  • 可以使用更复杂的CSS样式来控制提示信息的显示效果。
  • 如果需要更复杂的逻辑判断,可以使用嵌套的if语句或switch语句。

总结

通过以上方法,我们可以灵活地根据作者元数据的有无,动态地显示或隐藏页面上的特定区块,从而提升用户体验。 关键在于理解get_the_author_meta函数的用法,以及如何使用逻辑运算符进行条件判断。 此外,合理利用CSS样式可以实现更丰富的展示效果。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1567

2023.10.24

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

241

2024.02.23

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

150

2025.10.17

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

847

2023.08.22

switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

569

2023.09.21

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

441

2024.03.13

wordpress seo
wordpress seo

WordPress网站SEO优化方法有:1、选择一个SEO友好的主题,具有清晰的代码结构,快速的加载速度和响应式设计;2、使用SEO插件,优化你的标题标签,元描述,关键字,XML站点地图等;3、优化你的内容,内容是SEO优化的核心;4、优化你的网站速度;5、创建友好的URL;6、使用内部链接;7、优化图像;8、使用社交媒体;9、定期更新你的网站;10、监控和分析你的网站等等。

435

2023.09.18

wordpress下载后怎么安装
wordpress下载后怎么安装

安装前准备:确保服务器满足要求、获取安装文件、创建数据库。上传 wordpress 文件。创建数据库和用户。运行安装程序:选择语言、输入数据库信息、网站标题和管理员信息。安装 wordpress。安装后配置:设置永久链接、安装主题、安装插件、创建内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

336

2024.04.15

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 42.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号