如何覆盖插件中的类别模板

时间:2022-02-08 作者:Ibrarr Khan

所以我基本上需要用插件中的模板覆盖我的子主题中的类别模板,但我似乎无法让它工作。

我已经检查了文件路径和所有内容,并且都是正确的,这似乎是这样做的,但Wordpress似乎没有使用我插件中的模板。

add_filter( \'taxonomy_template\', \'load_new_custom_tax_template\');
function load_new_custom_tax_template ($tax_template) {
  if (is_category()) {
    $tax_template = dirname(  __FILE__  ) . \'/category.php\';
  }
  return $tax_template;
}

1 个回复
SO网友:Sally CJ

我注意到你正在使用is_category() 在你的函数中,这意味着你的目标是默认/核心category 分类法,而不是自定义分类法,因此您应该使用category_template 钩例如。

add_filter( \'category_template\', \'load_new_custom_tax_template\');
function load_new_custom_tax_template ($tax_template) {
    // I don\'t check for is_category() because we\'re using the category_template filter.
    return dirname( __FILE__ ) . \'/templates/category.php\';
}
或者,您可以使用template_include hook 运行afterthe<type>_template hook 例如category_templatetaxonomy_template:

add_filter( \'template_include\', \'load_new_custom_tax_template\');
function load_new_custom_tax_template ($tax_template) {
    if (is_category()) {
        $tax_template = dirname( __FILE__ ) . \'/templates/category.php\';
    }
    return $tax_template;
}
请注意,其他插件也可以覆盖模板,因此您可能希望使用较低的优先级,即较大的数字作为add_filter(). E、 g.20如所示add_filter( \'category_template\', \'load_new_custom_tax_template\', 20)

相关推荐

在WP搜索表单中是否有类似`wp_Dropdown_Categories()`的输入复选框选项?

我有自定义的帖子类型,当前正在使用wp_dropdown_categories() 在WP搜索表单中的功能,以便人们能够按薪资级别和工作类型进行筛选。是否有一个等效函数,以便用户可以使用输入复选框元素而不是<select> 元素,以便他们在进行搜索时可以选择多个工作类型或薪资水平?我似乎在开发者文档中找不到任何东西。我正在寻找的是允许复选框替换使用下面代码中的select选项的下拉元素的东西。<form method="get" action="<?p