我需要执行此自定义查询,它将检查 post_metadata 值和分类术语。我正在使用从 Wordpress 的 Codex 修改的代码,但它始终返回零结果。我是否犯了一个错误? (更新:显示它首先被加载到变量中的位置)
global $wpdb;
$querystr = "
SELECT * FROM $wpdb->posts
LEFT JOIN $wpdb->postmeta ON($wpdb->posts.ID = $wpdb->postmeta.post_id)
LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id)
WHERE $wpdb->terms.name = '" . $service . "'
AND $wpdb->term_taxonomy.taxonomy = 'Services'
AND $wpdb->postmeta.meta_value = '" . $county . "'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
AND $wpdb->postmeta.meta_key = 'order'
ORDER BY $wpdb->postmeta.meta_value ASC";
$pageposts = $wpdb->get_results($querystr, OBJECT);
最佳答案
我建议记录所执行的实际字符串(将此选择保存到变量并记录该变量,然后将该变量传递给 wpdb 查询)。获得 SQL 后,您可以更轻松地对其进行故障排除(或将其发布到此处以获得进一步帮助)。
关于php - 针对分类术语和帖子元数据的 WordPress 自定义查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18622861/