删除<pre> tag from shortcode loop</pre>

时间:2013-11-19 12:56:49

标签: wordpress shortcode pre

我有生成帖子列表的短代码,但帖子会自动包含在<pre>标签中,我不确定如何删除它们。例如:

<pre><li><a href=''><img src=''></a></li></li><pre>

这是短代码:

[loop the_query="tag=news"]

这是功能:

 function custom_query_shortcode($atts) {

   extract(shortcode_atts(array(
      "the_query" => ''
   ), $atts));

   $the_query = preg_replace('~&#x0*([0-9a-f]+);~ei', 'chr(hexdec("\\1"))',   $the_query);
   $the_query = preg_replace('~&#0*([0-9]+);~e', 'chr(\\1)', $the_query);

   query_posts($the_query);

   $output = '';
   $temp_title = '';
   $temp_link = '';
   $temp_thumb = '';

   if (have_posts()) : while (have_posts()) : the_post();

      $temp_title = get_the_title($post->ID);
      $temp_link = get_permalink($post->ID);
      $temp_thumb = the_post_thumbnail( 'side-thumb' );

      $output .= "<li><a href='$temp_link'>$temp_title <img src='$temp_thumb'></a></li>";

   endwhile; else:

      $output .= "nothing found.";

   endif;

   wp_reset_query();
   return $output;

}
add_shortcode("loop", "custom_query_shortcode");

1 个答案:

答案 0 :(得分:1)

我想看看以下内容:

  • 你在做正则表达式比特吗?他们有必要吗?
  • 缺少ul标签可能是个问题
  • query_posts对于类似这样的东西有点狡猾,你真的应该改为使用WP_Query来避免各种各样的voodoo恶作剧,它是运行多个循环的更好方法,我怀疑,因为query_posts劫持主查询,这样做基本上在另一个循环内部可能是什么导致了各种各样的汤姆foolery。
祝你好运。