You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

WordPress页面分类标签生效验证及浏览器审查代码查询

你的WordPress分类/标签问题解决方案

1. 怎么确认页面/文章已经关联上对应的分类或标签?

我给你几个靠谱的验证方法,从简单直观到精准权威:

  • 后台直接检查
    文章的话,进入「文章」编辑页,右侧边栏的「分类」「标签」模块里,选中的分类会有蓝色底色,已添加的标签会显示在输入框下方的标签堆里。
    页面因为你用了插件,去「页面」编辑页找插件加的分类/标签操作UI(一般也在右侧边栏,逻辑和文章的模块差不多),看看有没有选中的分类或者已添加的标签即可。
  • 数据库查底(最准确)
    要是想彻底确认没毛病,直接查数据库最靠谱:
    WordPress的分类、标签都存在wp_terms表,页面/文章和它们的关联关系在wp_term_relationships表。先找到目标页面/文章的ID(编辑页地址栏里post=后面的数字),然后在wp_term_relationships里搜索object_id等于这个ID的记录,对应的term_taxonomy_idwp_term_taxonomy表里查询:taxonomy字段是category就是分类,是post_tag就是标签——如果你的插件用了自定义分类法,这里可能是page_category之类的自定义值。
  • 前端模板插代码测试
    在你的页面模板(比如page.php或者自定义模板文件)里加一段测试代码,直接输出当前页面的分类/标签:
    // 输出页面默认分类(如果插件用了默认分类法)
    $categories = get_the_category(get_the_ID());
    if($categories) {
        echo '当前页面分类:';
        foreach($categories as $cat) {
            echo $cat->name . ' ';
        }
    }
    
    // 输出页面默认标签
    $tags = get_the_tags(get_the_ID());
    if($tags) {
        echo '<br>当前页面标签:';
        foreach($tags as $tag) {
            echo $tag->name . ' ';
        }
    }
    
    // 如果插件用了自定义分类法,把这里的'page_category'换成插件的分类法slug
    $custom_terms = get_the_terms(get_the_ID(), 'page_category');
    if($custom_terms) {
        echo '<br>自定义分类:';
        foreach($custom_terms as $term) {
            echo $term->name . ' ';
        }
    }
    
    访问这个页面,要是能看到对应的分类/标签名称,说明关联成功了。

2. 能不能通过浏览器审查代码看文章/页面的分类或标签?

必须可以!不过得看你的主题有没有在前端输出这些信息:

  • 查看body标签的类名
    大部分WordPress主题会在<body>标签里添加分类、标签的类名,比如:
    <body class="page page-id-123 page-template-default category-news tag-tutorial">
    
    这里的category-news就是说这个页面属于news分类,tag-tutorial就是带了tutorial标签。右键页面点击「检查」,找到<body>标签就能看到这些类。
  • 查看head里的meta标签
    有些主题会在<head>里添加分类/标签的meta信息,比如:
    <meta name="keywords" content="教程, WordPress">
    
    不过这种不如body类常见。
    要是你的主题没输出这些内容,那审查代码就看不到,这时候还是得用后台或者数据库的方法验证。

额外解决:插件生效问题&按分类/标签排序页面无效

你提到用插件给页面加了分类/标签,但按查询参数排序没用,还有获取子页面的代码问题,我给你几个排查方向:

  • 先搞清楚插件用的分类法slug
    很多页面分类插件不会用默认的categorypost_tag(这俩默认是给文章用的),而是自己创建自定义分类法,比如page_categorypage_tag。你可以去插件设置里找,或者用之前的数据库方法,查看wp_term_taxonomy表的taxonomy字段是什么。
  • 修改获取子页面的代码参数
    如果你现在用get_pages()获取子页面,得在参数里指定分类法和对应的分类ID/名称,举个例子:
    $child_pages = get_pages(array(
        'child_of' => get_the_ID(), // 获取当前页面的子页面
        'tax_query' => array(
            array(
                'taxonomy' => 'page_category', // 替换成你插件的分类法slug
                'field'    => 'slug',
                'terms'    => 'your-category-slug', // 要筛选的分类的slug
            ),
        ),
        'orderby' => 'title', // 按标题排序,也可以换成'taxonomy'按分类排序
        'order'   => 'ASC'
    ));
    
    要是用WP_Query的话,参数类似:
    $page_query = new WP_Query(array(
        'post_type' => 'page',
        'post_parent' => get_the_ID(),
        'tax_query' => array(
            array(
                'taxonomy' => 'page_category',
                'field'    => 'slug',
                'terms'    => 'your-category-slug',
            ),
        ),
        'orderby' => 'title',
        'order'   => 'ASC'
    ));
    
  • 确认插件真的关联上了
    要是改了代码还是没用,大概率是插件没正确把分类/标签和页面绑在一起。用之前的数据库方法,看看wp_term_relationships里有没有这个页面ID和对应分类/标签的关联记录。要是没有,要么是你后台操作时没保存好,要么是插件有bug,可以换个同类插件试试。

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

火山引擎 最新活动