wordpress - 未呈现 Wordpress 自定义帖子类型存档页面模板
问题描述
我正在创建一个插件并添加一个自定义帖子类型 ssd_vehicles。单页模板正在工作,它正在使用我在过滤器“single_template”中设置的模板文件,但“archive_template”不工作它进入状态is_post_type_archive ( 'ssd_vehicles' )
但它不使用我返回到“archive_template”的模板文件
ssd-plugin.php
register_post_type('ssd_vehicles',
array(
'labels' => array(
'name' => __('SSD Vehicles', 'textdomain'),
'singular_name' => __('SSD Vehicle', 'textdomain'),
),
'public' => true,
'has_archive' => 'ssd_vehicles',
'rewrite' => array( 'slug' => 'ssd_vehicle' ),
'supports' => array( 'title', 'editor', 'custom-fields' ),
)
);
add_filter('single_template', array('MyClass','create_single_template'));
add_filter('archive_template', array('MyClass','create_archive_template'));
public static function create_single_template( $single_template ){
global $post;
if ( 'ssd_vehicles' === $post->post_type ) {
//THIS WORKS AND DISPLAYS THE CORRECT TEMPLATE FILE
$single_template = dirname( __FILE__ ) . '/templates/single-ssd_vehicles.php';
}
return $single_template;
}
public static function create_archive_template( $archive_template ){
global $post;
if ( is_post_type_archive ( 'ssd_vehicles' ) ) {
//CODE GOES HERE BUT THE THIS TEMPLATE FILE IS NOT BEING USED
$archive_template = dirname( __FILE__ ) . '/templates/archive-ssd_vehicles.php';
}
return $archive_template;
}
解决方案
似乎 elementor 正在覆盖我的自定义存档模板。我尝试禁用和启用插件,它似乎可以工作,但是当 elementor pro 处于活动状态时,它会覆盖模板。
推荐阅读
- symfony - 当我尝试通过更改 `extra.symfony.require` 来升级 Symfony 时,为什么会出现此错误?
- bit-manipulation - 如何在 Solidity 中将 bytes3 转换为 HEX 字符串
- c++ - 在所有 QML 文件中全局访问 C++ 信号/槽
- sql - 如何解决 sql 嵌套查询问题
- javascript - d3js在地图图表中打开一个带有国家ID的新标签
- robotframework - 有关如何绕过 Robot Framework 中的 Microsoft Authenticator 的任何解决方法
- google-sheets - 如何过滤数据不等于谷歌表中输入ID的数据范围?
- mongodb - 如何从 Apollo Server 连接到 Dgraph?
- react-native - 使用 Vector-Icons 作为 react-native-push-notification 图标
- javascript - 如何处理特定的框架集转换