Wordpress:按自定义选择查询显示帖子

Wordpress:按自定义选择查询显示帖子,wordpress,Wordpress,我需要按自定义类别id获取帖子,按自定义字段值排序,如果该字段存在,则使用另一个自定义字段。我想我需要使用自定义选择查询。看看我的查询:问题是这个查询返回相同的帖子5次。。。在管理面板中,我每页发了20篇帖子。也许有人有自己的解决方案?谢谢 $wp_query->request = "SELECT * FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON($wpdb->posts.ID = $wpdb->postmeta.po

我需要按自定义类别id获取帖子,按自定义字段值排序,如果该字段存在,则使用另一个自定义字段。我想我需要使用自定义选择查询。看看我的查询:问题是这个查询返回相同的帖子5次。。。在管理面板中,我每页发了20篇帖子。也许有人有自己的解决方案?谢谢

$wp_query->request = "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->terms.term_id = $wpdb->term_taxonomy.term_id)
WHERE $wpdb->terms.slug = 'categoryname'
AND $wpdb->term_taxonomy.taxonomy = 'category'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
ORDER BY $wpdb->posts.post_date DESC";
$pageposts = $wpdb->get_results($wp_query->request, OBJECT);
这可能与您试图实现的目标相去甚远,我唯一不能理解的是如何使用变量或其他东西测试元键是否存在

祝你好运

这可能与您试图实现的目标相去甚远,我唯一不能理解的是如何使用变量或其他东西测试元键是否存在

无论如何祝你好运

为什么要使用“$wp\u query->request”,这个变量用于检索上一个查询结果,而不是设置新的查询结果

试试看

$my_custom_sql = "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->terms.term_id = $wpdb->term_taxonomy.term_id)
WHERE $wpdb->terms.slug = 'categoryname'
AND $wpdb->term_taxonomy.taxonomy = 'category'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
ORDER BY $wpdb->posts.post_date DESC";
$pageposts = $wpdb->get_results($my_custom_sql, OBJECT);
为什么使用“$wp_query->request”,此变量用于检索上次查询结果,而不是设置新结果

试试看

$my_custom_sql = "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->terms.term_id = $wpdb->term_taxonomy.term_id)
WHERE $wpdb->terms.slug = 'categoryname'
AND $wpdb->term_taxonomy.taxonomy = 'category'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
ORDER BY $wpdb->posts.post_date DESC";
$pageposts = $wpdb->get_results($my_custom_sql, OBJECT);
  • 试试这个-

    获取结果( " 从$wpdb->posts中选择* 左键连接$wpdb-> ($wpdb->posts.ID=$wpdb->term\u relationships.object\u ID) 左键连接$wpdb->term_分类法打开 ($wpdb->term\u relationships.term\u taxonomy\u id=$wpdb->term\u taxonomy.term\u taxonomy\u id) 其中$wpdb->posts.post_status='publish' 和$wpdb->term_taxonomy.taxonomy='category' 和$wpdb->term\u taxonomy.term\u id=3 邮购日期ASC " ); ?>
  • 试试这个-

    获取结果( " 从$wpdb->posts中选择* 左键连接$wpdb-> ($wpdb->posts.ID=$wpdb->term\u relationships.object\u ID) 左键连接$wpdb->term_分类法打开 ($wpdb->term\u relationships.term\u taxonomy\u id=$wpdb->term\u taxonomy.term\u taxonomy\u id) 其中$wpdb->posts.post_status='publish' 和$wpdb->term_taxonomy.taxonomy='category' 和$wpdb->term\u taxonomy.term\u id=3 邮购日期ASC " ); ?>
    谢谢你的回复,我还需要一个meta_键,因为我想按meta_键的meta_值排序,并且我需要检查另一个meta_键是否存在。听起来很棘手,你肯定会在这里找到一个答案+1:这是一篇旧文章,但它让我不用编写一个自定义sql查询来按meta标记排序一些文章。谢谢谢谢你的回复,我还需要一个meta_键,因为我想按meta_键的meta_值排序,并且我需要检查另一个meta_键是否存在。听起来很棘手,你肯定会在这里找到一个答案+1:这是一篇旧文章,但它让我不用编写一个自定义sql查询来按meta标记排序一些文章。谢谢