我希望更新我的分类模板,以显示不同于分类帖子的子分类帖子。我对Wordpress模板编辑相当陌生,但对HTML/CSS非常了解,对PHP也非常了解。
当前,“我的主题”显示所有类别(&M);带有标题、缩略图和带有按钮的摘录的子类别帖子。但是,我不希望在主类别页面中显示子类别帖子。我想将类别显示为:子类别标题、子类别描述、按钮-->所有这些都链接到子类别页面。然后,当在自己的级别查看子类别时,“我的主题”有一个单独的模板,该模板将生效。
我是AccessPress Lite主题的一个孩子。我复制了他们现有的档案。php并将其重命名为category。php。我还复制了用于显示内容的循环,但现在正在努力找出确定它是否为类别/子类别背后的逻辑。
我的循环当前为:
<?php while ( have_posts() ) : the_post(); ?>
<?php
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<h1 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h1>
<?php if ( \'post\' == get_post_type() ) : ?>
<div class="entry-meta">
<?php accesspresslite_posted_on(); ?>
</div><!-- .entry-meta -->
<?php endif; ?>
</header><!-- .entry-header -->
<?php if ( is_search() ) : // Only display Excerpts for Search ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
<?php else : ?>
<div class="entry-content">
<?php if(has_post_thumbnail()){?>
<div class="entry-thumbnail">
<?php the_post_thumbnail(\'thumbnail\'); ?>
</div>
<?php } ?>
<div class="short-content">
<?php echo accesspresslite_excerpt( get_the_content() , 500 ) ?>
</div>
<a href="<?php the_permalink(); ?>" class="bttn"><?php _e(\'More\',\'accesspresslite\')?></a>
<?php
wp_link_pages( array(
\'before\' => \'<div class="page-links">\' . __( \'Pages:\', \'accesspresslite\' ),
\'after\' => \'</div>\',
) );
?>
</div><!-- .entry-content -->
<?php endif; ?>
</article><!-- #post-## -->
<?php endif; ?>
?>
最合适的回答,由SO网友:Pieter Goosen 整理而成
您需要在循环中进行简单的检查,其逻辑也很简单。这背后的逻辑如下:
如果一篇文章属于当前查询的类别(又名父类别),它将附加此类别
如果一篇文章只属于当前查询类别的子类别,那么它将不会附加当前查询类别。
有了这一点,我们只需要确定当前帖子是否分配了所查询的类别。为此,我们可以使用条件检查,has_category()
, 确定帖子是否有我们想要的分类,然后使用get_queried_object_id()
获取要查看的当前类别的ID
在循环中,可以执行以下操作:
$current_category_id = get_queried_object_id();
if ( has_category( $current_category_id ) ) { // Post belongs to the queried category
// Add your specific markup and code for current queried category
} else { // Post belongs to a child category
// Add your specific markup and code for child categories
}