キャプションである複数のオプションを持つスライダーショートコードを設定し、スライダーのカスタム投稿タイプにメタボックスを使用して、キャプション、キャプションテキストなどを表示するかどうかなどのオプションを提供します。基本的に私が使用した場所
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');