浏览类别和帖子不能按预期工作

时间:2012-02-29 17:22:47

标签: php wordpress

我有这段代码

<ul>
<?php 

$categories = get_categories('include=9,4,5,6,7,8,3&hide_empty=0'); 

foreach ($categories as $category) {
    $option = '<li class="mainop"><a href="#">'.$category->name.'</a>';

    $args = array( 'category' => $category->cat_ID );
    $myposts = get_posts( $args );

    if ( count($myposts) > 0) {
        $option .= '<ul>';

        foreach( $myposts as $post ) {  
            setup_postdata($post); 
            $option .= '<li><a href=" '.the_permalink().' "> '.the_title().' </a></li>';
        }   

        $option .= '</ul>';
    }

    $option .= '</li>';
    echo $option;
}
?>
</ul>

应该在Wordpress博客中绘制所有类别,并为每个类别绘制子帖的标题。

但是在运行时它会返回以下内容(html代码):

<ul>
  <li class="mainop"><a href="#">Category</a></li>
  http://URL/?p=13Page13http://URL/?p=11Page 11http://URL/?p=9Page 9
  <li class="mainop"><a href="#">Category</a>
    <ul>
      <li><a href="  "> </a></li>
      <li><a href="  "> </a></li>
      <li><a href="  "> </a></li>
    </ul>
  </li>
  <li class="mainop"><a href="#">Category</a></li>
  <li class="mainop"><a href="#">Category</a></li>
</ul>

您是否知道为什么titlea和URL首先放在输出端而不是它们应该放在哪里?

谢谢

1 个答案:

答案 0 :(得分:1)

the_permalink()和the_title()打印出链接和标题 - 它们不会将值作为字符串返回。因此,当您调用函数时,您将值打印到页面中,并将其中的空字符串连接到$ option。