过期域名预定抢注

用戶名  找回密碼
 免费注册

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

[複製鏈接]
發表於 2013-12-23 20:43:14 | 顯示全部樓層 |閱讀模式
縮略圖的插件有很多種,比如我最常用的wp-thumbnails,不過在實際運用中我發現,這個插件有時候會跟某些主題有衝突,而且實現不同尺寸的方法也比較複雜,在這裡給大家共享一段非插件實現不同尺寸的縮略圖的方法。經測試多個主題無衝突。: y' @* }6 `) `6 b; ?( w( j
1、在主題文件夾中建thumbnail.php文件,添加如下代碼:' A* ?# L* G3 n+ }9 J+ P9 o' ~2 }4 c8 x

0 P6 m' W8 s! h2 x$ l" }' x<div class="thumbnail_t">; _& B8 A/ h% l/ r) a- a0 y
<?php if ( get_post_meta($post->ID, 'thumbnail',6 p6 ]5 X) L' r, ^
true) ) : ?>
7 @) `0 I& Y: r4 ?<?php $image = get_post_meta($post->ID, 'thumbnail',
% V1 N7 m* s7 ^. C6 P- }* Y$ h0 |8 t5 J) U6 D0 Z* |1 }! Q
true); ?>+ S: Q6 S* E  J+ R: z
<a href="<?php the_permalink() ?>" rel="bookmark"$ B. f+ E+ ~6 a$ v" S3 v, G# k" ~
title="<?php the_title(); ?>"><img src="<?php echo $image; ?>"% ?; o/ g$ ?! a& A: U
alt="<?php the_title(); ?>"/></a>
0 Q( L4 B+ Y( h( e& D0 }<?php else: ?>
0 l6 N7 C. t2 @% H</div>1 ]: O$ E7 q, H  h0 z
<!-- 截圖 -->
' ]! B; v! k6 ~. o<div class="thumbnail">
: g- E, w: }( ~* }0 H* O$ f<a href="<?php the_permalink() ?>" rel="bookmark"! p$ w& t9 w/ f5 p9 k
title="<?php the_title(); ?>">! t9 Y3 K3 L; y+ W; R' n1 S8 R4 c
<?php if (has_post_thumbnail()): P7 i+ W, b/ ]/ d6 a" T3 o
{ the_post_thumbnail('thumbnail'); }
9 ], F* @. A' W% T* d, f- c2 nelse { ?>. }0 E1 D# ^/ O. _, K  A! ?. A
<img class="home-thumb" src="<?php echo$ @: z: Z: e  k) M5 P# K
catch_first_image() ?>" width="125px" height="80px"  (這裡的尺寸可以修改,第一個為寬,第二個為高)
/ y& g" [0 L+ [' n( falt="<?php the_title(); ?>"/># C, P' b# v  ^8 U8 [% }0 g
<?php } ?>2 r$ F& G( u6 U

2 A  |9 o0 R  k: g8 A% X7 l3 u</a>  C0 N/ {" y( _$ g7 `2 C
<?php endif; ?>$ f0 r7 s3 C& z" d
</div>
' K- F4 _( O1 V6 J: p2、在主題文件夾裡面的functions.php文件中添加下面代碼:; ]( s1 v+ N9 k- z8 e3 V$ |
8 Q- q  M/ z* a% a# o# t. S0 g
<?php
2 [) S# r. G. y+ z1 p9 cif ( function_exists('add_theme_support') )
2 R- p& W" C* E  Ladd_theme_support('post-thumbnails');9 G: ^5 c. j9 ?; o, ]
function catch_first_image() {
; C8 ~& e1 S. I5 m# E9 s3 f8 Kglobal $post, $posts;  K% Z8 M7 J6 ~8 }  }) c
$first_img = '';' W3 Q+ s1 P' f/ R# \
ob_start();# J5 D4 n- z8 \% ^9 M
ob_end_clean();" L0 D" c* J( Z
$output =
2 {6 @. z& K2 ]" D( mpreg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i',9 n7 O% M* t  j( ]3 @
$post->post_content, $matches);
# f: H2 c7 |0 \. h* `$first_img = $matches [1] [0];
: _, s# T( X: k( f$ {
6 d. ^$ _2 j- T5 Q: M/ rif(empty($first_img)){ //Defines a default image% F0 n) Y+ L1 @
$random = mt_rand(1, 10);
( Y8 t$ R/ x0 s( e# A2 Uecho get_bloginfo ( 'stylesheet_directory' );
" b! T, V/ O" }1 z: `2 s8 secho '/images/random/'.$random.'.jpg';
; ]" z) q8 L) _' M- C" H}/ [/ G* a8 I9 f  ~, d  ]
return $first_img;! y$ F: }% j, c
}8 T5 e7 w$ j$ [
?>8 J% |( G. g( X# m7 I, U
通過下面代碼調用。( L! ]( O) i* n9 h* }) ^; S* ^; c
<?php include('/thumbnail.php'); ?>8 |* [, x# e) M- w
. y$ @& ?& m4 e' G( H. x

) E) i1 m) T2 l" {% n如果,你想要創建一個新的尺寸的縮略圖,那麼可以在主題文件夾中建thumbnail2.php文件,添加與第一步相同的代碼,在我標記可以修改尺寸的地方修改為你新縮略圖的大小,然後可以直接跳過第二步(前提是第二步已經做過)的情況下通過<?php include('/thumbnail2.php'); ?>調用就可以調出新尺寸的縮略圖了。其他尺寸縮略圖以此類推。) S5 n. _  j$ `- S; @

0 C+ D  }* r! p  f
' @( f- U% |' a" y
+ H  L) s& \, ~; `- }
發表於 2013-12-23 23:11:06 | 顯示全部樓層
不是有個特色圖像功能在post中,用這個就行7 U) N  g9 P/ \. c: {
回復 给力 爆菊

舉報

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

本版積分規則

點基跨境 數位編輯創業論壇

GMT+8, 2025-7-27 04:54

By DZ X3.5

小黑屋

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