我正在创建一个小部件菜单(类似于w3schools的侧边栏),它应该显示特定类别中列出的所有帖子。
例如,一旦用户点击导航栏中的“HTML”,它就会从主页上看到它带到了关于课程介绍的页面,并且我已经放置了侧边栏自定义菜单(通过使用拖放),其中还有其他帖子相同类别的名称为“HTML”。
我希望能够发布帖子并在“HTML”类别下标记,在菜单选项中我选择菜单仅在具有“HTML”类别的帖子上显示菜单,然后在我发布帖子后在“HTML”类别下,菜单应自动将另一个帖子添加到列表中。简单地说,一个动态菜单显示特定类别下的所有帖子。
到目前为止,我遇到过这段代码,但是将它放在菜单编辑器中却不起作用:
$catPost = get_posts(get_cat_ID("NameOfTheCategory"));
foreach ($catPost as $post) : setup_postdata($post); ?>
<div>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p><?php the_content(); ?></p>
</div> <?php endforeach;?>
我是WordPress的新手,我尝试过在各处搜索并尝试了很多插件,但我找不到任何东西。
答案 0 :(得分:0)
您可以使用获取类别获取所有类别或特定类别,然后在每个类别上运行WP_Query。
//menu loop
function menu_loop() {
global $post;
$args= array(...);
$categories = get_categories( $args);
foreach ($categories as $category ) {
$args = array (...);
// The Query
$query = new WP_Query( $args );
// The Loop
if ( $query->have_posts() ) {
while ( $query->have_posts() ) { $query->the_post();
}
}
// Restore original Post Data
wp_reset_postdata();
}
}