帖子的类别存储在哪里?

时间:2018-02-10 作者:Tim Dawson

离开一段时间后,我回到WP,发现我已经忘记了我所知道的一点。

我在一个网站上有一些页面,显示给定类别的帖子,这是通过一行完成的,如:query_posts($query_string . \'&cat=2\');

之后是:if ( have_posts() ) : while ( have_posts() ) : the_post(); 以此类推,以(else)“抱歉,没有符合您标准的帖子”

我已经定义了一个类别“服务”,并为此类别分配了一个测试职位。我能看到wp_terms 该类别的term\\u id为2,名称为“服务”,但该帖子没有被接受。

这篇文章的类别在哪里?我应该看到category_id (或cat_id) 在某处当然不在wp_posts 记录

或者,换句话说,查询字符串在哪里&cat=2 捡到了吗?

它过去当然可以工作,但那是很久以前的事了,也许WP或PHP的一些更新现在需要更改?

1 个回复
SO网友:obiPlabon

wp_terms, wp_term_taxonomy, wp_term_relationshipswp_term_meta 这四个表为WordPress分类法世界提供了强大的支持。您可以在这三个表中找到post和term之间的关系wp_terms, wp_term_taxonomy, wp_term_relationships. 你必须从wp_term_relationships. 如果您想了解更多关于DB模式的信息https://codex.wordpress.org/Database_Description https://code.tutsplus.com/tutorials/understanding-and-working-with-data-in-wordpress--cms-20567

query_posts() 是有害的坏习惯,它会覆盖WordPress主查询。最好使用自定义查询。

$query = new WP_Query( array(
        \'cat\' => 2, // category id goes here
    ) );

if ( $query->have_posts() ) :
    while ( $query->have_posts() ) : $query->the_post();
        // do the whatever you wanna do inside the loop
    endwhile;
endif;

结束

相关推荐

WP_LIST_CATEGORIES()-将div添加到每个li?

我正在使用wp_list_categories() 从特定的作者ID打印出每个类别的链接,这很好。然而,我还想添加一个div 致各li 将保留类别的图标。我怎样才能做到这一点?这是我当前的代码:<?php // Display a list of all categories associated with author $cat_array = array(); $args = array( \'author\' =>