wordpress自定义域函数get_post_custom_values多个值循环
自定义域在Wordpress中有着相当重的份量,很多功能都可以在其中实现,最近有朋友要萨龙龙添加两个功能,一是缩略图使用自定义域来获取(支持外链),二是文章中显示幻灯片,这两个功能都已经在Deephoto主题中实现了,也将集成到Concise主题中,而且文章中显示幻灯片有两种方式:自定义域和简码。
自定义域函数get_post_custom_values是获取当前日志中所有自定义字段值,如果该值不存在或为空都将返回null。
一、使用自定义域来实现缩略图
- function post_thumbnail(){
- global $post;
- if(get_post_meta($post->ID, "imgt", true)) {
- $values=get_post_custom_values( "imgt");
- echo '<img src="'.$values[0].'" alt="'.$post->post_title.'" />';
- } else { if( has_post_thumbnail() ){
-
- } else {
-
- }
- }
- }
通过以上代码获取缩略图就有三种方式:自定义域(img)、特色图像和默认缩略图,使用<?php post_thumbnail(); ?>来获取缩略图。
二、获取自定义域并循环输出
1、获取相同的自定义域并循环输出
- <?php if(get_post_meta($post->ID, "slides", true)) { ?>
- <?php $slides = get_post_custom_values( "slides"); ?>
- <?php foreach ($slides as $key => $value){ ?>
- <article class="swiper-slide slide-post">
- <?php echo "$value"; ?>
- </article>
- <?php }} ?>
通过多添加几个自定义域(slides),就可以循环输出,再通过JS和CSS就可以实现幻灯片效果。
这个方法稍有些麻烦,也增加了数据量,所以我们在一个自定义域中添加多个值来循环输出,效果是一样。
2、获取一个自定义域中的多个值并循环输出
- <?php if(get_post_meta($post->ID, "slides", true)) { ?>
- <?php $slide_arr = get_post_custom_values( "slides");$slide_str = isset($slide_arr[0])? $slide_arr[0]:"";$slides = explode(PHP_EOL,$slide_str);?>//谢谢知言提供的这段代码
- <?php foreach ($slides as $slide){ ?>
- <article class="swiper-slide slide-post">
- <?php echo $slide; ?>
- </article>
- <?php }} ?>
自定义域中的多个值是要分开,可以换行,也可以使用符号,如果是|,字符串为$str, 那就用explode("|",$str),如果是换行,就用explode(PHP_EOL,$str),这样就很方便的循环输出多个值。
不过使用自定义域来实现文章幻灯片时,位置是固定的,因为代码固定,但是管理方便,如果不想用此功能,可以使用代码直接删除全部自定义域。
如果要添加到文章的任意位置,可以使用简码来实现,自定义域中通过explode函数把字符串分割开,在简码中同样可以,例如:[slides img="图片链接1|图片链接2"],与获取的自定义域中的值是一样的,使用explode("|",$str)把img中的值(多张图片链接)分割并循环,使用较方便。
[scbutton link="https://deephoto.salongweb.com/slides" target="blank" variation="blue"]幻灯片演示与自定义域添加[/scbutton]本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/get-post-custom-values.html
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!Buddypress社区中有很多地方会直接显示用户登录名,比如用户个人主题中的名称和链接中,所有来访的用户都知道了管理员的用户名,对于小人知道了…强大、实用的Redux框架我们已经在WordPress强大的开源后台框架Redux Framework介绍与使用一文中介绍了,今天我们介绍下如何…一般的Wordpress主题中都有多种自定义文章类型,除了了默认的文章还会有作品、商品等自定义类型的文章,而WordPress默认只能搜索到文章…默认情况下WordPress是不允许重复的评论提交,主要是为了防止垃圾评论。有些情况下又需要重复评论,最近用户需要在MNews Pro主题上定制…WooCommerce 后台对管理员的通知『连接您的店铺到 WooCommerce.com 接受扩展更新和支持』,是3.3.1版本后出来了,新的…可以在模板文件中使用WooCommerce和WordPress的条件式标签,以根据匹配页面的条件来显示的特定内容。例如,您可能想要在商店页面上方…在开发 WordPress 主题中,需要 N 多次测试,这样就需要多次重装测试网站,这样相当的麻烦。今天了解到一款数据库初始化插件:WordPr…很多网站的视频都是来自在线视频网站,这样即节省网站空间也带来更高的访问速度,优酷视频是使用较多的。在添加视频文章时我们都想直接获取视频中的缩略图…在 Headless WordPress 架构中,自定义 REST API 端点是与外部系统交互的核心通道。然而,生产环境常常面临两大挑战:AP…很多个人博客都有一个小工具是来统计网站的一些信息,Deephoto主题企业版本首页就集成了网站统计,添加了工作天数、完成作品、新闻动态、摄影师、…自从了解到Wordpress MU多站点,就开始一步一步的向多站点发展,也将萨龙网络所有站点都安装在Wordpress MU多站点中。在使用多站…为了提高网站的访问速度,萨龙网络也将所有的媒体文件放置在二级域名下,WordPress 3.5以上的版本,隐藏了后台的媒体(Media)设置页面…