You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce:复制商店页面以显示自定义分类法而非商品分类

嘿,我来帮你搞定这个需求!要复制商店页面并让它展示你的自定义「Collections」分类法,咱们可以分这几步来操作:

步骤1:确保自定义分类法已关联到产品

首先得确认你注册分类法的代码里,已经把它和WooCommerce的产品(product)关联上了。如果你的代码里没加这部分,赶紧补上:

function ess_custom_taxonomy_Item() {
    $labels = array(
        'name' => 'Collections',
        'singular_name' => 'Collection',
        'menu_name' => 'Collections',
        'all_items' => 'All Collections',
        'parent_item' => 'Parent Collection',
        'parent_item_colon' => 'Parent Collection:',
        'new_item_name' => 'New Collection Name',
        'add_new_item' => 'Add New Collection',
        // 其他标签可以按需补充
    );
    $args = array(
        'labels' => $labels,
        'hierarchical' => true, // 支持父级分类,和商品分类逻辑一致
        'public' => true,
        'show_ui' => true,
        'show_admin_column' => true,
        'show_in_nav_menus' => true,
        'show_tagcloud' => true,
        'rewrite' => array( 'slug' => 'collections' ), // 自定义分类的URL标识
        'object_types' => array( 'product' ) // 关键!把分类法绑定到产品类型
    );
    register_taxonomy( 'collections', 'product', $args );
}
add_action( 'init', 'ess_custom_taxonomy_Item', 0 );
步骤2:创建自定义页面模板

咱们要复制WooCommerce商店页面的布局,所以做一个专属的自定义页面模板:

  1. 打开你的WordPress主题文件夹(比如wp-content/themes/你的主题名/)
  2. 新建一个文件,命名为page-collections-shop.php
  3. 把下面的代码粘贴进去:
<?php
/*
Template Name: Collections Shop
*/

// 加载WooCommerce全局变量
global $woocommerce;

get_header(); ?>

<?php
// 输出商店页面顶部的面包屑、标题栏等通用元素
do_action( 'woocommerce_before_main_content' );
?>

<header class="woocommerce-products-header">
    <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
        <h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1>
    <?php endif; ?>

    <!-- 替换默认商品分类为自定义Collections分类导航 -->
    <?php
    $collections = get_terms( array(
        'taxonomy' => 'collections',
        'hide_empty' => true, // 只显示有产品的分类
        'hierarchical' => true
    ) );

    if ( ! empty( $collections ) && ! is_wp_error( $collections ) ) : ?>
        <nav class="woocommerce-breadcrumb">
            <a href="<?php echo get_permalink( get_page_by_path( 'collections-shop' ) ); ?>">All Collections</a>
            <?php foreach ( $collections as $collection ) : ?>
                <span class="separator">/</span>
                <a href="<?php echo get_term_link( $collection ); ?>"><?php echo $collection->name; ?></a>
            <?php endforeach; ?>
        </nav>
    <?php endif; ?>
</header>

<?php
// 产品循环查询:默认显示所有分类产品,选中分类时显示对应产品
$current_collection = get_queried_object();
$args = array(
    'post_type' => 'product',
    'posts_per_page' => wc_get_default_products_per_row() * wc_get_default_product_rows_per_page(),
    'tax_query' => array(
        array(
            'taxonomy' => 'collections',
            'field' => 'slug',
            'terms' => isset( $current_collection->slug ) ? $current_collection->slug : '',
            'operator' => isset( $current_collection->slug ) ? 'IN' : 'EXISTS'
        )
    )
);

$products = new WP_Query( $args );

if ( $products->have_posts() ) : ?>

    <?php woocommerce_product_loop_start(); ?>

        <?php while ( $products->have_posts() ) : $products->the_post(); ?>

            <?php wc_get_template_part( 'content', 'product' ); ?>

        <?php endwhile; ?>

    <?php woocommerce_product_loop_end(); ?>

    <?php
    // 输出分页导航
    woocommerce_pagination();

else : ?>

    <?php wc_get_template( 'loop/no-products-found.php' ); ?>

<?php endif; ?>

<?php
// 重置查询,避免影响后续内容
wp_reset_postdata();

// 输出商店页面底部的侧边栏、页脚等元素
do_action( 'woocommerce_after_main_content' );

get_sidebar( 'shop' );
get_footer();
?>
步骤3:创建新页面并应用模板
  1. 登录WordPress后台,进入「页面」→「新建页面」
  2. 页面标题填「Collections Shop」(或者你喜欢的名称)
  3. 在右侧「页面属性」面板里,选择「Collections Shop」模板
  4. 发布页面,现在访问这个页面就能看到和商店页面布局一致,但展示自定义Collections分类的内容了!
额外优化:统一分类归档页面样式

当你点击某个Collection分类进入归档页面时,如果你想让它和商店页面样式完全统一,可以复制主题里的woocommerce/archive-product.php文件,重命名为taxonomy-collections.php,WordPress会自动用这个模板渲染Collections分类的归档页面,样式就和商店页面完全匹配了。

内容的提问来源于stack exchange,提问作者Toki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:14:32