默认产品页面底部有相关产品一栏,要去掉这个栏目,使用下面的代码。


function wc_remove_related_products( $args ) {
return array();
}
add_filter('woocommerce_related_products_args','wc_remove_related_products', 10);

修改相关产品列表每行产品数量

用filter: woocommerce_output_related_products_args改变相关产品数量,同样只是改变换行的位置,需要配合适当的css设定宽度才能实现最终效果。


add_filter( 'woocommerce_output_related_products_args', 'wc_custom_related_products_args' );
function wc_custom_related_products_args( $args ){
$args = array(
'posts_per_page' => 2, //共显示多少产品
'columns' => 2, //分几栏显示
'orderby' => 'rand'
);
return $args;
}

代码注释:在每个产品页面展示最多10个相关产品,每行显示3个。

修改产品缩略图每行数量

和首页产品每行数量类似,是通过添加.first和.last class实现,要真正达到自己想要的效果,还要添加适当的样式。


add_filter ( 'woocommerce_product_thumbnails_columns', 'woo_thumb_cols' );
function woo_thumb_cols() {
return 4; // .last class applied to every 4th thumbnail
}

修改“Add to Cart”按钮的文字


function woo_custom_cart_button_text() {
return __('My Button Text', 'woocommerce');
}
add_filter('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

这段代码在实现Catalog Mode中十分有用。

修改货币符号


function change_existing_currency_symbol( $currency_symbol, $currency ) {
switch( $currency ) {
case 'AUD': $currency_symbol = 'AUD$'; break;
}
return $currency_symbol;
}
add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);

代码注释:将澳元的货币符号从默认的$改为AUD$。

添加自定义排序选项

下面的代码演示如何添加一个随机排序(Random)选项,添加其它选项方法类似。


function custom_woocommerce_get_catalog_ordering_args( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
if ( 'random_list' == $orderby_value ) {
$args['orderby'] = 'rand';
$args['order'] = '';
$args['meta_key'] = '';
}
return $args;
}
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );
 
function custom_woocommerce_catalog_orderby( $sortby ) {
$sortby['random_list'] = __('Sort by random order');
return $sortby;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );