从定制循环中获取类别名称并回显一次

时间:2014-12-11 作者:antonanton

我有一个杂志的首页,每期都会更新,而首页显示的是当前一期的贴子,这些贴子都是粘滞的。例如,本月所有帖子都在标题为“第01期”的类别中,下个月,我将创建“第02期”,它将取代头版上的“第01期”粘性帖子。

我试图显示在查询中拉出的帖子的类别名称,但似乎无法在循环之外执行此操作(我只想在循环开始之前在顶部显示一次)。

这里是我的查询,以调用粘性帖子,并试图显示对我不起作用的类别名称…

<?php // Get Current Issue Articles
    $currentissueposts = array(
        \'posts_per_page\'      => 6,
        \'post__in\'            => get_option( \'sticky_posts\' ),
        \'ignore_sticky_posts\' => 1
        );

        $currentissue = new WP_Query( $currentissueposts ); 

        if ( $currentissue->have_posts() ) : ?>
            <div class="the-header">
                <h3><?php the_category(); ?></h3>
            </div><!-- #the-header -->  
        <?php while( $currentissue->have_posts() ) : $currentissue->the_post(); ?>
                <a href="<?php the_permalink() ?>" rel="bookmark">
                <ol class="current-index-container">
                    <li class="the-title"><?php the_title(); ?></li>
                    <li class="the-author"><?php the_field(\'sub_head_1\'); ?></li>
                    <li class="the-subtitle"><?php the_field(\'sub_head_2\'); ?></li>
                </ol></a>
        <?php endwhile; 
        wp_reset_query();
        endif; ?>
我已经从single\\u post\\u title和get\\u category的角度查看了docu,但似乎无法使其只运行一次。非常感谢您的帮助!

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

这里有一个想法。注意,只有当所有职位都在所需类别中并且所有职位都只有类别时,这才有效

帖子以数组形式返回,您可以通过

$currentissue->posts 
记住这一点,您可以按如下方式获得第一个帖子ID

$currentissue->posts[0]->ID
现在,您可以将其添加到变量中

$id = $currentissue->posts[0]->ID    
您现在可以使用get_the_category 检索此帖子所属的类别。记住,根据您的问题,这将是所有帖子所属的类别

像这样的东西会在你的循环之外,在你的if 陈述

$category = get_the_category( $id ); 
echo $category[0]->cat_name;

SO网友:user3703490

    <?php print get_the_category(get_the_ID())[0]->name; ?>
get_the_category() - 获取包含类别“”信息的帖子数组。get_the_category(get_the_ID()) - 获取一个数组,该数组仅包含特定帖子的类别信息。get_the_category(get_the_ID())[0] - 从数组中获取第一个结果,该数组是一个对象

结束

相关推荐

在tag.php中显示来自函数的函数。

我在函数中添加了几个函数。php文件。我使用短代码调用这些函数[shortCode] 而在帖子、页面和小部件中。但是[shortcode] 无法在帖子、页面或小部件之外工作。我在文章标题和其他文件中尝试过它,但它不起作用。我想添加一个[shortcode] 到我的标签的函数。php文件,但我无法理解它。EXAMPLE FUNCTIONfunction dynamicContent(){ return \'some dynamic content\'; } add_shortcode