You can adjust the product catalog layout with a custom PHP. You can place custom PHP in your theme functions.php file. The best way to do that is with child theme.
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
}