WC面包屑导航
修改面包屑导航位置
首先删除默认的面包屑导航
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0);
将导航添加到其它位置,例如放在header.php中,则直接在header.php适当位置插入如下代码
if( function_exists( 'woocommerce_breadcrumb') ) woocommerce_breadcrumb();
也可以用add_action添加,例如
add_action( 'woocommerce_after_main_content', 'woocommerce_breadcrumb' );
不知道有哪些hooks可用?那么了解一下WC内建的Actions和Filters »
修改面包屑导航的参数


// Code source: https://gist.github.com/dwiash/4064836
function my_woocommerce_breadcrumbs() {
return array(
'delimiter' => ' / ',
'wrap_before' => '<nav class="woocommerce-breadcrumb" itemprop="breadcrumb">',
'wrap_after' => '</nav>',
'before' => '',
'after' => '',
'home' => _x( 'Home', 'breadcrumb', 'woocommerce' ),
);
}
add_filter( 'woocommerce_breadcrumb_defaults', 'my_woocommerce_breadcrumbs' );

参数注释:
delimiter:分隔符
wrap_before:起始标签
wrap_after:结束标签
before:起始标签之后、面包屑导航链接之前的内容
after:面包屑导航链接之后、结束标签之前的内容
home:首页文字,例如像给首页加font-awesome,可以这样设置
'home' => _x( '<i class="icon-home"></i> Home', 'breadcrumb', 'woocommerce' ),
修改首页和分类页面每页产品数量
每页显示多少产品默认跟随设置 » 阅读设置 » 博客页面至多显示的值,若要产品索引页和博文索引页使用不同的设置,可以使用下面的代码为产品索引页单独设置每页产品数。
add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 24;' ), 20 );
代码注释:每页显示24个产品。
修改分页导航的参数


// Change args of wc pagination
add_filter( 'woocommerce_pagination_args', 'theme_wc_pagination_args' );
function theme_wc_pagination_args( $args ){
$args['prev_text'] = '&laquo; Previous page';
$args['next_text'] = 'Next page &raquo;';
$args['end_size'] = 3;
$args['mid_size'] = 3;
return $args;
}

参数注释:
prev_text: 向前翻页按钮的文字
next_text: 向后翻页按钮的文字
end_size:页面分头部、中间、后、尾部三部分显示,中间用省略号分隔,这个参数控制头部和尾部显示多少页
mid_size: 控制中间显示多少页

修改首页和分类页每行产品数量

注意,WC每行产品数量是靠给每行第一个产品元素添加.first class、每行最后一个添加.last class实现的,所以这段代码只能决定在哪里强制换行,与宽度无关。也就是说如果你设置一行显示4个产品,你不能期待每个li的宽度就是1/4,这个宽度是样式表设定的,如果样式表设定的宽度只够一行放下3个,而代码设定一行显示4个,那就会出现每行个数不等的情况。


/* Change the number of products per column */
add_filter('loop_shop_columns', 'loop_columns');
if (!function_exists('loop_columns')) {
function loop_columns() {
return 5;
}
}

给列表页每个产品添加产品描述


// Add product description
function theme_wc_single_excerpt(){
global $post;
echo '<div class="product-description">' . apply_filters( 'woocommerce_short_description', $post->post_excerpt ) . '</div>';
}
add_action( 'woocommerce_after_shop_loop_item_title', 'theme_wc_single_excerpt' );

隐藏相关产品列表