Slick Slider Wordpress自定义帖子类型

时间:2018-09-10 18:50:38

标签: php html wordpress

我有一个静态的滑动滑块,可用来运行推荐书,而不是硬打字,我想从已设置的WordPress自定义帖子类型中将其拉出,有人可以向我指出正确的方向:

<section class="testimonials">
    <div class="container text-center">
        <div class="row">
            <div class="col-md-12">
                <div class="slick-testimonial">
                    <div class="item">
                        <div class="testimonial">
                            <img src="<?php  bloginfo('template_url');  ?>/images/icons/testimonals.png" class="center-block">
                            <h1>What our customers say</h1>
                            <h3>"Fantastic service"</h3>
                            <p>Review Text Here</p>
                            <p class="name">Customer Name 1</p>
                        </div>
                    </div>
                    <div class="item">
                        <div class="testimonial">
                            <img src="<?php  bloginfo('template_url');  ?>/images/icons/testimonals.png" class="center-block">
                            <h1>What our customers say</h1>
                            <h3>"Excellent"</h3>
                            <p>Review Text Here</p>
                            <p class="name">Customer Name 2</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</section>

我认为我需要为自定义帖子类型创建一个数组,并在项目中添加标题名称和文本,但不确定如何编写。

1 个答案:

答案 0 :(得分:1)

您只需要与WordPress的WP_Query类进行交互。这实际上是获得少量帖子的方法。

我还将考虑对滑块进行一些重组,以便“我们的客户说的是” 在单个幻灯片项之外,但我偏离了:

您所需要做的就是设置一个新的WP_Query并将item div替换为一个简单的while循环:

<?php
    $slider_args  = array(
        'post_type'      => 'testimonials',
        'posts_per_page' => 10
    );

    $slider_query = new WP_Query( $slider_args );
?>
<section class="testimonials">
    <div class="container text-center">
        <div class="row">
            <div class="col-md-12">
                <div class="slick-testimonial">
                    <?php
                        if( $slider_query->have_posts() ){
                            while( $slider_query->have_posts() ){ $slider_query->the_post(); ?>
                                <div class="item">
                                    <div class="testimonial">
                                        <img src="<?php bloginfo('template_url');  ?>/images/icons/testimonals.png" class="center-block">
                                        <h1>What our customers say</h1>
                                        <h3><?php the_title(); ?></h3>
                                        <p><?php the_content(); ?></p>
                                        <p class="name"><?php echo get_post_meta( get_the_ID(), 'reviewer_name', true ); ?></p>
                                    </div>
                                </div>
                            <?php }
                        } else { ?>
                            <div class="item">
                                <div class="testimonial">
                                    <h3>No Testimonials Found</h3>
                                </div>
                            </div>
                        <?php }
                        wp_reset_postdata();
                    ?>
                </div>
            </div>
        </div>
    </div>
</section>

请注意,此代码有一些假设。您需要将post_type替换为已注册的CPT的名称,并且可以调整使用posts_per_page参数获得的CPT的数量。我之所以选择10个,是因为。

这还假设您将审阅者姓名保存在名为reviewer_name的元字段中,但这足以使您入门