我正在尝试制作一个动态引导轮播,我想在其中显示博客的缩略图和标题。
我正在使用bootstrap 4来满足我的需求。
当我隐含代码时,它在我的本地主机上得到了这个错误
致命错误:未捕获错误:在第35行的C:\ wamp64 \ www \ wpress \ wp-content \ themes \ bassfacemusics-in \ index.php中调用未定义函数wp_get_attachment_src()
这是轮播开始的完整代码行:
<div id="slider" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<?php
$args = array(
'cat' => 1,
'post_per_page' => 4
);
$query = new WP_Query( $args );
?>
<?php if($query->have_posts()) : ?>
<?php $i = 0; ?>
<?php while($query->have_posts()) : $query->the_post();
$thumb_id = get_post_thumbnail_id();
$thumb_url = wp_get_attachment_src($thumb_id,true); ?>
<div class="carousel-item <?php if($i === 0): ?>active<?php endif; ?>">
<img src="<?php $thumb_url[0] ?>" alt="<?php the_title();?>">
</div>
<?php $i++; ?>
<?php endwhile ?>
<?php endif ?>
<?php wp_reset_postdata(); ?>
</div>
<!-- Controls -->
<a href="#slider" class="carousel-control-prev" data-slide="prev">
<span class="carousel-control-prev-icon"></span>
</a>
<a href="#slider" class="carousel-control-next" data-slide="next">
<span class="carousel-control-next-icon"></span>
</a>
</div>
答案 0 :(得分:0)
Wordpress中没有名为wp_get_attachment_src(int $id, bool $icon)
的函数。
似乎您想使用wp_get_attachment_image_src()
。
要使用它,您需要更改以下行:
$thumb_url = wp_get_attachment_src($thumb_id,true);
对此:
$thumb_url = wp_get_attachment_image_src($thumb_id, 'thumbnail', true);
第二个参数具有以下内容:
(字符串|数组)(可选)图像大小。接受任何有效的图像尺寸,或以像素为单位的宽度和高度值(按此顺序)的数组。
默认值:“缩略图”
因为您似乎想设置第三个参数you can not simply skip the second parameter,但是需要显式设置它。这就是为什么'thumbnail'
是作为调用中的参数提供的,尽管它是默认值,但并未省略。
结果将是包含有关图像信息的数组,如果发生错误,则为false
。
array [
0 => url
1 => width
2 => height
4 => is_intermediate
]
示例实现为:
$image = wp_get_attachment_image_src($attachment_id);
if ($image !== false) : ?>
<img src="<?= $image[0] ?>" width="<?= $image[1] ?>" height="<?= $image[2] ?>" />
<?php endif ?>