You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求修改WP跳转菜单代码:将文章标题替换为子分类

修改后的跳转菜单代码(显示子分类)

Got it, let's tweak your code to show subcategories (regions) under the "Consultant" category instead of post titles. Here's the updated full code:

<!-- sidebar drop-down list -->
<div class="consultant-sidebar">
    <h3>Find consultant by region</h3>
    <?php 
    $cat_id = get_cat_ID('consultant'); 
    // 获取Consultant分类下的子分类
    $subcategories = get_terms(array(
        'taxonomy'   => 'category',
        'parent'     => $cat_id,
        'orderby'    => 'name',
        'order'      => 'ASC',
        'hide_empty' => false, // 设置为true则只显示有文章的子分类
    ));

    if (!empty($subcategories) && !is_wp_error($subcategories)) { ?>
        <form name="jump">
            <select name="menu">
                <?php foreach ($subcategories as $subcat) : ?>
                    <option value="<?php echo esc_url(get_term_link($subcat)); ?>">
                        <?php echo esc_html($subcat->name); ?>
                    </option>
                <?php endforeach; ?>
            </select>
            <input type="button" onClick="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="Go">
        </form>
    <?php } else { ?>
        <p>No regions found under Consultants.</p>
    <?php } ?>
    <h3><a href="https://gouldingprocess.com/interns/">Sleeptalk® Interns</a></h3>
</div>
<!-- -->

关键改动说明:

  • 替换数据获取方式:把原来拉取文章的WP_Query换成了get_terms(),这是WordPress专门用来获取分类/标签等术语的函数,更适合获取子分类。
  • 参数配置:
    • taxonomy设为category(我们用的是默认文章分类法)
    • parent指定为$cat_id,确保只获取"Consultant"分类的直接子分类
    • orderby和order保持按名称升序排列,和你原来的需求一致
    • hide_empty:如果设为true,只会显示包含已发布文章的子分类;设为false则显示所有子分类(哪怕没有文章),你可以根据需求调整
  • 输出逻辑:循环子分类时,用get_term_link()获取分类的归档页面链接,用$subcat->name输出子分类名称,同时用esc_url()和esc_html()做安全转义,符合WordPress开发规范
  • 空状态处理:添加了子分类为空时的提示,避免页面出现空白区域,提升用户体验
  • 标题调整:把原来的"Find consultant by name"改成了"Find consultant by region",更贴合现在的功能

内容的提问来源于stack exchange,提问作者Kitka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:41:57