我正在使用wordpress,並希望爲用戶提供使用簡碼將一個滑塊拉入帖子/頁面的功能。使用簡碼來查詢自定義帖子類型和返回輪播
即[slider id="2"]
我也做了以下內容:
- 創建自定義後類型「滑」
- 採用了先進的自定義字段創建的所有職位類型中所需的字段。
創建使用簡碼:
function landwSliderShortcode($atts = [], $content = null, $tag = '') { $atts = array_change_key_case((array)$atts, CASE_LOWER); $slider_atts = shortcode_atts([ 'id' => '1', ], $atts, $tag); return $slider_atts['id']; } function landwSliderShortcodes_init() { add_shortcode('slider', 'landwSliderShortcode'); } add_action('init', 'landwSliderShortcodes_init');
我現在需要調用所要執行的自定義後類型的WP_Query
並建立HTML滑塊另一個功能......正是這部分我正在苦苦掙扎。我有這麼遠:
function getSliderData($sliderId) {
$slidercount = 0;
$args = array(
'post_type' => 'slider',
'post_status' => 'publish',
'posts_per_page' => '1',
'p' => $sliderId,
);
$sliderLoop = new WP_Query($args);
if ($sliderLoop->have_posts()) :
while ($sliderLoop->have_posts()) : $sliderLoop->the_post();
$image = get_sub_field('image');
$image_render = $image['sizes'][$image_asset_size];
$add_link = get_sub_field('add_link');
$link_type = get_sub_field('link_type');
$internal_link = get_sub_field('internal_link');
$external_link = get_sub_field('external_link');
$add_lightbox = get_sub_field('add_lightbox');
$lightboxasset = get_sub_field('lightbox_asset');
$lightboxassetcaption = get_sub_field('lightbox_caption');
$caption = get_sub_field('caption');
$sub_caption = get_sub_field('sub_caption');
?>
<div class="slider-wrap">
<?php if ($add_link) {
if ($link_type == "External") {
echo '<a class="carousel-slide-link" href="'.$external_link.'" target="_blank"></a>';
} else {
echo '<a class="carousel-slide-link" href="'.$internal_link.'"></a>';
}
}
?>
<?php if ($add_lightbox) { ?>
<a class="carousel-slide-link" data-fancybox data-src="#SliderModal<?php echo $slidercount ?>" target="_blank" href="javascript:;"></a>
<?php } ?>
<img src="<?php echo $image_render; ?>">
<!-- 6 Mar 17 added conditional to show the caption -->
<?php if (strlen($sub_caption) > 0 || strlen($caption) > 0) : ?>
<div class="post-wrap-meta">
<span><?php echo $sub_caption; ?></span>
<p class="slider-caption-text"><?php echo $caption; ?></p>
</div>
<?php endif ?>
</div>
<!-- output the modal -->
<div style="display: none;" class="standard__modal" id="SliderModal<?php echo $slidercount; ?>">
<?php echo $lightboxasset ?>
<p class="slider-caption-text">
<?php echo $lightboxassetcaption ?>
</p>
</div>
<?php
$slidercount ++;
endwhile;
?>
<?php
endwhile;
wp_reset_postdata();
endif;
}
我希望能夠給sliderId
VAR傳遞給這個函數,並返回一個全功能的滑蓋(有一個很小的Javascript功能我需要添加到這個HTML以及)。
非常感謝任何人都可以提供幫助。