You can adjust the product catalog layout with a custom PHP. You can place custom PHP in your child theme functions.php file or with a mu-plugin.
All the eCommerce Product Catalog modifications should be called on the ic_epc_loaded hook. Like this:
add_action('ic_epc_loaded', 'my_epc_mods', 99);
function my_epc_mods() {
/* Here goes your code */
}
Please see below some useful custom PHP snippets:
Product Name
Disable product name:
remove_action( 'before_product_entry', 'single_product_header' );
Category Name
Disable category name:
remove_action( 'product_listing_header', 'add_product_listing_name' );
Product Sidebar
Modify sidebar h2 to h6:
add_filter('product_sidebar_register_args', 'my_product_sidebar_register_args');</p>
<p>function my_product_sidebar_register_args($args) {
$args['before_title']= '
<h6 class="widgettitle">'
$args['after_title']= '</h6>
'
return $args;
}
Sorting Widget
Remove options from the sorting dropdown:
add_filter('product_order_dropdown_options', 'my_product_order_dropdown_options', 10, 2);
function my_product_order_dropdown_options($option, $name) {
if ($name == 'newest') {
$option = ”;
}
return $option;
}
Back to products URL
Remove the URL on the bottom of each product page:
remove_action( 'single_product_end', 'add_back_to_products_url', 99, 2 );
Price
Set a custom number of price decimals:
add_filter('ic_epc_decimals', 'my_ic_epc_decimals');
function my_ic_epc_decimals($decimals) {
return 3;
}
Shopping Cart
Disable Ajax add to cart:
remove_action( 'enqueue_catalog_scripts', 'ic_ajax_cart_enqueue_styles' );
Product Attributes
Customize the number of attributes on the product list:
add_filter('max_product_listing_attributes', 'my_max_product_listing_attributes');
function my_max_product_listing_attributes() {
return 10; //Adjust the number to your needs
}