Php 更好地使用Wordpress主题模块
我正在向Wordpress自定义程序添加一些自定义控件,并使用这些控件设置滑块的样式。我想知道是否有比我已经做的更好的方法来实现这一点。我不太理解这里的if语句,但我知道它是有效的。非常感谢您的帮助Php 更好地使用Wordpress主题模块,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我正在向Wordpress自定义程序添加一些自定义控件,并使用这些控件设置滑块的样式。我想知道是否有比我已经做的更好的方法来实现这一点。我不太理解这里的if语句,但我知道它是有效的。非常感谢您的帮助 function apache_c_slider_css() { ?> <style type='text/css'> <?php $slider_height = get_theme_mod( 'slider_height', '500'
function apache_c_slider_css() {
?>
<style type='text/css'>
<?php
$slider_height = get_theme_mod( 'slider_height', '500' );
if ( ! empty( $slider_height ) ) {
?>
#slider,
.slides,
.slide {
height: <?php echo $slider_height; ?>px;
}
<?php
}
$slider_max_height = get_theme_mod( 'slider_max_height', '100' );
if ( ! empty( $slider_max_height ) ) {
?>
#slider,
.slides,
.slide {
max-height: <?php echo $slider_max_height; ?>vh;
}
<?php
}
?>
</style>
<?php
}
老实说,您甚至不需要if语句,因为您正在向传递一个默认值,所以它不应该是空的。一般来说,如果没有默认值,或者甚至有可能出现空值,则需要检查该条件,但不需要在此处进行检查。如果愿意,可以将它们组合成一个If语句,如下所示:
if ( !empty( $slider_height ) || !empty( $slider_max_height ) ){
// Code
}
管道| |指示,因此如果其中一个不是空的,它将继续。也就是说,这可能就是我修改您当前代码的方式:
function apache_c_slider_css(){
$slider_height = get_theme_mod( 'slider_height', '500' );
$slider_max_height = get_theme_mod( 'slider_max_height', '100' );
echo '<style type=\'text/css\'>
#slider,
.slides,
.slide {
height: '. $slider_height .'px;
max-height: '. $slider_max_height .'vh;
}
</style>';
}
声明将返回已设置的主题模式,默认情况下为500像素和100%视口高度
最后,您可以一次输出整个内容
话虽如此,在脚本和样式中烘焙通常不是在WordPress中添加CSS和JS的最佳方式,尤其是在处理主题时。这种CSS是一种教科书式的代码示例,它应该与函数一起添加,以扩展主题的主要样式。感谢您的解释。我真的很感激。使用wp\u add\u inline\u样式有什么好处?我有一系列用户调整的自定义控件,现在这些调整通过add_action“wp_head”、“apache_c_slider_css”添加到functions.php的标题中;