我发现一个问题, 专题分类设置子专题 但是跟没设置完全一样, 于是改了下源码,
现在如果父专题有子专题, 父专题只显会示子专题类目了
只要在子主题模板里 创建 Pages/collection.php
然后粘贴即可
<?php
use B2\Modules\Templates\Collection;
use B2\Modules\Common\Post;
/**
* 专题聚合页面
*/
get_header();
$paged = get_query_var('paged');
$paged = $paged ? $paged : 1;
$data = Collection::get_collection_list(array('paged' => $paged));
$_pages = $data['pages'];
$data = $data['data'];
$img = b2_get_option('template_collection', 'collection_image');
$name = b2_get_option('template_collection', 'collection_title');
$desc = b2_get_option('template_collection', 'collection_desc');
$order = b2_get_option('template_collection', 'collection_post_order');
$order = !empty($order) ? $order : 'asc';
?>
<?php if (b2_get_option('template_collection', 'collection_open_cover')) { ?>
<div class="collection-top mg-b" style="background-image:url(<?php echo $img; ?>)">
<h1><?php echo $name; ?></h1>
<p><?php echo $desc; ?></p>
</div>
<?php } else { ?>
<div class="pianli">
<h1><?php echo $name; ?></h1>
<p><?php echo $desc; ?></p>
</div>
<?php } ?>
<div id="primary-home" class="wrapper">
<main class="site-main">
<div class="collection-box <?php echo empty($data) ? 'box' : ''; ?>">
<?php
if (!empty($data)) {
foreach ($data as $k => $v) {
$post_data = $v['posts']['data'];
$q = get_term_meta($v['id'], 'b2_tax_index', true);
// 检查子类
global $wpdb;
$query = "SELECT * FROM {$wpdb->prefix}term_taxonomy WHERE parent =" . $v['id'];
$child_taxonomys = $wpdb->get_results($query);
// 检查子类 End
$collection_name = b2_get_option('normal_custom', 'custom_collection_name');
?>
<div class="collection-item">
<div class="box b2-radius">
<?php if ($q) { ?>
<div class="collection-number ar">
<span><?php echo sprintf(__('%s:第%s%s%s期', 'b2'), $collection_name, '<b>', $q, '</b>'); ?></span>
</div>
<?php } ?>
<div class="collection-title">
<div class="collection-thumb">
<a href="<?php echo $v['link']; ?>" target="_blank">
<?php echo b2_get_img(array(
'src' => $v['thumb'],
'alt' => $v['name']
)); ?>
</a>
</div>
<div class="collection-info b2-mg">
<h2><a href="<?php echo $v['link']; ?>" target="_blank"><?php echo $v['name']; ?></a></h2>
<div class="collection-count">
<?php
$latest = false;
if (!empty($post_data)) {
$latest = ($order == 'asc') ? end($post_data) : $post_data[0];
}
echo $latest ? Post::time_ago($latest['date']) . __('更新', 'b2') . ' · ' : '';
// 如果有子专题 显示子专题数量
if (!$child_taxonomys) {
echo $v['posts']['count'] . __('篇文章', 'b2');
} else {
echo count($child_taxonomys) . __('个专题', 'b2');
}
?>
</div>
</div>
</div>
<ul class="collection-posts">
<?php
if (!$child_taxonomys) {
if (!empty($post_data)) {
foreach ($post_data as $key => $value) {
?>
<li><span><a href="<?php echo $value['cat']['link']; ?>" target="_blank"><?php echo $value['cat']['name']; ?></a></span><a href="<?php echo $value['href']; ?>" class="post-link" terget="_blank"><?php echo $value['title']; ?></a></li>
<?php
}
}
// 如果有子专题 显示子专题类目
} else {
foreach ($child_taxonomys as $child_taxonomy) {
$term_taxonomy_id = $child_taxonomy->term_taxonomy_id;
$idenx = get_term_meta($term_taxonomy_id, 'b2_tax_index', true);
$name = get_term($term_taxonomy_id)->name;
$slug = get_term($term_taxonomy_id)->slug;
$target_url = get_site_url() . "/" . $child_taxonomy->taxonomy . "/" . $slug
?><li><span><a ?><?php echo "第" . $idenx . "期"; ?></a></span><a href="<?php echo $target_url ?>" class="post-link" terget="_blank"><?php echo $name; ?></a></li>
<?php
}
}
?>
</ul>
</div>
</div>
<?php }
} else {
echo B2_EMPTY;
}
?>
</div>
<?php
$pagenav = b2_pagenav(array('pages' => $_pages, 'paged' => $paged));
if ($pagenav && !empty($data)) {
echo '<div class="b2-pagenav collection-nav post-nav box b2-radius mg-t">' . $pagenav . '</div>';
}
?>
</main>
</div>
<?php
get_footer();