2

WordPress获取文章所有图片和图片数量

 2 years ago
source link: https://yjyj.net/learn/wordpress-learn/6268.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

WordPress获取文章所有图片和图片数量

2022-04-01

如果想用WordPress做成图片站或者CMS,主页可能需要获取文章所有图片,那么如何实现呢?下面教大家WordPress获取文章所有图片和数量方法:

wordpress主题获取文章中的所有图片

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+x\d+(?=\.(jpg|jpeg|png|gif)$)/i', '', $link); return $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE guid='$link'");}

wordpress主题前台调用代码放在需要显示的位置上

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

获取wordpress文章内容中的图片数量值

if( !function_exists('get_post_images_number') ){ function get_post_images_number(){ global $post; $content = $post->post_content; preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $result, PREG_PATTERN_ORDER); return count($result[1]); } } 

wordpress前台显示代码

<?php echo get_post_images_number().'张图片' ?>

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK