Avada布局构建器无法显示自定义Services文章类型问题求助
解决Avada Layout Builder不显示自定义「services」文章的问题
核心原因
Avada布局Builder无法识别你的自定义文章类型,是因为注册「services」时缺少了Avada要求的关键参数——和你用PHP直接创建的方式无关,补全参数就能兼容。
具体修复步骤
1. 调整自定义文章类型的注册代码
找到子主题functions.php(或单独的自定义功能文件)里注册services的代码,确保register_post_type()函数包含以下必填参数:
function register_services_post_type() { $args = array( 'public' => true, // 必须设为true,Avada才会将其纳入可识别范围 'has_archive' => true, // 开启存档页面支持,这是布局Builder识别存档的前提 'rewrite' => array( 'slug' => 'services' ), // 对应存档页面的URL路径,和文章类型名保持一致 'supports' => array( 'title', 'editor', 'thumbnail' ), // 按需保留你需要的编辑功能 // 其他已有的标签、图标等参数不用改,直接保留 ); register_post_type( 'services', $args ); } add_action( 'init', 'register_services_post_type' );
如果原有代码已包含这些参数,检查值是否正确,比如public有没有误设为false,has_archive有没有被注释。
2. 刷新固定链接
改完代码后,务必进入WordPress后台「设置」→「固定链接」,直接点击「保存更改」(无需修改任何设置)。这一步会刷新WordPress的重写规则,让新的文章类型存档路径生效。
3. 重新配置Avada布局
回到Avada Layout Builder,重新设置存档布局:
- 布局条件选择「存档类型」→「自定义文章类型存档」→「services」
- 添加文章模块时,在模块的「查询设置」里,明确将「文章类型」选为「services」,避免默认只查询普通文章
额外排查点
- 如果你的
services关联了自定义分类法,要确保分类法注册时添加了'show_in_rest' => true,否则可能影响布局的查询结果 - 检查子主题中是否有用
pre_get_posts修改主查询的代码,若有,要确保没有把services类型排除在外
内容的提问来源于stack exchange,提问作者user2235385
相关产品推荐
相关产品推荐

