Reputation: 793
I am planning to deliver a woocommerce shop to someone and I want to hide none essential options in order not to confuse non advance users. Particularly Product type.
In WooCommerce Product Editor, there is an option to select product type. I only want to show Simple and variable product.
Normally this could be done using css display:hide attributes but when I inspect woocommerce product option select, the options does not have id nor class selector.
Here is the code I saw on product options
<select id="product-type" name="product-type">
<optgroup label="Product Type"><option value="simple" selected="selected">Simple product</option>
<option value="grouped">Grouped product</option><option value="external">External/Affiliate product</option>
<option value="variable">Variable product</option></optgroup>
</select>
My question. Is there a way to hide grouped product and affiliate product type on that option select box in a way that it wont be affected during woocommerce or wp update?
Thanks
Upvotes: 10
Views: 12242
Reputation: 942
Try this. This code should work and it work best with woocommerce 3.4.4 and above. Refrence: https://gist.github.com/tanmay27vats/89f9d67db78c33a6ffa1d844235a5db1
add_filter( 'product_type_selector', 'remove_product_types' );
function remove_product_types( $types ){
unset( $types['grouped'] );
unset( $types['external'] );
unset( $types['variable'] );
return $types;
}
Upvotes: 5
Reputation: 1706
You can filter product_type_selector
add_filter( 'product_type_selector', 'remove_product_types' );
function remove_product_types( $types ){
unset( $types['grouped'] );
unset( $types['external'] );
return $types;
}
Upvotes: 27
Reputation: 26160
You can use named selectors:
#product-type option[value="grouped"] {
... your css here ...
}
See this post: CSS to select another Element based on a HTML Select Option Value
Upvotes: 3