Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为自定义分类创建归档模板?_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 如何为自定义分类创建归档模板?

Php 如何为自定义分类创建归档模板?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我已经为woocommerce上的产品创建了一个新的分类法 现在,当我转到分类视图时,它显示404。 我如何使它显示的产品就像在网站上的任何其他常规类别 tnx ahead:)当WordPress找不到任何自定义分类的模板时,就会出现此问题 1.解决方案是创建一个名为“taxonomy-tax_name.php”的WooCommerce模板(最好是在子主题中)。 2.为此,您可以复制存档模板(如archive-product.php)的内容,并通过使用post_type=>“product”的参

我已经为woocommerce上的产品创建了一个新的分类法

现在,当我转到分类视图时,它显示404。 我如何使它显示的产品就像在网站上的任何其他常规类别


tnx ahead:)

当WordPress找不到任何自定义分类的模板时,就会出现此问题

1.解决方案是创建一个名为“taxonomy-tax_name.php”的WooCommerce模板(最好是在子主题中)。
2.为此,您可以复制存档模板(如archive-product.php)的内容,并通过使用post_type=>“product”的参数执行WP_Query()对其进行修改,并使用新创建的自定义分类法slug添加“tax_Query”。

3.这将为您提供所需的产品,现在可以根据需要显示。

当WordPress找不到任何自定义分类的模板时,就会出现此问题

1.解决方案是创建一个名为“taxonomy-tax_name.php”的WooCommerce模板(最好是在子主题中)。
2.为此,您可以复制存档模板(如archive-product.php)的内容,并通过使用post_type=>“product”的参数执行WP_Query()对其进行修改,并使用新创建的自定义分类法slug添加“tax_Query”。

3.这将为您提供所需的产品,现在可以根据需要显示。

我尝试了此代码,它对我有效

我创建了一个分类名称“team”,下面是我的代码

add_filter('template_include', 'team_set_template');
function team_set_template( $template ){
  if(is_tax('team')) :
    $taxonomy = 'team';
    $term = get_query_var($taxonomy);
    $prod_term = get_terms($taxonomy, 'slug='.$term.''); 
    $term_slug = $prod_term[0]->slug;
    $t_id = $prod_term[0]->term_id;
    $term_meta = get_option( "taxonomy_$t_id" );
    $term_meta['team_access_pin'];  

    wc_get_template( 'archive-product.php' );

 else : 

    wc_get_template( 'archive-product.php' );

 endif; 

}
注意:我在functions.php文件中使用了这段代码。如果有人想使用这个代码。请将名称“team”替换为自定义分类名称

谢谢,
Satya

我试过这个代码,它对我很有效

我创建了一个分类名称“team”,下面是我的代码

add_filter('template_include', 'team_set_template');
function team_set_template( $template ){
  if(is_tax('team')) :
    $taxonomy = 'team';
    $term = get_query_var($taxonomy);
    $prod_term = get_terms($taxonomy, 'slug='.$term.''); 
    $term_slug = $prod_term[0]->slug;
    $t_id = $prod_term[0]->term_id;
    $term_meta = get_option( "taxonomy_$t_id" );
    $term_meta['team_access_pin'];  

    wc_get_template( 'archive-product.php' );

 else : 

    wc_get_template( 'archive-product.php' );

 endif; 

}
注意:我在functions.php文件中使用了这段代码。如果有人想使用这个代码。请将名称“team”替换为自定义分类名称

谢谢,
萨蒂娅

谢谢你,萨蒂娅!这个有用!!对于woocommerce,我插入了“woocommerce.php”而不是“archive product.php”,其余部分由woocommerce处理,就像它显示自己的“categories”分类法一样。请注意:确保您的自定义分类法注册为public true和query var true。此外,如果在functions.php中使用此模板,则只有archive-product.php模板将在站点范围内使用。相反,在else中,只需返回$template即可使用您使用的其他模板。谢谢您,Satya!这个有用!!对于woocommerce,我插入了“woocommerce.php”而不是“archive product.php”,其余部分由woocommerce处理,就像它显示自己的“categories”分类法一样。请注意:确保您的自定义分类法注册为public true和query var true。此外,如果在functions.php中使用此模板,则只有archive-product.php模板将在站点范围内使用。相反,在else中,只需返回$template即可利用您使用的其他模板。