苏醒 苏醒
  • 首页
  • WP主题
  • WP插件
  • WP教程
  • 是日一记
  • 博客
    • 留言
    • 唠叨
    • 盆友圈
    • 栏目推荐

suxing

管理员
每天清晨有多少双眼睛睁开,有多少人的意识苏醒过来,便有多少个世界。
IP归属地: 广东
文章
214
评论
236
suxing
2023-12-05 17:12:13 广东

WordPress 如何按分类层级输出所有文章

文章字数:1263
阅读时间: 4 分钟
智能摘要 DeepSeek
本文介绍了在 WordPress 中通过自定义模板按分类层级输出文章的方法。步骤包括:1. 创建 PHP 模板文件并编写递归函数输出分类和文章;2. 在后台创建页面并选择该模板;3. 发布页面查看结果。可根据需求调整代码。

在 WordPress 中,你可以使用自定义模板来按分类层级输出所有文章。以下是一个简单的步骤,演示如何实现这个目标。

步骤 1: 创建自定义模板

首先,在你的主题文件夹中创建一个新的 PHP 文件,例如 category-hierarchy-template.php。在该文件中,你可以使用以下代码:

<?php
        function output_category_hierarchy($parent_id = 0) {
            // 获取当前层级的分类
            $categories = get_terms(array(
                'taxonomy' => 'category', // 分类法名称
                'parent' => $parent_id,
                'hide_empty' => true, // 显示未包含文章的分类
            ));

            if ($categories) {
                echo '<ul>';
                foreach ($categories as $category) {
                    echo '<li>';
                    // 输出分类名称和链接
                    echo '<h2><a href="' . esc_url(get_category_link($category->term_id)) . '">' . esc_html($category->name) . '</a></h2>';

                    // 查询当前分类下的文章,排除子分类的文章
                    $args = array(
                        'post_type' => 'post',
                        'posts_per_page' => -1, // 获取所有文章
                        'cat' => $category->term_id, // 指定分类
                        'category__not_in' => get_term_children($category->term_id, 'category'), // 排除子分类的文章
                    );

                    $query = new WP_Query($args);

                    if ($query->have_posts()) {
                        echo '<ul>';
                        while ($query->have_posts()) {
                            $query->the_post();
                            // 输出文章标题和链接
                            echo '<li><a href="' . esc_url(get_permalink()) . '">' . esc_html(get_the_title()) . '</a></li>';
                        }
                        echo '</ul>';
                        // 恢复原始文章数据
                        wp_reset_postdata();
                    }

                    // 递归调用自身,获取子分类和文章
                    output_category_hierarchy($category->term_id);

                    echo '</li>';
                }
                echo '</ul>';
            }
        }

        // 输出分类层级
        output_category_hierarchy();

        ?>

步骤 2: 创建页面并选择模板

在 WordPress 后台,创建一个新页面(或编辑现有页面)。在页面编辑界面的右侧,你将看到一个名为“模板”的框,选择刚刚创建的模板 Category Hierarchy。

步骤 3: 查看输出结果

保存并发布页面后,查看该页面。你应该能够看到按分类层级输出的文章列表。

这就是简单的教程。你可以根据自己的需求进一步调整模板和代码。希望这对你有帮助!

  • WordPress 教程
等 人表示很赞
4,026
0

评论

空空如也
suxing
suxing
2021-03-23 14:30:50 广东

推荐 WordPress 小Tips:打开自定义字段,修改网站文章参数(评论数/点赞数)

智能摘要 DeepSeek WordPress自定义字段用于添加与帖子或页面相关的元数据(如标题、作者、日期等)。默认情况下,WordPress会自动添加所有 ...
  • WordPress 教程
2,745 0
suxing
suxing
2015-07-25 10:36:48 广东

推荐 WordPress主题使用Timthumb获取缩略图及七牛CDN缓存问题

智能摘要 DeepSeek Timthumb 是一种高效生成 WordPress 缩略图的工具,支持在不同位置展示图片,节省空间。但其默认仅处理本地图片和预留来源,无法显示第三方图片(如七牛CDN)。解决方案:1)修改 ALLOW_AL ...
  • WordPress 教程
  • Timthumb获取缩略图
  • 七牛CDN缓存
10,185 3
suxing
suxing
2016-01-12 0:53:13 广东

推荐 代码编辑器Sublime Text 3使用教程及简体中文汉化包

智能摘要 DeepSeek Sublime Text是一款免费的跨平台代码编辑器,支持汉化并安装插件,适合编写HTML等代码。用户分享了安装方法:下载地址、汉化文件、安装Package Control组件、使用Emmet插件及快速编写代 ...
  • WordPress 教程
  • emmet安装
  • emmet插件
  • Sublime text 3
  • Sublime text 3 汉化
27,010 1
suxing
suxing
2015-05-13 16:20:07 广东

推荐 WDCP面板升级PHP5.3,安装Zend Guard Loader组件教程

智能摘要 DeepSeek 默认安装的WDCP管理面板PHP版本为5.2.17,但购买苏醒付费主题需升级至PHP5.3或5.4。升级步骤包括:1)运行PHP升级脚本至PHP5.3.17;2)升级eAccelerator插件;3)安装Ze ...
  • WordPress 教程
  • PHP版本升级
  • WDCP教程
  • WDCP面板升级PHP
  • 安装zend组件
10,522 6
suxing
suxing
2018-08-27 19:41:07 广东

推荐 开通了一个微信 WordPress 主题交流群,速进!

我们创建了微信及QQ交流群,欢迎 WordPress 主题爱好者和使用者加入。群内提供微信群专属优惠码、行业资讯、建站心得及新品折扣,群员由人工拉入(周一至周六上午9:00-18:00),请保持手机畅通。 ...
  • WordPress 教程
  • wordpress
  • wordpress主题
  • WordPress主题,主题交流群,WordPress爱好者
  • WordPress主题,主题交流群,优惠码
  • WordPress主题,微信交流群,优惠福利
13,719 4

我用的 WordPress 主题

2021 年单栏 WordPress 主题

Copyright © 2012-2025 苏醒. All rights reserved. Designed by nicetheme.
  • 首页
  • 主题
  • 教程
  • 博客
  • 唠叨
  • 留言