如何获取列表项类中的类别

时间:2015-03-30 作者:Max Jacobs

我需要知道如何将类别动态输入到WP_Query

这是我正在使用的代码:

<li class="<?php the_category(\' \')?>">
但产量正在下降。

这就是全部代码

 <ul id="portfolio-list">

<?php

$args = array(
    \'post_type\' => \'post\',
    \'post__and\' => array( 15, 14, 17, 13, 10, 8, 12, 11, 9, 16),
);

$the_query = new WP_Query( $args );
?>

<?php if ( $the_query->have_posts() ) :?> 


    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

  <li class="<?php the_category(\' \'); ?>">


<?php the_post_thumbnail( $size, $attr ); ?> 

    <?php the_title(); ?>

    <br />

    <?php //the_category(\'cat-slug\'); ?>

<?php endwhile; else: ?>

    <p>There are no posts or pages here</p>

<?php endif; ?>

<?php wp_reset_postdata(); ?>

    </li>

</ul>

1 个回复
SO网友:RachieVee

我看到的第一个问题是你试图使用the_category 作为一个班级。这将不起作用,因为此功能旨在输出指向分配给该帖子的类别的链接。因此,它将href放在您的类中。

您可以通过删除li和类来调试并查看其工作方式。然后查看\\u类别本身是如何工作的。您可以在浏览器中检查它并查看标记。你会看到不同之处,以及为什么它与你拥有它的方式不起作用。因此,如果你在帖子上有一个名为“苹果”和“梨”的分类the_category( \' \' ); 在循环中,您应该在检查器中看到类似的内容。

<a href="http://yoursite.com/category/apples/" rel="category tag">Apples</a> 
<a href="http://yoursite.com/category/pears/" rel="category tag">Pears</a>
现在使用您的代码<li class="<?php the_category(\' \'); ?>></li>, 你会在你的检查员身上看到类似的东西。

<li class="  ">This doesn\'t work</li>
因此,如果您只想让类别名称将其用作类,那么您应该尝试get_the_category 相反此外,如果有多个类别,会发生什么情况?你想让他们都在你的班上吗?

假设你只想要first category only, 你可以这样写:

<?php
$post_cat = get_the_category(); //get the category of this post
$cat_name = $post_cat[0]->cat_name; //get the name of the first category
?>

<li class="<?php echo $cat_name; ?>">Your first category is a class now.</li>
如果你想要别的东西,你必须在你的问题上更加具体。

我看到的第二个问题是标记。这个<li> 用于用类包装类别,类在循环内部打开,并在结束时在循环外部关闭。也许是结束</li> 在结束之前也会有帮助。

希望有帮助!

结束