自早上以来,我一直在研究一个问题,但没有找到确切的答案。我必须显示主要类别名称,然后显示其子类别名称,然后再显示附加到该子类别的帖子。但是我的循环运行不正确。我想要这样。
我的功能是这个
function carMegaMenu()
{
$result ='<div class="side-menu">';
$result .='<ul>';
$taxonomies = get_terms(array('taxonomy' => 'product_categories','parent' => 0 , 'hide_empty' => false,));
foreach ($taxonomies as $taxonomy) {
$cat_name= $taxonomy->name;
$result .='<li><h3 class="cat-m">'.$cat_name.'</h3>';
// first child taxonom
$result .='<ul>';
$taxonomies_child = get_terms(array('taxonomy' => 'product_categories','parent' => $taxonomy->term_id , 'hide_empty' => false,));
foreach ($taxonomies_child as $taxonomy_child) {
$child_cat_name = $taxonomy_child->name;
$slug = $taxonomy_child->slug;
$result .='<li>';
$result .='<h3 class="cat-m">'.$child_cat_name.'</h3>';
// posts in taxonomy
$result .='<ul>';
$tax_post_args = array(
'post_type' => 'products', // your post type
'posts_per_page' => 999,
'orderby' => 'id',
'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => 'product_categories', // your taxonomy
'field' => 'slug',
'terms' => $slug
)
)
);
$tax_post_qry = new WP_Query( $tax_post_args );
if($tax_post_qry->have_posts()) {
while ( $tax_post_qry->have_posts()) {
$result .='<li><a href="'. get_permalink().'">'.the_title().'</a></li>';
}
}
$result .='</ul>';
$result .='</li>';
$result .='</ul>';
$result .='</li>';
}
$result .='</ul>';
$result .='</div>';
}
if ($result) {
return $result;
} else {
return "";
}
}
问题在此循环中
while ( $tax_post_qry->have_posts()) {
$result .='<li><a href="'. get_permalink().'">'.the_title().'</a></li>';
}
答案 0 :(得分:0)
请使用以下代码,让我知道是否可行
while ( $tax_post_qry->have_posts() ) {
$tax_post_qry->the_post();
echo '<li><a href="'. get_permalink().'">' . get_the_title() . '</a></li>';
}