在子菜单中输入自定义帖子,并将自定义元框作为标题,并使用自定义html

时间:2013-08-13 作者:asaunders

我试图在wordpress中创建一个菜单,使用自定义帖子类型作为顶层的主菜单项,它的所有子菜单都将包含在我在其中创建的帖子中。

我想尝试创建的html是:

<ul>
<li><a href=\'#\'>Home</li>
<li><a href=\'#\'>Products
    <ul>
        <li class=\'column\'>
            <h2>Seating</h2>
            <ul>
                <li><a href=\'#\'>Custom post link</a></li>
                <li><a href=\'#\'>Custom post link</a></li>
                <li><a href=\'#\'>Custom post link</a></li>
            </ul>
        </li>
        <li class=\'column\'>
            <h2>Desking</h2>
            <ul>
                <li><a href=\'#\'>Custom post link</a></li>
                <li><a href=\'#\'>Custom post link</a></li>
                <li><a href=\'#\'>Custom post link</a></li>
            </ul>
        </li>
        <li class=\'column\'>
            <h2>Accessories</h2>
            <ul>
                <li><a href=\'#\'>Custom post link</a></li>
                <li><a href=\'#\'>Custom post link</a></li>
                <li><a href=\'#\'>Custom post link</a></li>
            </ul>
        </li>
        <li class=\'column\'>
            <h2>column4</h2>
            <ul>
                <li><a href=\'#\'>Custom post link</a></li>
                <li><a href=\'#\'>Custom post link</a></li>
                <li><a href=\'#\'>Custom post link</a></li>
            </ul>
        </li>
    </ul>
</li>

我创建了一个自定义帖子类型,如下所示:

register_post_type( \'products\',
        array(
            \'labels\' => array(
                \'name\' => __( \'Products\' ),
                \'singular_name\' => __( \'Product\' )
            ),
            \'show_ui\' => true,

            \'capability_type\' =>  \'post\',
            \'has_archive\' => true,
            \'show_in_nav_menus\' => true,
            \'rewrite\' => array(\'slug\' => \'products\'),
            \'supports\' => array(
                \'title\',
                \'editor\',
                \'custom-fields\',
                \'revisions\',
                \'thumbnail\',
                \'page-attributes\'
            )
        )
    );
我在那篇自定义帖子上还有一个自定义元框,可以选择产品的类别,如下所示:

function products_category_meta_box_cb($post) {
    global $post;
    wp_nonce_field(\'products_category_nonce\', \'products_category_meta_box_nonce\');
    $values = get_post_custom($post->ID);

    $menu_value = isset($values[\'products_category\']) ? esc_attr($values[\'products_category\'][0]): \'\';

    $services_array = array(\'Seating\' => \'seating\', \'Desking\' => \'desking\', \'Accessories\' => \'accessories\');

    echo \'<p><strong>Select the product category.</strong></p>\';

    echo \'<select name="products-category">\';
    foreach ($services_array as $key => $value) {
        echo \'<option value ="\' . $value . \'"\' . selected($menu_value, $value, false) . \'>\' . $key . \'</option>\';
    }
    echo \'</select>\';
}
我想做的是,所有座椅产品都放在一个带有类列的li中,这样我可以将它们浮动在彼此旁边,该li的内容将是一个标题,它将从帖子内的下拉列表中获得,然后在该标题下的自定义帖子类型链接。

我希望这是有意义的,我知道这是一个相当复杂的问题,所以如果你需要更多的解释,请问我。

感谢阅读,非常感谢您的帮助

亚历克斯

1 个回复
最合适的回答,由SO网友:Eric Holmes 整理而成

为什么不直接使用原生的WordPress菜单。。转到外观>菜单。然后在屏幕选项中,启用自定义帖子类型(产品)。它将出现在左侧。

在菜单中选择所需的所有产品,然后可以自定义标题,如果需要,还可以添加类(再次显示屏幕选项)。

结束

相关推荐

如何避免WebDevStudio的WDS_Taxonomy_Radio分类Metabox类出现Foreach错误?

使用WebDevStudio的WDS\\U Taxonomy\\U Radio Taxonomy metabox类的正确方法是什么?我已经在函数中包含了代码。php文件,但我收到一个错误,错误如下:*为foreach()WDS\\u Taxonomy\\u Radio提供的参数无效。班php第45行*所以我一定是做错了什么。GitHub上的说明是:初始化类(用自己的更新分类slug)使用代码$custom_tax_mb = new WDS_Taxonomy_Radio( \'custom-tax-slug