循环显示多种帖子类型和帖子

时间:2018-08-07 15:51:05

标签: php wordpress

我想做什么:

我想创建一个导航菜单,其中每个下拉菜单都是其自己的帖子类型。

  1. 电影
    • movie1
    • movie2
    • book1
    • book2
  2. 游戏
    • game1
    • game2

我到目前为止所做的事情:

我还不是最擅长php的人,但是我试图解决一些问题:

echo "<ul class="menu">";

$post_type = get_post_types( array('Movie', 'Book', 'Game') );

foreach( $post_type as $type ) {

    $args = array(
        'post_type' => $type
    );

    echo "<li>".$type."<ul class="dropdown">";

    $posts = get_posts( $args );

    if( $posts ) {

        foreach( $posts as $post ) {

            echo "<li>".get_the_title( $post->ID, 'title' )."</li>";

        }
    echo "</ul></li>";
    }
}
echo "</ul>";

问题:

是否有一种更聪明的制作下拉菜单的方法?或我该怎么做才能使其正常工作?

1 个答案:

答案 0 :(得分:0)

该方法没有什么问题,除了您不应该使用get_post_types() -仅使用一系列帖子类型名称即可。

目前,'post_type' => $type应该将数组传递给post_type,而该数组应该是字符串。

另外,echo "<li>".$type."<ul class="dropdown">";应该在foreach之前位于您的if( $posts ) {内。