我已经为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 admin
中看起来像这样[carousel-img3]http://placehold.it/1903x647[/carousel-img3]
当我查看页面时,没有显示任何内容,然后我将do_shortcode()
更改为以下
do_shortcode( '[carousel-img3]http://placehold.it/1903x647[/carousel-img3]' )
这会将图像添加到旋转木马中并显示在旋转木马中。无论如何,我可以让它直接从页面中提取短代码信息,并能够在将来添加更多短代码,以添加更多图像。 e.g。
[carousel-img3]http://placehold.it/1903x647[/carousel-img3]
[carousel-img4]http://placehold.it/1903x647[/carousel-img4]
答案 0 :(得分:0)
也许您应该将结构更改为:
//[carousel images="foo.jpg,bar.jpg"]
function carousel_func( $atts ) {
$ouptput = "";
$images = explode(",",$atts['images'];
foreach($images as $image){
$output .= "<div class='item'><img src='" . $image . "' /></div>";
}
return $output
}
add_shortcode( 'carousel', 'carousel_func' );
答案 1 :(得分:0)
使用短代码不是编辑主题的正确方法,而应使用主题选项页面。我使用Wordpress codex https://codex.wordpress.org/Creating_Options_Pages
完成了这项工作