过期域名预定抢注

 找回密碼
 免费注册

非插件實現縮略圖的wp代碼

[複製鏈接]
發表於 2013-12-23 20:43:14 | 顯示全部樓層 |閱讀模式
縮略圖的插件有很多種,比如我最常用的wp-thumbnails,不過在實際運用中我發現,這個插件有時候會跟某些主題有衝突,而且實現不同尺寸的方法也比較複雜,在這裡給大家共享一段非插件實現不同尺寸的縮略圖的方法。經測試多個主題無衝突。
4 r! E! \! _- d8 q1、在主題文件夾中建thumbnail.php文件,添加如下代碼:
5 q& D' i' h7 p; r; u4 y2 \3 v4 e, B7 u# ^: F
<div class="thumbnail_t">
2 y( A7 s8 F1 G<?php if ( get_post_meta($post->ID, 'thumbnail',! U! B5 x; c& \" D% x: e7 i
true) ) : ?>$ G) R! V6 }( M8 @; d
<?php $image = get_post_meta($post->ID, 'thumbnail',
) H- |6 M. a+ h' z; `/ \# m
! O2 G) y5 b) [% utrue); ?>& E2 L0 F% N$ ^' D$ F
<a href="<?php the_permalink() ?>" rel="bookmark"- K! F0 B9 \; D! k/ p
title="<?php the_title(); ?>"><img src="<?php echo $image; ?>"" ]- m% D1 P# V
alt="<?php the_title(); ?>"/></a>
! e4 F) V! F# H<?php else: ?>% y" ^% z6 \4 n* X2 @( |2 V5 P
</div>! q& O5 v; f2 c6 Q- ~& B
<!-- 截圖 -->
* ]; ?: f0 F; R1 o' v3 V/ ?<div class="thumbnail">2 P8 |* \) j$ r7 d6 @/ x& l
<a href="<?php the_permalink() ?>" rel="bookmark"
2 V( r; E& N# x% }3 X9 atitle="<?php the_title(); ?>">
4 d0 l5 @1 D7 C<?php if (has_post_thumbnail())' f; u$ g* }. |1 k% f9 Q2 t
{ the_post_thumbnail('thumbnail'); }
) \3 M  z( L0 m( f9 g/ Oelse { ?>' Z% D, @7 r8 v: L) u
<img class="home-thumb" src="<?php echo6 D6 |  J( Q3 I% `
catch_first_image() ?>" width="125px" height="80px"  (這裡的尺寸可以修改,第一個為寬,第二個為高)
& @* C& G7 Z9 q/ r# walt="<?php the_title(); ?>"/>/ _: n* A0 q! h$ r7 A, @
<?php } ?>
6 w/ Y" T4 L" s8 P
* _- n0 `/ D+ h; }# }</a>
! B/ I  w" ~. H% Q) G- O: p; I<?php endif; ?>! t1 X9 r5 [7 N7 P' p
</div>) B; D, h0 |9 p; {$ E
2、在主題文件夾裡面的functions.php文件中添加下面代碼:0 \$ n$ q. w- i' c; p/ ^0 p
+ N- C7 |6 W; x7 E* @  y
<?php# q% h+ r9 c5 B; _+ C1 Y1 V2 P9 V
if ( function_exists('add_theme_support') )1 W) K- O) W! {+ h2 A9 m
add_theme_support('post-thumbnails');
! F6 q3 o& A7 d, |5 i" ofunction catch_first_image() {
. v- U9 H; Y' Z; k5 Oglobal $post, $posts;
+ m' ]" v6 V/ F0 _# d3 W$first_img = '';
8 k! H9 E. r* pob_start();. `9 ^% e) c4 z6 q& y( s/ U
ob_end_clean();7 D2 x$ B: e; Y, N* @6 q% \
$output =
3 r4 o) W! }3 p' N8 B0 Fpreg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i',
! u; c0 h6 W* j- m# p9 n% B# v9 q$post->post_content, $matches);' a; H& ^2 P! B2 c5 J/ W& F
$first_img = $matches [1] [0];' t* G- K7 A2 J. E7 \
9 W$ v9 y, ~1 J; ?- Z4 j8 S- `
if(empty($first_img)){ //Defines a default image) ^% {0 N0 b6 V& z& ?7 V
$random = mt_rand(1, 10);. G7 c, c' `) R$ @
echo get_bloginfo ( 'stylesheet_directory' );
/ k, n7 c2 @% I$ |8 Techo '/images/random/'.$random.'.jpg';5 p& I2 x2 }8 ~- F
}7 Z( F7 C5 o9 i1 v: u$ v* f4 ?
return $first_img;
* [' }9 x# Z  [/ W, x5 D" X2 |}
7 K1 \1 s* V7 d- u+ g?>9 M* R7 g) H  O
通過下面代碼調用。0 ?9 `% V2 W# x
<?php include('/thumbnail.php'); ?>
- O' d3 J$ X8 i3 N- t9 u; E2 }; ^& L  q4 X
  K$ m6 V9 R, N9 E5 Z& N  l
如果,你想要創建一個新的尺寸的縮略圖,那麼可以在主題文件夾中建thumbnail2.php文件,添加與第一步相同的代碼,在我標記可以修改尺寸的地方修改為你新縮略圖的大小,然後可以直接跳過第二步(前提是第二步已經做過)的情況下通過<?php include('/thumbnail2.php'); ?>調用就可以調出新尺寸的縮略圖了。其他尺寸縮略圖以此類推。! @: T' y$ I: P& r
! z) \& ]$ h$ R' x3 |4 q
/ t( _7 W) m4 ?" L$ _$ U

* \, J1 V2 [- _" V7 G/ o* f
發表於 2013-12-23 23:11:06 | 顯示全部樓層
不是有個特色圖像功能在post中,用這個就行+ {' V; k! F$ t. ?
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

过期高净值品牌域名预定抢注

4um點基跨境網編創業社區

GMT+8, 2024-11-23 21:50

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表