Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何在WordPress中筛选具有多个类别名称的帖子?_Database_Wordpress_Mysql - Fatal编程技术网

Database 如何在WordPress中筛选具有多个类别名称的帖子?

Database 如何在WordPress中筛选具有多个类别名称的帖子?,database,wordpress,mysql,Database,Wordpress,Mysql,我正在尝试一个叫做Word Press的插件。这个插件允许您创建事件,然后将它们输入Wordpress数据库中的SQL表。但是,该插件不会区分不同类型的事件,例如重复事件、一次性事件 我的解决方案的开始是创建一个名为“重复事件”的类别,当我创建一个事件帖子时,也将其标记为重复事件。然后我尝试构造一个查询,该查询将返回分类为“事件”的帖子,但也将排除“重复事件” 问题是,具有“重复”类别的帖子也具有“事件”类别(它们必须显示在日历中)。因此,具有“重复”类别的帖子仍然会出现,因为它们的类别“名称”

我正在尝试一个叫做Word Press的插件。这个插件允许您创建事件,然后将它们输入Wordpress数据库中的SQL表。但是,该插件不会区分不同类型的事件,例如重复事件、一次性事件

我的解决方案的开始是创建一个名为“重复事件”的类别,当我创建一个事件帖子时,也将其标记为重复事件。然后我尝试构造一个查询,该查询将返回分类为“事件”的帖子,但也将排除“重复事件”

问题是,具有“重复”类别的帖子也具有“事件”类别(它们必须显示在日历中)。因此,具有“重复”类别的帖子仍然会出现,因为它们的类别“名称”不仅是“重复”,而且是“事件”

Wordpress函数
query\u post()
没有帮助,因为我不仅需要按类别进行筛选(这是
query\u post()
所做的),而且还需要能够指定查询返回的行仅是那些开始日期在今天之后的行(在
wp\u ec3\u计划表中有一列名为“开始”,列出了事件的开始时间)

有什么建议吗


Thx.

我不确定我是否理解所有内容,但看看这个例子。这列出了
post\u id
的帖子,这些帖子在
how-to
类别中,但不在
数据库和
代码中

SELECT  `object_id` AS PostID
FROM    `wp_term_relationships` AS r
        JOIN `wp_term_taxonomy` AS x ON x.`term_taxonomy_id` = r.`term_taxonomy_id`
        JOIN `wp_terms` AS t ON t.`term_id` = x.`term_id`
WHERE   x.`taxonomy` = 'category'
        AND `slug` = 'how-to'
        AND `object_id` NOT IN
           (
            SELECT `object_id`
            FROM `wp_term_relationships` AS r
            JOIN `wp_term_taxonomy` AS x ON x.`term_taxonomy_id` = r.`term_taxonomy_id`
            JOIN `wp_terms` AS t ON t.`term_id` = x.`term_id`
            WHERE   x.`taxonomy` = 'category'
            AND `slug` IN  ( 'database', 'code' )
            );

我不确定我是否理解所有内容,但请看一看这个示例。这列出了
post\u id
的帖子,它们属于
how-to
类别,但不属于
数据库和
code
类别

SELECT  `object_id` AS PostID
FROM    `wp_term_relationships` AS r
        JOIN `wp_term_taxonomy` AS x ON x.`term_taxonomy_id` = r.`term_taxonomy_id`
        JOIN `wp_terms` AS t ON t.`term_id` = x.`term_id`
WHERE   x.`taxonomy` = 'category'
        AND `slug` = 'how-to'
        AND `object_id` NOT IN
           (
            SELECT `object_id`
            FROM `wp_term_relationships` AS r
            JOIN `wp_term_taxonomy` AS x ON x.`term_taxonomy_id` = r.`term_taxonomy_id`
            JOIN `wp_terms` AS t ON t.`term_id` = x.`term_id`
            WHERE   x.`taxonomy` = 'category'
            AND `slug` IN  ( 'database', 'code' )
            );

谢谢你的帮助。我有点像MySQL n00blet,所以这是一个很好的子选择介绍。:)谢谢你的帮助。我有点像MySQL n00blet,所以这是一个很好的子选项介绍。:)