比较不同模板部件中的值

时间:2016-12-09 16:35:46

标签: php css wordpress

出于某些原因,我必须在页面的页脚中添加一些样式(边距)。仅当页面的内容部分是产品存档时才应用它。

我尝试在archive-products.php文件中创建一个变量,如下所示:

<?php global $template;

$template = 'prodarchive';

var_dump($template);?>

根据var_dump设置值。接下来我试着像我这样在我的footer.php中调用它

<?php if ($template === 'prodarchive' ) {?>

然后是它需要做的事情。

有些测试显示footer.php文件无法重现$ template的值。有什么问题?

2 个答案:

答案 0 :(得分:0)

帖子类型是否未作为css类应用于body标签?

如果没有,您可以将它添加到应用于body标签的类数组中,并根据该数组添加任何其他样式。

How to add classes to body tag

答案 1 :(得分:0)

最简单的解决方案(正如@seemly所指出的)是将body_class()函数应用于<body>标记:

<body <?php body_class(); ?>>

这将应用一系列可用于CSS的有用类,包括一个产品存档页面。

另一种方法是使用is_post_type_archive('product'),它返回一个布尔值。

至于为什么你的全局变量在footer.php中不起作用,我很确定get_footer()在被调用时不会传递所有全局变量。