[wordpress]B2主题美化 子专题设置

我发现一个问题, 专题分类设置子专题 但是跟没设置完全一样, 于是改了下源码,

现在如果父专题有子专题, 父专题只显会示子专题类目了

只要在子主题模板里 创建 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();

给TA充电
共{{data.count}}人
人已充电
wordpress软件

[wordpress]强制禁用国外脚本

2023-6-25 18:46:08

wordpress

[wordpress] 通过restapi以及python发布文章

2023-12-26 10:10:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索