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主题Yewan,客户的网站用户也比较多,要求设计一个按权限(管理员、编辑、作者、投稿者、订阅者…前面我们介绍了wpadd_inline_style函数的使用,并为主题添加自定义样式切换功能,既然有函数可以向站点输出css样式,同时也可以…描述
WordPress核心执行期间,在特定点执行时或特定事件发生时,Actions是钩子。插件可以指定使用ActionAPI在…很多网站的视频都是来自在线视频网站,这样即节省网站空间也带来更高的访问速度,优酷视频是使用较多的。在添加视频文章时我们都想直接获取视频中的缩略图…在更新Concise主题时集成了前端用户中心和商城插件,发现插件中为商城产品文章设置好了固定链接,所以把萨龙网络的作品集与商城的两种自定义类型的…WordPress能够在自定义菜单中存储每个菜单项的描述,默认情况下,这些描述不会显示在前端菜单中,需要为相应的菜单增加显示描述的功能。
一…WordPress自定义的强大不言而喻,很多主题都在使用,也为其创建了可视化的选项面板,用户使用都相当的直观、方便。萨龙网络新开发的LensNe…CodestarFramework,一个轻量且易用的WordPress选项框架,在萨龙龙最新设计开发的企业教育培训类WordPress…一、通过使用全局变量获取评论深度
我相信您应该知道wp_list_comments()函数,它可以将评论打印在网站页面上。
为什么这个功…萨龙网络Purity主题是集成了Woocommerce+Buddypress+Bbpress商城社区论坛,因为www.gravatar.com头…Ubermenu是一个用户友好的、可高度定制响应式的Wordpress超级大菜单插件,工作原理与Wordpress3菜单系统类似,强大到可创建…可以在模板文件中使用WooCommerce和WordPress的条件式标签,以根据匹配页面的条件来显示的特定内容。例如,您可能想要在商店页面上方…