You can adjust the product catalog layout with a custom PHP. You can place custom PHP in your child theme functions.php file, in a mu-plugin or with a code snippets plugin.
Run the eCommerce Product Catalog modifications on the ic_epc_loaded hook, so they run after the plugin has added its own actions. 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 the product name added by the plugin on the product page. In Simple Mode the plugin shows the name only when Force product name display is checked; otherwise your theme shows it as the page title.
remove_action( 'before_product_entry', 'single_product_header' );Category Name
Disable category name:
remove_action( 'product_listing_header', 'add_product_listing_name' );Sorting Widget
Remove options from the sorting drop-down (this example removes the Sort by Newest option):
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 the Ajax add to cart script on catalog pages. The add to cart button then submits the form and reloads the page:
global $ic_cart_ajax;
if ( isset( $ic_cart_ajax ) ) {
remove_action( 'enqueue_catalog_scripts', array( $ic_cart_ajax, 'enqueue_styles' ) );
}Product Attributes
Customize the number of attributes shown on the product listing:
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
}