wp_nav_menu列出类别的帖子?

时间:2012-01-29 04:14:43

标签: wordpress

我正在使用WP 3.3.1中的自定义菜单。我可以将一个类别拖到一个菜单中,它会创建一个指向该类别所有帖子的存档页面的链接。我可以在强制列出该类别所有帖子列表的函数中添加一些内容吗?

所以,我最终会得到类似的东西:

<ul>
    <li><a>Category</a>
        <!-- expander -->
        <ul>
            <li><a>Psot 1</a></li>
            <li><a>Post 2</a></li>
            <li><a>Post 3</a></li>
        </ul>
    </li>
</ul>

2 个答案:

答案 0 :(得分:1)

你可以在functions.php中创建walker类

这是带有帖子条目的walker结尾的示例:

        $item_output = $args->before;
    $item_output .= '<a'. $attributes .'>';
    $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
    $term_list = wp_get_post_terms($item->object_id, 'products_brand', array("fields" => "names"));
    if(!empty($term_list[0])){ $item_output .= $indent . '('.$term_list[0].')'; }
    $item_output .= '</a>';
    $item_output .= $args->after;

    if ($item->object=='category') {$cat = $item->object_id;
    $item_output .='<ul>';
    global $post;
    $args = array( 'numberposts' => 5, 'offset'=> 0, 'category' => $cat );
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) :  setup_postdata($post);
    $title=get_the_title(); $permalink=get_permalink(); 
    $item_output .= '<li><a href="'.$permalink.'">'.$title.'</a></li>';
    endforeach;
    $item_output .= '</ul>';
    }

答案 1 :(得分:0)

您可以通过在屏幕选项中启用“帖子”来手动将帖子添加到菜单中(单击右上角的“屏幕选项”,然后勾选“帖子”框 - 您现在将看到一个框包含所有帖子。)

不幸的是,听起来您希望菜单能够自动更新某个类别的所有帖子。我不知道有任何方法可以使用自定义菜单。我认为你必须亲自动手并实际修改主题以使其正常工作......