欢迎访问服务器技术网-www.fuwuqijishu.com

WordPress获取网站文章中所有图片代码方法

网站建设 fuwuqijishu 2年前 (2022-09-04) 90次浏览 0个评论 扫描二维码

如果我们需要调用WordPress网站文章中的图片,我们可以通过直接获取媒体图片的方式,当然也是有插件可以调用的。在这篇文章中,需要分享的是无插件可以实现调用WP程序中所有文章的图片。这个其实对于有些图片类型的网站是有用的,我们需要展示所有的图片。

第一、脚本部分

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'”);
}

将代码加入到当前主题的Functions.php文件中。

第二、如何调用

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

在我们需要调用的主题单页面或者是某个页面直接加入代码就可以调出图片。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Warning: error_log(/www/wwwroot/fuwiqijishu/wp-content/plugins/spider-analyser/#log/log-2317.txt): failed to open stream: No such file or directory in /www/wwwroot/fuwiqijishu/wp-content/plugins/spider-analyser/spider.class.php on line 2900