Skip to content

Instantly share code, notes, and snippets.

@fomigo
Created June 19, 2015 07:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fomigo/71badc7df0932b9ca6cc to your computer and use it in GitHub Desktop.
Save fomigo/71badc7df0932b9ca6cc to your computer and use it in GitHub Desktop.
how-to-get-a-meta-values-from-all-posts-in-a-special-category
<?php
// http://wordpress.stackexchange.com/questions/64338/how-to-get-a-meta-value-from-all-post
// https://wordpress.org/support/topic/how-to-get-a-meta-values-from-all-posts-in-a-special-category
function get_meta_values( $key = '', $type = 'post', $status = 'publish' ) {
if( empty( $key ) ) return;
global $wpdb;
$r = $wpdb->get_results( $wpdb->prepare( "
SELECT p.ID, pm.meta_value FROM {$wpdb->postmeta} pm
LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
LEFT JOIN {$wpdb->term_relationships} tr ON p.ID = tr.object_id
LEFT JOIN {$wpdb->term_taxonomy} tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE pm.meta_key = '%s'
AND p.post_status = '%s'
AND p.post_type = '%s'
AND tt.taxonomy = '%s'
AND tt.term_id = '%d'
", $key, $status, $type, 'product_cat', 38 ));
foreach ( $r as $my_r ) {
$metas[$my_r->ID] = $my_r->meta_value;
}
return array_unique($metas);
}
dump( get_meta_values('manufacturer', 'product') );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment