標籤:

wordpress 獲取文章內所有圖片

wordpress 獲取文章內所有圖片

來自專欄子非魚

將以下代碼「可以根據自己實際需求修改」插入到激活主題中的 functions.php 中

function hui_get_thumbnail( $single=true, $must=true ) { global $post; $html = ; if ( has_post_thumbnail() ) { $domsxe = simplexml_load_string(get_the_post_thumbnail()); $src = $domsxe->attributes()->src; $src_array = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), thumbnail); $html = sprintf(<li><img src="%s" /></li>, $src_array[0]); } else { $content = $post->post_content; preg_match_all(/<img.*?(?: |\t|\r|\n)?src=["]?(.+?)["]?(?:(?: |\t|\r|\n)+.*?)?>/sim, $content, $strResult, PREG_PATTERN_ORDER); $images = $strResult[1]; $counter = count($strResult[1]); $i = 0; foreach($images as $src){ $i++; $src2 = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), thumbnail); $src2 = $src2[0]; if( !$src2 && true ){ $src = $src; }else{ $src = $src2; } $item = sprintf(<li><img src="%s" /></li>, $src); if( $single){ return $item; break; } $html .= $item; if( ($counter >= 4 && $counter < 8 && $i >= 4) || ($counter >= 8 && $i >= 8) || ($counter > 0 && $counter < 4 && $i >= $counter) ){ break; } } } return $html;}function hui_get_attachment_id_from_src ($link) { global $wpdb; $link = preg_replace(/-d+xd+(?=.(jpg|jpeg|png|gif)$)/i, , $link); return $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE guid=$link");}

前端調用

<?php echo hui_get_thumbnail(false,true);?>

參考

2zzt.com/jcandcj/7294.h

推薦閱讀:

搬瓦工VPS部署LAMP安裝WordPress
WordPress.org 和 WordPress.com 的功能和價格區別
wordpress 對於特色圖片的處理

TAG:WordPress | PHP |