【发布时间】:2015-12-18 13:28:18
【问题描述】:
我已经为 wordpress 创建了一个自定义主题,并试图在首页添加一个轮播,我能够添加轮播,当我对图像进行硬编码时,一切正常。我现在想要做什么是在页面内容中使用简码制作图像模块。
我现在要做的是从管理仪表板中的页面内容设置图像 src,如下所示:
<div id="img-carousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#img-carousel" data-slide-to="0" class="active"></li>
<li data-target="#img-carousel" data-slide-to="1"></li>
<?php if( shortcode_exists( 'carousel-img3' ) && !empty( do_shortcode( '[carousel-img3]' ) ) ) { ?>
<li data-target="#img-carousel" data-slide-to="2"></li>
<?php } ?>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="http://placehold.it/1903x647" alt="item0">
</div>
<div class="item">
<img src="http://placehold.it/1903x647" alt="item1">
</div>
<?php if( shortcode_exists( 'carousel-img3' ) && !empty( do_shortcode( '[carousel-img3]' ) ) ) { ?>
<div class="item">
<img src="<?php echo do_shortcode( '[carousel-img3]' ); ?>" alt="item2">
</div>
<?php } ?>
</div>
</div>
我的简码功能如下:
function carousel_img3_func( $params = null, $content ) {
return $content;
}
add_shortcode( 'carousel-img3', 'carousel_img3_func' );
我的页面在 wordpress 管理中是这样的
[carousel-img3]http://placehold.it/1903x647[/carousel-img3]
当我查看页面时没有显示任何内容,然后我将do_shortcode() 更改为以下内容
do_shortcode( '[carousel-img3]http://placehold.it/1903x647[/carousel-img3]' )
这会将图像添加到轮播中并显示在轮播中。无论如何,我可以让它直接从页面中提取简码信息,并能够在未来添加更多简码,以添加更多图像。例如
[carousel-img3]http://placehold.it/1903x647[/carousel-img3]
[carousel-img4]http://placehold.it/1903x647[/carousel-img4]
【问题讨论】:
-
这可能与您的短代码名称中的连字符有关。尝试在任何地方将
carousel-img3更改为carousel_img3 -
@rnevius 我也认为我尝试过使用连字符下划线但都不起作用