WordPress获取网站文章中所有图片代码方法
如果我们需要调用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); ?>
在我们需要调用的主题单页面或者是某个页面直接加入代码就可以调出图片。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: WordPress获取网站文章中所有图片代码方法
本文地址: https://pptw.com/jishu/666739.html