mysql - WordPress SQL语句排除某些类别

标签 mysql wordpress

我想知道如何修改此语句以排除某个类别,即。类别 ID = 14

请注意,wordpress 类别位于不同的表中。

引用为term_relationships,类别为term_taxonomy_id

<?php 
$now = gmdate("Y-m-d H:i:s", strtotime('0 days'));

$request = $wpdb->prepare("SELECT ID, post_title, post_date, post_excerpt,LEFT(post_content,$sqllimit) AS short_post_content FROM $wpdb->posts WHERE post_status = 'publish' ");
if($hide_pass_post) $request .= "AND post_password ='' ";
if($include_pages) $request .= "AND (post_type='post' OR post_type='
else $request .= "AND post_type='post' ";

$request .= "AND post_date_gmt > '$now' ORDER BY post_date ASC LIMIT $skip_posts, $returnnum";
$posts = $wpdb->get_results($request); ?>

最佳答案

$request = $wpdb->prepare("SELECT * FROM $wpdb->posts 
  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)  

  WHERE ($wpdb->term_taxonomy.term_id = 3
     AND $wpdb->term_taxonomy.term_id <> 14  
     AND $wpdb->term_taxonomy.taxonomy = 'category'   
     AND $wpdb->posts.post_type = 'post'  
     AND $wpdb->posts.post_status = 'publish')");

关于mysql - WordPress SQL语句排除某些类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4302520/

相关文章:

PHP/MYSQL 故障排除 我看不出有什么问题

php - 在我的核心 PHP 站点或 CodeIgniter 站点上显示 Woocommerce 产品和 Magento 产品

css - 将重力形式元素移动到另一个容器中

java - 使用Spring连接数据库的问题

php - 使用 mysql rand() 在 ajax 调用上显示唯一图像

mysql - mysql如何锁定一个表而不影响其他表

javascript - 未捕获( promise 中)提供的元素不在文档内

html - 包含表单的 Div 没有占据整个页面

php - Wordpress:显示页面的特定标题

mysql - 找出两个记录之间的时间