【发布时间】:2016-02-02 21:55:16
【问题描述】:
我在 Woocommerce 中使用 Unite 主题,需要替换 wc_get_product_cat_class 函数。经过一整晚试图弄清楚,我发现以下存储在/wp-content/plugins/woocommerce/includes/wc-template-functions.php
// Display the classes for the product cat div.
function wc_product_cat_class( $class = '', $category = null){
// Separates classes with a single space, collates classes for post DIV
echo 'class="' . esc_attr( join( ' ', wc_get_product_cat_class( $class, $category ) ) ) . '"';
}
// Get the classes for the product cat div.
function wc_get_product_cat_class( $class = '', $category = null ){
global $woocommerce_loop;
$classes = is_array( $class ) ? $class : array_map( 'trim', explode( ' ', $class ) );
$classes[] = 'product';
if ( 0 === ( $woocommerce_loop['loop'] - 1 ) % $woocommerce_loop['columns'] || 1 === $woocommerce_loop['columns'] ) {
$classes[] = 'first';
}
if ( 0 === $woocommerce_loop['loop'] % $woocommerce_loop['columns'] ) {
$classes[] = 'last';
}
$classes = apply_filters( 'product_cat_class', $classes, $class, $category );
return array_unique( array_filter( $classes ) );
}
我已经在我的子主题中创建了一个functions.php 文件。如何删除和替换 wc_get_product_cat_class 函数?
据我了解,子主题中的 functions.php 文件首先加载,但是在 wc-template-functions.php 中没有 if(! 行的情况下,我无法简单地添加和修改上述内容我自己的函数文件。
【问题讨论】:
-
既然可以过滤
product_cat_class,为什么还需要替换它?您需要进行哪些修改? -
我需要替换并添加到生成的类中。
-
你能改写你的问题来解释你需要修改哪些类吗?这正是过滤器的重点,所以替换函数似乎有点过头了。
-
过滤器添加一个类,该类应用于其中一个 achive 页面上的产品循环。我需要为引导列 col-xs-2 col-md-4 等添加一个类。
-
您何时尝试添加这些类? IE。什么课去哪里?
标签: php wordpress woocommerce