我正在尝试让我的if / else正常工作。 我有一个叫做WordPress的函数。而且我想显示不同的css(如果未使用或已使用)。
就像我的主题一样,它可以显示横幅,如果为空,则不显示。但是,如果已设置,它将显示图像。
据我了解,如果该函数为空或不为真,它将不会显示任何内容。 谢谢您的宝贵时间。
WordPress.org the_header_image_tag
上的功能代码
<style type="text/css">
<?php
endif; ?>
<?php
if ( ! the_header_image_tag() )
// Also tried if ( ! function_exists('the_header_image_tag')):
// Also tried if ( the_header_image_tag() )
?>
.site-title a {
color: #<?php
echo esc_attr($header_text_color); ?>;
position: relative;
}
.site-description {
color: #<?php
echo esc_attr($header_text_color); ?>;
position: relative;
}
<?php
else: ?>
.site-title a {
color: #<?php
echo esc_attr($header_text_color); ?>;
position: absolute;
top: 150px;
right: 100px;
display: block;
z-index: 100;
}
.site-description {
color: #<?php
echo esc_attr($header_text_color); ?>;
position: absolute;
top: 20px;
display: block;
z-index: 100;
}
</style>
<?php
endif; ?>
答案 0 :(得分:0)
食典委说,如果未设置,它将返回一个空字符串,因此请尝试检查该字符串。另外,您不会在if语句的末尾回显样式结束标记,所以我将其移至if-else之外。
<?php
endif; ?>
<?php
if ( the_header_image_tag() == '' ) {
// Codex say it will return an empty string if not used
// I also more like curly brackets (even if WP doesn't), but i don't think it will affect the results
?>
.site-title a {
color: #<?php
echo esc_attr($header_text_color); ?>;
position: relative;
}
.site-description {
color: #<?php
echo esc_attr($header_text_color); ?>;
position: relative;
}
<?php } else { ?>
.site-title a {
color: #<?php
echo esc_attr($header_text_color); ?>;
position: absolute;
top: 150px;
right: 100px;
display: block;
z-index: 100;
}
.site-description {
color: #<?php
echo esc_attr($header_text_color); ?>;
position: absolute;
top: 20px;
display: block;
z-index: 100;
}
// style closing tag moved outside. Your problem might be as simple as you don't echo out the closing tag in your if statement but only in the else
<?php } ?>
</style>
答案 1 :(得分:0)
通常,Wordpress中以the_
开头的函数将回显字符串。因此,您可以使用<?php the_title(); ?>
并将其显示出来。
如果您需要返回字符串,则大多数函数都以get_
开头。
使用get_header_image_tag()
应该可以在您的if
语句中使用。