I want do a custom query to get all products with an especific attribute ("demo" in my case) The query what i want returns from this:
a:5:{s:4:"demo";
a:6:{s:4:"name";
s:4:"DEMO";
s:5:"value";
s:366:"LINK TO DEMO";
s:8:"position";
s:1:"0";
s:10:"is_visible";
i:0;
s:12:"is_variation";
i:0;
s:11:"is_taxonomy";
i:0;
}
}
I don't know how do an $args to get products. I want $args be something like this:
$args = array (
'meta_query' => array(
array(
'key' => 'meta_value',
'value' => 'demo',
'compare' => 'LIKE', ),
),
);
Thanks!
I want do a custom query to get all products with an especific attribute ("demo" in my case) The query what i want returns from this:
a:5:{s:4:"demo";
a:6:{s:4:"name";
s:4:"DEMO";
s:5:"value";
s:366:"LINK TO DEMO";
s:8:"position";
s:1:"0";
s:10:"is_visible";
i:0;
s:12:"is_variation";
i:0;
s:11:"is_taxonomy";
i:0;
}
}
I don't know how do an $args to get products. I want $args be something like this:
$args = array (
'meta_query' => array(
array(
'key' => 'meta_value',
'value' => 'demo',
'compare' => 'LIKE', ),
),
);
Thanks!
Share Improve this question edited Jun 29, 2015 at 8:26 Karun 1,3471 gold badge9 silver badges22 bronze badges asked Jun 29, 2015 at 7:46 C.B.C.B. 1811 gold badge1 silver badge5 bronze badges4 Answers
Reset to default 4You have written key
as meta_value
. It should be your meta name. The name you have given to your custom fields or meta. Then use the following query.
$args = array (
'post_type' => 'your-post-type',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'demo',
'value' => '',
'compare' => '!='
),
),
);
By default the compare
is set to =
OK I HAVE ALREADY!! yuhuuu!
Thanks a lot guys!!
I have this:
$args = array (
'post_type' => 'product',
'posts_per_page' => -1,
'meta_query' => array(
array(
'value' => 'demo',
'compare' => 'like'
),
),
);
Well this works at least for me
Thanks thanks!!
Best regards!
try something like this
$args = array(
"post_type" => "product",
"meta_query" => array(
array(
"key" => "demo",
"value" => "abc",
"compare" => "EXISTS",
),
),
);
$query = new WP_Query( $args );
I know this is old, but straight sql, here are my solutions:
Get all meta data for a product:
SELECT meta_key, meta_value FROM wp_postmeta WHERE wp_postmeta.post_id = 626
Get products with specific meta data
SELECT p.id, p.post_title, m.meta_key, m.meta_value FROM wp_posts p
INNER JOIN wp_postmeta m ON p.id=m.post_id AND m.meta_key='_auction_dates_to'
APPEND TO GET META DATA FOR A SPECIFIC PRODUCT
AND p.id=626
Append to get specific meta value
AND m.meta_value='today'