使用插件的分类模板

时间:2018-11-13 11:23:40

标签: wordpress custom-taxonomy

我创建了一个wordpress插件,该插件创建2种自定义帖子类型和激活分类。

分类法名称为“产品”。

我创建了一个文件“ taxonomy-product.php”

<?php
/**
 * The template for displaying Product Archieve
 */

 get_header(); ?>
    <div class="wrap">

    <?php if ( have_posts() ) : ?>
        <header class="page-header">
                        </header><!-- .page-header -->
    <?php endif; ?>

    <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">
//Query for pulling posts
    <?php
$args = array(
  'post_type'   => 'product_reviews',
  'post_status' => 'publish',   
 );

$products = new WP_Query( $args );
if( $products->have_posts() ) :
?>

<?php get_footer();

此模板包含在plugin文件夹中,并且在调用产品分类法时,该模板会显示,但是会引发致命错误,找不到get_header()

有人可以帮我解决问题,以及如何使用插件添加自定义分类模板。

下面是我用来在插件文件中包含自定义模板的代码:

 add_filter('template_include', 'set_template');
function set_template( $template ){

       if( is_tax('product'))
        $template = plugin_dir_url(__FILE__ ).'templates/taxonomy-product.php';

    return $template;
}

这类似于在woo Commerce中包含产品模板。

1 个答案:

答案 0 :(得分:0)

您应按路径而不是URL包含文件,因此请更改

$template = plugin_dir_url(__FILE__ ).'templates/taxonomy-product.php';

$template = plugin_dir_path(__FILE__ ).'templates/taxonomy-product.php';