bbpress 添加特色图(缩略图 featured image)的方法

 

wordpress bbpress 添加 featured image

后台 forum 添加 featured image

add_post_type_support('forum', array('thumbnail'));

function ks_forum_icons() {

if ( 'forum' == get_post_type() ) {

global $post;

if ( has_post_thumbnail($post->ID) )

echo get_the_post_thumbnail($post->ID,'thumbnail',array('class' => 'alignleft forum-icon'));

}

}

add_action('bbp_theme_before_forum_title','ks_forum_icons');

后台 topic 添加 featured image

add_post_type_support('topic', array('thumbnail'));

使用方法:http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail

<?php echo get_the_post_thumbnail($post_id, 'full'); ?>
---------------------------------------------------------------------------------------------------------------

我想大部分人都很清楚WordPress 2.9版本开始,就增加了Featured Image这个功能。而且这样的功能多用于杂志式的主题,从里一个角度来说,用缩略图的形式比摘要输出形式更能体现网站的可读性!这里就介绍下如何为你的 WordPress主题添加Featured Image功能。

首先,看一看你的主题包,在functions.php文件里必须有下面的语句才能开启单篇日志以及页面里的Featured Image功能。

add_theme_support( 'post-thumbnails' );

当然,如果你只希望在单篇日志里开启这样的功能,只要加入

add_theme_support( 'post-thumbnails', array( 'post' ) );

页面功能同理:

add_theme_support( 'post-thumbnails', array( 'page' ) );

之后,你就需要设定你的缩略图大小,在保证图像不扭曲的情况下,图片的宽度或者高度会被自动按比例调整到最合适的大小,比如100×50像素的图 像,在一个固定为50×50像素大小的显示框下,会调整到50×25像素大小。这样的好处是能显示全部的图像。不过你可以发现,很多时候,缩略图的大小未 必能完全合适整个显示框的大小。比如刚刚的例子,至少还有一半的空间是空余的。因此,你可以自由设定显示框里缩略图的大小,比如单独限定高度或者宽度大 小。不过,这样设置,缩略图可能会扭曲或者只显示一部分。

一下这个定义语句表示现实框的大小为50X50像素,缩略图按比例自动调整。

set_post_thumbnail_size( 50, 50 );

再来看看下面这个定义语句。它表示缩略图会被自动截图成为大小为50X50像素。但是缺点很明显,它只是从坐标0,0开始截图,对于大图来说,它只是显示图片的冰山一角。

set_post_thumbnail_size( 50, 50, true );

现在,你可以开始讲这些定义语句添加在你的主题里,通常都被用在循环(the loop)定义里。

has_post_thumbnail() 将定义是否在当前日志里显示被手动添加的日志缩略图(in the loop)。

<?php

if ( has_post_thumbnail() ) {

// the current post has a thumbnail

} else {

// the current post lacks a thumbnail

}

?>
如果缩略图存在,下面这句定义将显示缩略图

<?php the_post_thumbnail(); ?>
以上这些都是最基本的定义。当然还有更深入的用法。

假设,如果你要在首页显示比较小的缩略图(比如50×50像素),但是在单独日志页面显示比较大的缩略图(比如宽度限定在400像素),你可以完全自定义。

在functions.php里:

add_theme_support( 'post-thumbnails' );

set_post_thumbnail_size( 50, 50, true ); // 非单独页面的显示设置

add_image_size( 'single-post-thumbnail', 400, 9999 ); // 单独日志页面显示设置,9999像素为的是给缩略图另一边大小以最大的空间。

在home.php / index.php (取决于你的主题设计)(in the loop) :

<?php the_post_thumbnail(); ?>
在single.php (in the loop) :

<?php the_post_thumbnail('single-post-thumbnail'); ?>
希望你能看得明白以上的设置。

原理是,set_post_thumbnail_size () 对应 add_image_size ('post-thumbnail') 一起工作。同时,当你添加更多的设定到里面,比如add_image_size( $handle, $width, $height, {$hard_crop_switch} ); 然后the_post_thumbnail( $handle );就会开始工作,处理并按照你定义的缩略图样式。

当然,如果你要你的主题支持更早的WordPress版本,你必须得用function_exisit ()(以上的例子里并没有使用function_exisit (),为的是尽量让定义简单易用。):

if ( function_exists( 'add_theme_support' ) ) { // Added in 2.9

add_theme_support( 'post-thumbnails' );

set_post_thumbnail_size( 50, 50, true ); // Normal post thumbnails

add_image_size( 'single-post-thumbnail', 400, 9999 ); // Permalink thumbnail size

}

不过需要明白的是,这个功能只针对新上传的图片。假如你之前使用过带有缩略图显示功能的主题,并且新的主题对缩略图的大小设定有别于之前的主题,那么以前上传过的缩略图大小还是保持原来的大小,而新的缩略图将定义于新的设定。

 

 






#现在前往

精选留言

bbpress,添加,特色,略图
sample
2020-11-10
写留言
签到
投稿
QQ咨询
返回顶部