感谢您的支持和推荐。我做了一些代码生成。我使用的是dreamweaver,在使用PHP时似乎总是有点凌乱。
如果我使用the_post(); 相反,我得到了一个循环,它只重复两次。比以前好多了,但我觉得我做错了什么。你到底是什么意思$post 变量重命名post变量以排除其他冲突是否更好?
<ul>
<?php
$terms = get_terms($taxonomy);
foreach($terms as $term)
{
$posts = get_posts(array(
\'numberposts\' => -1,
\'post_type\' => get_post_type() ,
\'post_parent\' => 0,
\'tax_query\' => array(
array(
\'taxonomy\' => $taxonomy,
\'field\' => \'slug\',
\'terms\' => custom_taxonomies_terms_links() ,
)
) ,
));
foreach($posts as $post): ?>
<li><!--Content here--></li>
<?php endforeach;
the_post(); ?>
<?php } ?>
这个custom_taxonomies_terms_links() 是获取当前分类法的当前术语的一种方法。
<?php
function custom_taxonomies_terms_links()
{
global $post, $post_id;
$post = & get_post($post->ID);
$post_type = $post->post_type;
$taxonomies = get_object_taxonomies($post_type);
foreach($taxonomies as $taxonomy)
{
$terms = get_the_terms($post->ID, $taxonomy);
if (!empty($terms))
{
foreach($terms as $term) $out.= $term->name;
}
}
return $out;
} ?>
实际上,我不确定这样做是最好的还是优雅的。