我能想到的唯一方法是在没有任何自定义编码的情况下实现这一点,如果您的主题已经显示了类别描述。编辑类别时,会有一个“描述”字段,用于放置静态信息。但是,许多主题不显示此信息。因此,如果您尝试在wp admin中添加一个类别描述,但它没有显示在类别前端,则需要创建一个子主题,这基本上意味着将一个非常简化的“style.css”文件添加到一个新文件夹中,将主题的“Category.php”复制到子主题文件夹中,然后在子主题中添加一个调用以显示该文件中的描述。
另一种方法是使用插件为每组帖子创建自定义帖子类型。例如,如果您的类别是苹果和香蕉,那么您将创建一个“苹果”CPT和一个“香蕉”CPT。确保将它们设置为非存档,并使用重写。“苹果”CPT需要重写array(\'slug\' => \'apples\')
因此,所有这些的URL都显示在URL的“下方”http://example.com/apples/
.
这里是需要一些代码的部分。然后需要创建一个子主题,这很简单,只需在其中创建一个目录/wp-content/themes/
- 我们叫它吧/wp-content/themes/wpse/
- 创建一个名为style.css
在该文件夹中:
/*
Theme Name: WPSE Starter
Template: twentytwenty
*/
关键是,您需要将“Twenty20th”更改为实际使用的任何主题的文件夹名称。因此,如果您使用的是Ocean WP主题,则其文件夹名称(以及您需要放入文件中的名称)为“oceanwp”。根据您的站点需要进行调整。
现在,对于每个类别,您需要在主题中创建一个名为“page name.PHP”的PHP文件。虽然需要使用CPT名称,但不要使用“name”。因此,在我们的苹果示例中,您的文件名将是“page Apples.php”。复制您自己的主题页面。php文件内容并将其粘贴到此文件中。每个主题都使用它想要的任何HTML,因此您不能按原样使用此代码,您需要根据您的主题对其进行调整。但基本上,您需要实现的是:
<?php
// Get the sitewide header
get_header(); ?>
<main>
<div class="static">
<!-- Get the static content for this particular Page -->
<?php if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_content();
endwhile;
endif; ?>
</div>
<div class="posts">
<!-- Get a few of the posts in this particular CPT -->
<?php
$args = array(
\'post_type\' => \'apple\',
\'posts_per_page\' => 5,
);
$myposts = new WP_Query($args);
// If any were found, output them
if($myposts->have_posts()) {
while($myposts->have_posts()) : $myposts->the_post();
// You may be able to copy from your theme here
// to output posts the same way your Categories do.
// This will make an HTML article with just the
// title of each post as a link to the full post.
echo \'<article><a href="\' . get_the_permalink() . \'">\';
the_title();
echo \'</a></article>\';
endwhile;
}
?>
</div>
</main>
<?php
// Get the sitewide footer
get_footer(); ?>
第三种方法是使用常规帖子,即使用自定义字段插件,如ACF。使用这种方法,您可以创建帖子并将其分配给类别,然后为每个类别创建一个ACF字段集,该字段集就是您实际输入数据的地方。但是,您仍然需要创建一个子主题才能实际显示此信息,并且它与使用WP的内置类别描述相比没有任何优势,除非您有结构化数据。