wordpress如何无插件实现首页缩略图

本文将详细的讲解wordpress如何无插件实现首页缩略图相关文章缩略图热门文章缩略图随机文章缩略图wordpress获取缩略图最常见两种方式,一获取特色图片作为缩略图,二获取文中第一张图片作为缩略图。本文以此为契机扩展整理缩略图各类应用。

以下代码均在本地做过测试,如遇到什么问题可在此留言。

获取文章缩略图

wordpress文章缩略图设置详解

编辑模版函数

首先我们需要将两个函数添加到functions.php以获得文章缩略图,将以下代码复制到functions.php中。

//获取文章特色图片
function PostThumbURL() {
    global $post, $posts;
    $thumbnail = '';
    ob_start();the_post_thumbnail();$toparse=ob_get_contents();ob_end_clean();
    preg_match_all('/src=("[^"]*")/i', $toparse, $img_src); $thumbnail = str_replace("\"", "", $img_src[1][0]);
    return $thumbnail;
}
//获取文章首张图片
function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];
  if(empty($first_img)){ //设置默认图片,在文中没有图片是显示
        $first_img = "/wp-content/themes/wii/assets/images/placeholder.jpg";
  }
  return $first_img;
}

说明:

函数PostThumbURL():获取文章特色图片作为缩略图,需要主题支持特色图片,如果你的主题不支持特色图片,将以下代码添加到functions.php

add_theme_support( 'post-thumbnails' );

缩略图引用代码

如果你是要设置首页缩略图的话,只需将下列代码添加到index.php合适的位置。别忘了给图片加上width和height定义大小。

<!-- 如果文章有特色图片 -->
<?php if (has_post_thumbnail()){?>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<img src="<?php echo PostThumbURL(); ?>" alt="<?php the_title(); ?>" />
</a>
<!-- 如果文章没有特色图片则获取首张图片-->
<?php }else if (catch_that_image()) {?>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<img src="<?php echo catch_that_image(); ?>" alt="<?php the_title(); ?>" />
</a>
<?php } ?>

说明:首先获取文章特色图片,没有特色图片,获取文章首张图片,文中没有图片则指定图片。

相关文章缩略图

在下列代码说明的位置添加上缩略图引用代码,然后将代码复制粘贴到single.php,便可实现相关文章缩略图。不过别忘了给缩略图加上样式,这个以后再说。

<div class="thumbnails">
<ul>
<?php
foreach(get_the_category() as $category){
$cat = $category->cat_ID;
}
query_posts('cat=' . $cat . '&orderby=rand&showposts=5');//控制相关文章排序为随机,显示5篇相关文章
while (have_posts()) : the_post();
?>
<li>
/*缩略图引用代码*/
</li>
<?php endwhile; wp_reset_query(); ?>
</ul>
</div>

热门文章缩略图


热门文章缩略图需要wp-postviews插件支持,没有的请先安装此插件。同样在下列代码说明的位置添加上缩略图引用代码,然后将代码复制粘贴到single.php或index.php,便可实现热门文章缩略图。关于样式以后再说。

<div class="thumbnails">
<ul>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'meta_key' => 'views',
'orderby' => 'meta_value_num',
'paged' => $paged,
'order' => DESC,
'showposts' => 5//显示5片文章
);
query_posts($args);
while (have_posts()) : the_post();
?>
<li>
/*缩略图引用代码*/
</li>
<?php endwhile; wp_reset_query(); ?>
</ul>
</div>

随机文章缩略图

在下列代码说明的位置添加上缩略图引用代码,然后将代码复制粘贴到single.php或index.php,便可实现随机文章缩略图。关于样式马上就说。

<div class="thumbnails">
<ul>
<?php
//define number (in this case five posts) of random post
$args = array( 'numberposts' => 5, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
?>
<?php foreach( $rand_posts as $post ) : ?>
<li>
/*缩略图引用代码*/
</li>
<?php endforeach; ?>
</ul>
</div>

可以不经允许随意转载,分享:广州SEO,移动互联网营销 » wordpress如何无插件实现首页缩略图

分享的每套dede模板,整站带数据源码,wordpress模板,整站源码下载,帝国cms模板,带数据帝国cms网站,淘宝客源码,女性网站模板等源码的下载链接地址请咨询QQ索取。
赞 (1)
分享到: 更多