WordPress将类别ID提供给Array

时间:2017-02-16 09:10:41

标签: php wordpress categories

我在category.php中有此代码,我希望显示我所属类别中的帖子," $cat"和类别提到id 63.我写了一些东西,但不想工作:/

<?php
$cat->term_id;
$my_query_args = array(
    'posts_per_page' => 6,
    'tax_query' => array(
        array(
            'taxonomy' => 'category',
            'field' => 'id',
            'terms' => array(63, $cat),
            'operator' => 'AND'
        )
    )
);
$my_query = new WP_Query($my_query_args);
if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();

        ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php
    endwhile;
endif;
wp_reset_postdata();

?>

有人可以告诉我为什么不将当前显示的类别招致$cat

提前感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

$category = get_category( get_query_var( 'cat' ) );
echo $cat_id = $category->cat_ID;

这将为您提供当前的类别ID。 现在在category.php

中启动wordpress循环之前放置以下查询
query_posts( 'cat='.$cat_id);

如果这是正常的类别,你不想让它复杂,有太多的args。这将通过检查您当前的类别ID动态地工作。

答案 1 :(得分:1)

可能是你在&#39; field&#39;你的tac_query中的参数。

'field' => 'term_id',

字段 - 选择分类法术语。可能的值包括&#39; term_id&#39;,&#39; name&#39;,&#39; slug&#39;或者&#39; term_taxonomy_id&#39;。默认值为&#39; term_id&#39;。

答案 2 :(得分:0)

可能你的$cat变量是一个对象。尝试将'terms' => array( 63, $cat ),更改为'terms' => array( 63, $cat->ID ),'terms' => array( 63, $cat->id ),

答案 3 :(得分:0)

尝试在cat = ..

设置你的猫咪ID或名字
<?php
$catquery = new WP_Query( 'cat=3&posts_per_page=10' );
while($catquery->have_posts()) : $catquery->the_post();
?>
<ul>
<li><h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>

<ul><li><?php the_content(); ?></li>
</ul>
</li>
</ul>
<?php endwhile; ?>