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年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!相信使用Wordpress的朋友都对WP-PageNavi分页插件不陌生,很多博客对它也有很多介绍,之前也使用过代码来实现分页,但不够人性化,使…为了提高网站的访问速度,萨龙网络也将所有的媒体文件放置在二级域名下,WordPress3.5以上的版本,隐藏了后台的媒体(Media)设置页面…Ubermenu是一个用户友好的、可高度定制响应式的Wordpress超级大菜单插件,工作原理与Wordpress3菜单系统类似,强大到可创建…在开发一些比较独特的主题过程中,需要自定义很多内容,本文是如何为分类添加自定义缩略图。
将如下代码添加到主题functions.php中:…Redis是一个开源、支持网络、基于内存的key-value存储系统,类似memcached,性能极高,支持超过100K+每秒的读写频率,一些…当WordPress管理员忘记密码或需要重置用户密码时,可以使用wp_set_password函数来实现。该函数将为指定用户设置新密码,…WordPress媒体库是很强大、管理媒体相当方便,如果媒体多就给数据库增加了压力,而且很多媒体是不需要上传到媒体库,上传的图片会增加很多无用…自从了解到WordpressMU多站点,就开始一步一步的向多站点发展,也将萨龙网络所有站点都安装在WordpressMU多站点中。在使用多站…一、通过使用全局变量获取评论深度
我相信您应该知道wp_list_comments()函数,它可以将评论打印在网站页面上。
为什么这个功…产品属性可在后台「产品——产品选项——属性」中单独设置(也可在编辑产品时再次添加),有三种类型:文本、颜色和图片,在前台也是以这三种方式来显示。…开发一个WP主题有了前端页面设计的美观与布局外,后台选项也是相当重要的一个组成部分,好的后台框架在使用主题时方便快捷的设置各个功能,也让主题开发…描述
此函数具有一个功能,该功能将用于确定菜单中是否包含页面。
连接到处理页面输出的函数也必须检查用户是否具有所需的…