如何删除<pre> tag in wp shortcode?</pre>

时间:2014-05-12 16:25:11

标签: php wordpress

我正在尝试创建一个显示最新帖子的短代码。我使用以下代码作为短代码

 function my_recent_posts_shortcode( $atts ) {
extract( shortcode_atts( array( 
        'limit' => 5 
        ), $atts,'recent-posts' ) );

$q = new WP_Query( 
 array('posts_per_page'=>'.$limit.','post_type'=>'post')
);


$list = '';
while($q->have_posts()):$q->the_post();
    $list .= '<div class="post">
        <img class="img_border img_border_b img_fl" src="'.get_template_directory_uri().'/images/blog/01.jpg" alt="Post Image 1" />
        <div class="post_content">
            <h2><a href="'.get_permalink().'">'.get_the_title().'</a></h2>

            '.the_content().'
            <a class="more" href="fullpost.html">More</a>
        </div>
        <div class="clear"></div>
    </div>';

endwhile;

wp_reset_query();

return $list;
}

add_shortcode( 'recent-posts', 'my_recent_posts_shortcode' );

之后我创建了一个页面并为此选择了默认页面模板?这是我的page.php模板循环

<div id="templatemo_content" class="left">
        <?php if(have_posts()) : ?>
            <?php while (have_posts()) : the_post(); ?>
                <?Php the_content();?>
        <?php endwhile; ?>    
            <?php endif; ?> 




    </div>

以下是我的短代码

  [recent-posts limit="3"]

但是当我看到结果时,它会显示一个'pre'标签。

请告诉我解决方案。

2 个答案:

答案 0 :(得分:5)

检查相关页面的编辑模式,其中包含您的短代码。 如果您使用的是一个所见即所得的编辑器,那么您就是在&#34; Visual&#34;模式您的短代码可能有PRE包装器。检查&#34;文字&#34;模式。

<pre>[Blah_shortcode]</pre>

答案 1 :(得分:1)

the_content()正在输出您的内容,请将其替换为apply_filters('the_content',get_the_content()) 在你的recent_posts短代码功能中,更换后它将起作用!!

此致