0

正如标题所说,当我尝试查询我的帖子以显示哪些帖子属于哪个类别时,它只显示所有帖子,以查看我是否在代码或循环中犯了错误,我尝试搜索 fort 标签,这有效

<section class="background-wrapper">
<section class="content">
<div class="heading"><h1>Posts tagged with "coding"..</h1></div>
<div class="module-wrapper">

<?php if (have_posts()): ?>
<?php query_posts('cat=design');//NOTE USING ('tag=css') WORKED ?>

<?php while (have_posts()) : the_post(); ?>
<?php wpb_set_post_views(get_the_ID()); //storing a value of a page view ?>

  <div class="module">
    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

    <!-- Post Title -->
    <h1 class="post-title">
      <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
    </h1>
    <!-- /Post Title -->

    <?php html5wp_excerpt('html5wp_index'); // Build your custom callback length in functions.php ?>

查询标签时代码是否需要不同?

4

2 回答 2

0

查询帖子几乎总是一个坏主意,但这超出了您的问题范围。但是,如果我理解你的问题是正确的,我昨天在构建你的论点时偶然发现了关于查询类别和标签的可能答案:

//category and tag intersection
'category__and' => 'category', 'tag__in' => 'post_tag',

这是我使用 WP_Query 进行查询的默认模板,以防你想用它换掉你的模板。

$args  = array(
    'posts_per_page'  => -1, //-1 shows all
    //'offset'          => 0,
    'category'        => 'design',
    'orderby'         => 'post_date',
    'order'           => 'DESC',
    //'include'         => ,
    //'exclude'         => ,
    //'meta_key'        => ,
    //'meta_value'      => ,
    'post_type'       => 'post',
    //'post_mime_type'  => ,
    //'post_parent'     => ,
    'post_status'     => 'publish',
    'suppress_filters' => true
);
$query = new WP_Query( $args );
if ( $query -> have_posts()) {
    while ( $query -> have_posts() ) : $query->the_post();  {
    //do stuff with the query data returned here
    }
}
于 2013-08-31T15:55:26.687 回答
0

如果您使用您正在使用的查询,query_posts('cat=###')那么您需要为查询提供类别 ID而不是名称。如果您不知道 Id,可以在查询之前找到它,并使用与此类似的内容:

$categories = get_the_category(); //gets all the categories
$i=1; 
$name='design'; 
$id='';
while(count($categories) > i){   //Loops through the categories
    if(($categories[$i-1]->cat_name)==$name){ 
        $id=$categories[$i-1]->cat_ID;  //Sets the variable $id to be the id you need
    }
    i++; 
};

$id应该是执行您正在使用的查询所需的类别 ID。

于 2013-07-25T20:24:38.873 回答