4.自動獲取文章圖像# n) ^+ f4 L$ {. [+ d5 s
0 m3 J9 b; F" B! Z8 e! @問題:使用自定義字段來顯示和日誌相關的圖像固然很好,但是許多用戶想直接檢索並使用文章本身嵌入的圖像。
5 j# N7 j: Z! C9 ^1 a0 `+ c; A" A1 y8 @; `
解決方案: 至今為止,還沒有這樣的插件。值得慶幸的是,以下循環將幫我們解決這一問題:它會搜索文章內容的圖像並把它們顯示出來
- Q& t4 c, _& T$ ?" v0 r+ ?6 R9 s, L把以下代碼粘貼到主題文件任意位置:0 J- F/ ^& P* I
<?php if (have_posts()) : ?>" |' {# M! K8 u6 q% A
<?php while (have_posts()) : the_post(); ?>0 V0 B1 P1 ?* l$ `; v- M
<?php
a: u$ d* T! A$szPostContent = $post->post_content;
( Q- n, T+ b% y% r: K; f/ P$szSearchPattern = '~<img [^\>]*\ />~';
7 q( V$ `3 r+ ^! o# G; E; m// Run preg_match_all to grab all the images and save the results in $aPics. E8 C n6 s: z
preg_match_all( $szSearchPattern, $szPostContent, $aPics );5 r/ b( m4 C- }
// Check to see if we have at least 1 image* t8 s6 p6 B0 p1 a. B6 S1 F
$iNumberOfPics = count($aPics[0]);* d6 Y5 N! @: _* r$ T( G& |" }
if ( $iNumberOfPics > 0 ) {
0 p6 z- p, {- B// Now here you would do whatever you need to do with the images
8 e$ q2 `) U1 @% w' L; |( V* W P// For this example the images are just displayed( y; w; ^$ q+ J/ ]# [9 |& K1 r
for ( $i=0; $i < $iNumberOfPics ; $i++ ) {
; F; X% i- ~4 N. A% g" y% Qecho $aPics[0][$i]; z9 g2 `+ s) K& I4 j, p/ h
};* x! @$ J8 U/ S; d* Z; m
};# N. c* _# A" `
endwhile;
( W* _8 L2 F, u+ b$ G4 q" b7 Aendif;1 j% d( p e# c X
?>" n( t- s( G# C3 p* ?, }! z% a! k
& N: k5 u! q. ^0 A- L: }: B代碼說明:以上代碼實際上包含了一個WordPress循環。使用PHP和正則表達式的唯一區別就是前者會自動搜索文章內容中的圖像而不是僅僅顯示文章。一旦發現圖像,系統就會顯示。 |
|