NavXia主题使用文档

开发者文档

通过子主题覆盖父主题功能

NavXia 主题支持通过子主题覆盖部分父主题函数。你可以在不直接修改父主题文件的情况下,自定义网址导航的名称、固定链接、分类链接和搜索类型等内容。

使用子主题进行修改,可以避免父主题更新后覆盖已经修改的代码,也更方便后续维护和升级。

使用前准备

请先安装并启用 NavXia-Child 子主题,然后打开子主题目录中的 functions.php 文件:

/wp-content/themes/NavXia-Child/functions.php

将需要使用的覆盖代码添加到该文件中。

请注意:示例代码目前使用 /**/ 进行了注释。如果需要启用对应功能,请移除函数前后的注释符号。

修改网址导航文章类型

create_tool_post_type() 函数用于覆盖父主题中网址导航文章类型的注册参数。

通过该函数,可以修改网址导航在后台显示的名称、菜单图标、支持的编辑功能以及详情页固定链接。

修改后台显示名称

示例代码将网址导航相关名称修改为“工具”,例如:

  • 添加工具
  • 编辑工具
  • 所有工具
  • 搜索工具

你可以根据网站类型,将这些文字修改为“游戏”“软件”“资源”“网站”或其他名称。

修改详情页固定链接

以下参数用于设置网址导航详情页的固定链接前缀:

'rewrite' => array(
    'slug' => 'game',
),

设置后,网址导航详情页链接将使用以下格式:

https://example.com/game/内容别名/

你可以将 game 修改为自己需要的英文或数字,例如:

  • software
  • website
  • resource
  • app

不建议使用中文、空格或特殊符号作为固定链接前缀。

文章类型支持的功能

示例代码中的网址导航支持以下编辑功能:

'supports' => array(
    'title',
    'editor',
    'excerpt',
),
  • title:标题。
  • editor:正文编辑器。
  • excerpt:摘要。

如果需要支持特色图片,可以在数组中增加 thumbnail

'supports' => array(
    'title',
    'editor',
    'excerpt',
    'thumbnail',
),

修改网址导航分类法

create_tool_taxonomy() 函数用于覆盖网址导航分类、网址导航标签和特色标签的注册参数。

网址导航分类

tool_category 是网址导航使用的层级分类法,使用方式与 WordPress 文章分类目录类似,可以创建父级分类和子分类。

以下参数用于修改分类页面的固定链接前缀:

'rewrite' => array(
    'slug'         => 'game-category',
    'with_front'   => false,
    'hierarchical' => true,
),

设置后,网址导航分类页面将使用以下链接格式:

https://example.com/game-category/分类别名/

网址导航标签

tool_tag 是网址导航使用的标签分类法,默认不支持父子层级。

以下参数用于修改标签页面的固定链接前缀:

'rewrite' => array(
    'slug'         => 'game-tag',
    'with_front'   => false,
    'hierarchical' => true,
),

设置后,网址导航标签页面将使用以下链接格式:

https://example.com/game-tag/标签别名/

特色标签

feature_tag 用于在后台为网址导航设置特色属性。该分类法只在后台使用,不会生成前端归档页面。

'public'             => false,
'publicly_queryable' => false,
'rewrite'            => false,

示例代码使用以下回调函数,将特色标签显示为下拉选择框:

'meta_box_cb' => 'feature_tag_dropdown_metabox',

使用该设置前,请确保主题或子主题中已经存在 feature_tag_dropdown_metabox() 函数,否则编辑网址导航时可能无法正常显示特色标签选择框。

修改搜索类型名称

tool_search_type_dropdown() 函数用于修改网站搜索框中的内容类型选项。

示例代码将搜索类型显示为:

  • 游戏
  • 文章
$options = [
    'tool' => __('游戏', 'xintheme'),
    'post' => __('文章', 'xintheme'),
];

你可以将“游戏”修改为网站实际使用的内容名称,但数组键 tool 不要修改,因为它是主题内部使用的文章类型名称。

修正默认搜索类型

原示例中的默认值写成了 product

$search_type = isset($_GET[$name]) && $_GET[$name] === 'post' ? 'post' : 'product';

由于搜索选项中使用的是 tool,这里应当将 product 修改为 tool

$search_type = isset($_GET[$name]) && $_GET[$name] === 'post' ? 'post' : 'tool';

否则默认搜索类型可能无法正确选中“游戏”选项。

启用覆盖代码

示例中的每个函数都被单独注释,你可以只启用需要修改的部分。

例如,需要修改网址导航文章类型时,将以下结构:

/*function create_tool_post_type() {
    // 自定义代码
}*/

修改为:

function create_tool_post_type() {
    // 自定义代码
}

网址导航分类法和搜索筛选函数也使用相同的方法启用。

重新保存固定链接

修改文章类型或分类法的 slug 后,需要进入 WordPress 后台的“设置 → 固定链接”,直接点击“保存更改”。

重新保存固定链接后,WordPress 会更新链接重写规则,使新的网址结构生效。

如果修改后访问详情页或分类页出现 404 错误,通常可以通过重新保存固定链接解决。

注意事项

  • 请将覆盖代码添加到 NavXia-Child 子主题中,不要直接修改父主题文件。
  • 修改 PHP 文件前,建议先备份网站文件和数据库。
  • 函数名称必须与父主题中的函数名称保持一致,否则无法覆盖原有功能。
  • 父主题中的对应函数需要使用 function_exists() 判断后再声明,子主题覆盖才能正常生效。
  • 不要在父主题和子主题中重复声明同名函数,否则可能导致网站出现致命错误。
  • 修改固定链接前缀后,原有链接可能失效,正式网站建议设置 301 重定向。
  • 修改代码后,如果前端没有变化,请清理主题缓存、缓存插件和 CDN 缓存。
这页内容对你有帮助吗?

联系客服

联系客服

添加客服微信,获取一对一专属服务!

扫码添加微信

微信二维码

更多联系方式

QQ:

670088886

工作时间:周一至周六,10:00-22:00