我有这段代码
<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首先放在输出端而不是它们应该放在哪里?
谢谢
答案 0 :(得分:1)
the_permalink()和the_title()打印出链接和标题 - 它们不会将值作为字符串返回。因此,当您调用函数时,您将值打印到页面中,并将其中的空字符串连接到$ option。