// Set custom attribute name and value to search for $attribute_name = 'color'; $attribute_value = 'green'; $serialized_value = serialize( 'name' ) . serialize( $attribute_name ) . serialize( 'value' ) . serialize( $attribute_value ); // extended version: $serialized_value = serialize( $attribute_name ) . 'a:6:{' . serialize( 'name' ) . serialize( $attribute_name ) . serialize( 'value' ) . serialize( $attribute_value ) . serialize( 'position' ); $args = array( 'post_type' => 'product', 'post_status' => 'any', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'meta_query' => array( array( 'key' => '_product_attributes', 'value' => $serialized_value, 'compare' => 'LIKE', ), ), ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) { $loop->the_post(); // do stuff here... e.g. get_the_ID() } wp_reset_postdata();
2 thoughts on “Query for WooCommerce products by product specific custom attribute”
Leave a Comment
You must be logged in to post a comment.
Ca you please add code for more than one attributes.
I’m sure you’ve found this answer but for reference:
to do multiple you have to decide if you’re going to use and AND or OR qualifier, then you can add multiple arrays: