WordPress调用文章所有图片做图片集方法
WordPress程序主要是为博客开发的,但是这个程序的可开发性非常强,所及基本上能够实现你所想要的所有功能,例如我们想要实现图片集功能,其实也很简单,只需要通过相关代码获取文档中所有图片即可,方法有很多,网上的教程也非常多,这里我分享一种非常加单的方法:
调用代码如下:
<?php echo hui_get_thumbnail(false,true);?>
修改方法如下:找到主题模板中的functions.php文件,在其中加入如下代码:
<?php function hui_get_thumbnail( $single=true, $must=true ) { global $post; $html = ''; if ( has_post_thumbnail() ) { $domsxe = simplexml_load_string(get_the_post_thumbnail()); $src = $domsxe->attributes()->src; $src_array = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), 'thumbnail'); $html = sprintf('<li><img src="%s" /></li>', $src_array[0]); } else { $content = $post->post_content; preg_match_all('/<img.*?(?: |\t|\r|\n)?src=['"]?(.+?)['"]?(?:(?: |\t|\r|\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER); $images = $strResult[1]; $counter = count($strResult[1]); $i = 0; foreach($images as $src){ $i++; $src2 = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), 'thumbnail'); $src2 = $src2[0]; if( !$src2 && true ){ $src = $src; }else{ $src = $src2; } $item = sprintf('<li><img src="%s" /></li>', $src); if( $single){ return $item; break; } $html .= $item; if( ($counter >= 4 && $counter < 8 && $i >= 4) || ($counter >= 8 && $i >= 8) || ($counter > 0 && $counter < 4 && $i >= $counter) ){ break; } } } return $html; } function hui_get_attachment_id_from_src ($link) { global $wpdb; $link = preg_replace('/-d+xd+(?=.(jpg|jpeg|png|gif)$)/i', '', $link); return $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE guid='$link'"); } ?>
这样就实现了调用文章中所有图片了。当然图片调用出来是无序列表的方式展示的,这个时候我们可以在上面的代码中加入你想加入的属性和样式!
版权保护: 本文由小冬SEO编辑发布,转载请保留链接: http://www.myseoyh.cn/shuo/101.html