调用图片
View Code
1 //1. 首先在 function.php 中新增函数 catch_that_image 2 function catch_that_image() { 3 global $post, $posts; 4 $first_img = ''; 5 ob_start(); 6 ob_end_clean(); 7 $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); 8 $first_img = $matches [1] [0]; 9 if(empty($first_img)){ //Defines a default image 10 $first_img = "http://yourwebsite/default.jpg"; 11 } 12 return $first_img; 13 } 14 15 //1.1 function.php的另外一种方法 16 function catch_the_image( $id ) { 17 // global $post, $posts; 18 $first_img = ''; 19 // 如果设置了缩略图 20 $post_thumbnail_id = get_post_thumbnail_id( $id ); 21 if ( $post_thumbnail_id ) { 22 $output = wp_get_attachment_image_src( $post_thumbnail_id, 'large' ); 23 $first_img = $output[0]; 24 } 25 else { // 没有缩略图,查找文章中的第一幅图片 26 ob_start(); 27 ob_end_clean(); 28 $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); 29 $first_img = $matches [1] [0]; 30 if(empty($first_img)){ // 既没有缩略图,文中也没有图,设置一幅默认的图片 31 $first_img = "http://yourdomain.tld/images/default.jpg"; 32 } 33 } 34 return $first_img; 35 } 36 //2. 调用 <img src="<?php echo catch_that_image() ?>" alt="" /> //3. 循环调用 <?php if (have_posts()) : ?> <?php query_posts('cat=3' . $mcatID. '&caller_get_posts=1&showposts=6'); ?> <?php while (have_posts()) : the_post(); ?> <li> <p><a href="<?php the_permalink() ?>" ><img src="<?php echo catch_that_image() ?>" alt="" /></a></p> </li> <?php endwhile;?> <?php else : ?> <?php endif; ?> 37
posted on 2013-05-12 01:59 unifyyeteng 阅读(115) 评论(0) 编辑 收藏 举报