我一直在设置一个带有多个选项的滑块简码,这是一个标题,使用元框作为滑块的自定义帖子类型,以提供诸如是否显示标题、标题文本等选项。基本上我用过的地方
if ( $captionCheckbox !== '1') {
至
endif;
$slider .= '</li>';
if 和 endif 之间的所有内容都破坏了主题,但我不明白为什么,如果有帮助,这里是整个短代码。
function ls_slider_shortcode( $atts, $content = null ) {
$slider = '<section id="slider" class="flexslider container clearfix">';
$slider .= '<ul class="slides">';
$sliderQuery = "post_type=slider";
query_posts( $sliderQuery );
if ( have_posts() ) : while ( have_posts() ) : the_post();
$slideImage = get_the_post_thumbnail( $post->ID, 'slider');
$slider .= '<li>';
$slider .= $slideImage;
$captionCheckbox = get_post_meta( get_the_id(), 'ls_show_slider_caption', true);
$productCheckbox = get_post_meta( get_the_id(), 'ls_show_button_link', true);
$position = get_post_meta( get_the_id(), 'ls_caption_position', true);
$heading = get_post_meta( get_the_id(), 'ls_caption_heading', true);
$text = get_post_meta( get_the_id(), 'ls_caption_text', true);
$productLink = get_post_meta( get_the_id(), 'ls_project_link', true);
if ( $captionCheckbox !== '1' ) {
$slider .= '<div class="caption' . $position . '>';
$slider .= '<div class="body">';
$slider .= '<h2 class="caption-title">' . $heading . '</h2>';
$slider .= '<p>' . $text . '</p>';
$slider .= '</div>';
if ( $captionCheckbox !== '1' ) {
$slider .= '<a href="' . $productLink .'">View Project</a>';
}
endif;
$slider .= '</div>'
}
endif;
$slider .= '</li>';
endwhile; endif; wp_reset_query();
$slider .= '</ul>';
$slider .= '</section>';
return $slider;
}
add_shortcode('slider', 'ls_slider_shortcode');