php - Get category term meta from SQL query (WordPress)
Solution:
this should work for you
global $wpdb;
$categories = $wpdb->get_results("
SELECT DISTINCT(terms.term_id) as ID, terms.name, terms.slug, tax.description, termmeta.meta_value as car_status,
FROM $wpdb->posts as posts
LEFT JOIN $wpdb->term_relationships as relationships ON posts.ID = relationships.object_ID
LEFT JOIN $wpdb->term_taxonomy as tax ON relationships.term_taxonomy_id = tax.term_taxonomy_id
LEFT JOIN $wpdb->terms as terms ON tax.term_id = terms.term_id
LEFT JOIN $wpdb->termmeta as termmeta ON terms.term_id = termmeta.term_id AND termmeta.meta_key = 'car_status'
WHERE
posts.post_status = 'publish' AND
posts.post_type = 'cars' AND
tax.taxonomy = 'cars_category' AND
posts.post_author = '$user_id'
ORDER BY terms.name ASC
");
Answer
Solution:
<?php
global $wpdb;
$categories = $wpdb->get_results("
SELECT DISTINCT(terms.term_id) as ID, terms.name, terms.slug, tax.description, termmeta.meta_key as car_status, termmeta.meta_value
FROM $wpdb->posts as posts
LEFT JOIN $wpdb->term_relationships as relationships ON posts.ID = relationships.object_ID
LEFT JOIN $wpdb->term_taxonomy as tax ON relationships.term_taxonomy_id = tax.term_taxonomy_id
LEFT JOIN $wpdb->terms as terms ON tax.term_id = terms.term_id
LEFT JOIN $wpdb->termmeta as termmeta ON termmeta.term_id = terms.term_id and termmeta.meta_key = 'car_status'
WHERE
posts.post_status = 'publish' AND
posts.post_type = 'cars' AND
tax.taxonomy = 'cars_category' AND
posts.post_author = '$user_id'
ORDER BY terms.name ASC
");
foreach($categories as $category) : ?>
<li>
name: <?php echo $category->name; ?>
description: <?php echo $category->description; ?>
status: <?php echo $category->car_status; ?>
</li>
<?php endforeach; ?>
Source