Hi there,
Assuming you’re running WP 3.6 or newer, you could make a function to check for the existance of that shortcode using has_shortcode() to remove these actions:
add_action( 'get_header', array(&$this, 'setup_scripts_styles'), 20);
add_action( 'jigoshop_before_shop_loop', array(&$this, 'gridlist_toggle_button'), 20);
add_action( 'jigoshop_after_shop_loop_item', array(&$this,'jigoshop_template_single_excerpt'), 11);
add_action( 'jigoshop_after_shop_loop_item', array(&$this, 'gridlist_buttonwrap_close'), 7);
add_action( 'jigoshop_after_shop_loop_item', array(&$this, 'gridlist_hr'), 30);
something like (and this isn’t tested and probably won’t work as written):
add_action('plugins_loaded','remove_list_view');
function remove_list_view(){
global $post;
if( has_shortcode( $post->post_content, 'product_ids') ) {
remove_action( 'get_header', array(&$this, 'setup_scripts_styles'), 20);
remove_action( 'jigoshop_before_shop_loop', array(&$this, 'gridlist_toggle_button'), 20);
remove_action( 'jigoshop_after_shop_loop_item', array(&$this,'jigoshop_template_single_excerpt'), 11);
remove_action( 'jigoshop_after_shop_loop_item', array(&$this, 'gridlist_buttonwrap_close'), 7);
remove_action( 'jigoshop_after_shop_loop_item', array(&$this, 'gridlist_hr'), 30);
}
}