自动将页面添加到类别菜单

时间:2011-10-09 作者:Corbula

我创建了一个名为Products的自定义帖子类型,在产品页面的左侧边栏中有一个菜单。此菜单由产品类别组成。

是否可以根据产品的类别将我的产品自动添加到类别菜单?

例如,我制作一个产品,我给它一个蓝色的类别。当菜单中出现蓝色时,产品将自动添加到蓝色下方。

这可能吗?

谢谢

更新:更清楚地说,我使用了一个名为Jquery手风琴菜单的插件,菜单使用了一个小部件。它仍然使用内置的wordpress菜单系统。Jquery Accordion小部件实际上只是设置菜单样式,在小部件设置中,您可以选择希望它显示的菜单。

在下面的注释之后,我在插件文件中找到了这段代码。我不知道这是否有帮助。

        function widget($args, $instance) {
            extract( $args );
            // Get menu

            if(! isset($instance[\'speed\']) ){ $instance[\'speed\'] = \'slow\'; }

            $widget_options = wp_parse_args( $instance, $this->defaults );
            extract( $widget_options, EXTR_SKIP );

            $nav_menu = wp_get_nav_menu_object( $instance[\'nav_menu\'] );

            if (!$nav_menu)
                    return;

            $instance[\'title\'] = apply_filters(\'widget_title\', $instance[\'title\'], $instance, $this->id_base);

            $classMenu = ($instance[\'classMenu\'] != \'\') ? $instance[\'classMenu\'] : \'menu\';

            echo $args[\'before_widget\'];

            if ( !empty($instance[\'title\']) )
                    echo $args[\'before_title\'] . $instance[\'title\'] . $args[\'after_title\'];

            ?>

            <div class="dcjq-accordion" id="<?php echo $this->id.\'-item\'; ?>">

                    <?php
                            wp_nav_menu(
                                    array(
                                            \'fallback_cb\' => \'\',
                                            \'menu\' => $nav_menu,
                                            \'container\' => false,
                                            \'menu_class\' => $classMenu
                                            )
                                    );
                    ?>

            </div>
            <?php

            echo $args[\'after_widget\'];
    }
编辑2:如果我可以在没有插件的情况下工作,那就太好了。我只需要一些菜单,自动显示类别和该类别的页面。

2 个回复
最合适的回答,由SO网友:Corbula 整理而成

我找到了这个插件,它完全满足了我的需要。

http://wordpress.org/extend/plugins/collapsing-categories/

SO网友:kaiser

是的,这是可能的。

根据您构建菜单的方式,您必须这样调用帖子(填写占位符):

// Call/Query the posts related to the category:
$your_cat_related_cpts = get_posts( array(
     \'post_type\' => \'YOUR_CUSTOM_POST_TYPE\'
    ,\'category\' => \'YOUR_CATEGORY\'
) );
// Append them to your menu:
foreach ( $your_cat_related_cpts as $content )
{
    echo $content->post_title;
}

结束