📅  最后修改于: 2023-12-03 15:05:29.685000             🧑  作者: Mango
在WordPress中,我们可以使用不同的方式来显示自定义分类和自定义术语。其中之一是使用 taxonomy-{taxonomy-slug}.php
文件。该文件允许我们显示特定分类的帖子和术语,同时也允许我们对这些术语进行分页。
在本教程中,我们将学习如何使用 taxonomy-{taxonomy-slug}.php
模板文件,以及如何在自定义分类和自定义术语上使用该模板。
taxonomy-{taxonomy-slug}.php
模板文件首先,我们需要了解WordPress在使用分类存档和术语存档(包括自定义分类和自定义术语)时所使用的模板结构。
WordPress使用以下模板文件来显示分类存档和术语存档:
taxonomy.php
:所有分类和术语存档共享的模板文件。taxonomy-{taxonomy}.php
:为特定分类和术语存档定义的模板文件。taxonomy-{taxonomy-slug}.php
:为特定分类和术语存档定义的模板文件,其中 taxonomy-slug
是分类或术语的slug名称。因此,对于我们想要显示自定义分类或自定义术语存档的情况,我们需要使用 taxonomy-{taxonomy-slug}.php
模板。
在我们的代码中,我们需要使用以下代码来获取当前的分类/术语:
$term = get_queried_object();
然后,我们可以使用以下代码来获取当前分类/术语的标题和描述:
$term_title = $term->name;
$term_description = $term->description;
最后,我们使用以下代码来显示当前分类/术语的帖子:
$args = array(
'post_type' => 'post',
'posts_per_page' => get_option('posts_per_page'),
'paged' => get_query_var('paged'),
'tax_query' => array(
array(
'taxonomy' => $term->taxonomy,
'field' => 'term_id',
'terms' => $term->term_id,
'include_children' => false
)
)
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
// Display post content
}
// Display pagination links
}
要使用 taxonomy-{taxonomy-slug}.php
模板文件,您需要按照以下步骤操作:
taxonomy-{taxonomy-slug}.php
的文件。例如,如果您的自定义分类名称为“books”,则应创建一个名为 taxonomy-books.php
的文件。为了更好地了解如何使用 taxonomy-{taxonomy-slug}.php
模板文件,请参阅以下示例代码:
<?php
/**
* The Template for displaying custom taxonomy archive.
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<?php
// Get current taxonomy term
$term = get_queried_object();
// Get and display term title
$term_title = $term->name;
echo '<h1 class="page-title">' . $term_title . '</h1>';
// Get and display term description
$term_description = $term->description;
if ( ! empty( $term_description ) ) {
echo '<div class="taxonomy-description">' . $term_description . '</div>';
}
?>
<?php
// Get and display posts associated with current taxonomy term
$args = array(
'post_type' => 'post',
'posts_per_page' => get_option('posts_per_page'),
'paged' => get_query_var('paged'),
'tax_query' => array(
array(
'taxonomy' => $term->taxonomy,
'field' => 'term_id',
'terms' => $term->term_id,
'include_children' => false
)
)
);
$query = new WP_Query( $args );
while ( $query->have_posts() ) : $query->the_post();
// Display post content
endwhile;
// Display pagination links
twentyfourteen_paging_nav();
else :
// If no posts are found, display an appropriate message
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content -->
</section><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
在这篇文章中,我们学习了如何使用 taxonomy-{taxonomy-slug}.php
模板文件来显示自定义分类和自定义术语的存档。我们学习了如何获取当前分类/术语的信息以及与其关联的所有帖子,以及如何显示分类/术语的标题、描述和分页链接。
使用这些技巧,您可以轻松地创建自定义分类和自定义术语存档模板,并灵活地控制其外观和功能。