Taxonomy Tag Conditionals

时间:2013-01-25 作者:Locke

我使用jigoshop作为主要的电子商务插件。

Jigoshop使用分类法调用、product\\u cat和product\\u标记。

在我的主题中,我使用默认(h5bp)404。php,所以每次标记不存在时,我都会得到默认的404。

但我需要一个特殊的模板THIS TAG DO NOT EXIST

我该怎么做?

我使用的是无意义的:

@@@
<?php

if (is_tax()){
    jigoshop_get_template( \'product_taxonomy-no.php\' );
}else{
 jigoshop_get_template( \'product_taxonomy-no.php\' );
}
?>
@@@
谢谢

1 个回复
最合适的回答,由SO网友:Milo 整理而成

如果要使用完全不同的模板,可以筛选404_template 并检查特定分类的查询变量:

function wpa83050_404_template( $template = \'\' ){
    global $wp_query;
    if( isset( $wp_query->query_vars[\'product_cat\'] ) )
        $template = locate_template( array( "product_taxonomy-no.php", $template ), false );
    return $template;
}
add_filter( \'404_template\', \'wpa83050_404_template\' );
您也可以在404模板中加入与上述类似的逻辑,并将该模板用于所有404,请检查$wp_query 设置了哪些查询变量,并相应地打印一些文本。添加var_dump( $wp_query ); 查看在不同条件下设置的查询变量。

结束

相关推荐

Custom text for certain tags

是否可以在页面上写入(单篇文章)以显示文本,这些文本会根据记录中指定的标记类型而变化。我理解写得对。例如,通过关联数组生成一对标记文本。如果记录是针对数组中指定的标记的,则应与此标记文本相对应地显示该记录。你明白我想要什么吗?我知道WordPress中有一个函数has\\u tag(),但是如果我有太多的标签呢?我想要的:例如if (has_tag (\'TAGNAME\')) { <p> TEXT tag TAGNAME </p> elseif (has