WooCommerce获取顶级类别父级,并使子类别具有相同的模板和菜单

时间:2013-04-10 作者:Shafshak

我想得到顶级类别的父级是“Wedgewood”,所以我给它一个不同的菜单和不同的模板,我写的到目前为止,但它不适用,除了“Wedgewood”类别wegdwood是我的顶级类别,我希望它适用于它下面的所有类别

在标题中。php

if (is_product_category(‘wedgwood’)) {
wp_nav_menu(array(‘menu’=>’wedgwood-menu’ ));
//I want to add here the code that links to another template which is wedgwood-template.php
}
在函数中。php

//register the custom menus
function register_my_menus() {
register_nav_menus(
array(‘wedgwood-menu’ => __( ‘Wedgwood Menu’ ))
); }
add_action( ‘init’, ‘register_my_menus’ );
所以我需要一个解决方案

1 个回复
SO网友:Michal Mau

WP本机函数get_queried_object() 可以帮助您get an ID of a currently displayed term.

WooCommerce则包含此便捷功能:woocommerce_get_term_top_most_parent() (起源于WPSE 顺便说一句,那会get it\'s top-level parent term.

我尚未测试以下代码,但它应该提供一个良好的起点:

if ( \'wedgwood\' == woocommerce_get_term_top_most_parent( get_queried_object()->term_id )->slug ) {
    // your code-fu here ...
}
关于问题的模板重定向部分,请查看:
Creating a default Custom Post Template that a Theme can override

Reference:

结束

相关推荐

将作者从pload.php URL重定向到多站点中的主页

我想在作者访问URL时重定向他们mynetwork.com/OWNBLOG/wp-admin/upload.php 转到另一页。我该怎么做?我尝试了此代码,但收到了以下错误:“警告:无法修改标题信息-第876行/home/content/59/104129/html/wp admin/includes/template.php:1642)中/home/content/59/10412659/html/wp includes/pluggable.php中已发送的标题:”add_action( \'admin