短代码出现在内容的顶部

时间:2016-03-27 09:49:25

标签: php wordpress shortcode

我创建了一个短代码但由于某种原因它出现在主要内容之上,就在页面内容开始之前。

function aran_show_expertises(  ) {

$expertises = new WP_Query( 'post_type=aran_expertises' );

// The loop:
if( $expertises -> have_posts() ):
    while( $expertises -> have_posts() ): $expertises -> the_post();
        $slider =
            "<script type='text/javascript'>
                jQuery(document).ready(function($){
                   $(window).load(function() {
                      $('.flexslider').flexslider({
                        animation: 'slide',
                        animationLoop: false,
                        itemWidth: 210,
                        itemMargin: 5
                      });
                  });
                });
            </script>

            <div class='flexslider'>
              <ul class='slides'>
                <li>
                  <span> " . the_title() . "</span>
                </li>
              </ul>
            </div>";


    endwhile;

wp_reset_postdata();

else:

    $slider = "no posts";

endif;

return $slider;
}
add_shortcode( 'expertises_slider', 'aran_show_expertises' );

一个奇怪的事情 - 当if语句返回false时,它不会发生。

知道发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

我可以通过将the_title()更改为get_the_title()来解决此问题,因为我输出了标题而不是返回它,因此会出现问题。