我向Wordpress Customizer添加了一些自定义控件, 并使用这些控件来设置滑块的样式。我想知道是否有比我已经做过的更好的方法来实现此目的。我在这里不太了解if语句, 但我知道它可以工作。任何帮助深表感谢!
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
}
#1说实话, 你甚至不需要if语句, 因为你正在将默认值传递给get_theme_mod(), 因此它永远不应为空。一般来说, 如果你没有默认值, 或者甚至有可能为空值, 则需要检查该条件-但你不需要在这里。如果愿意, 可以将它们组合为单个if语句, 如下所示:
if ( !empty( $slider_height ) || !empty( $slider_max_height ) ){
// Code
}
管道||表示PHP的逻辑” 或” 运算符, 因此, 如果任何一个都不为空, 它将继续进行。也就是说, 这可能就是我修改当前代码的方式:
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>
';
}
【更好地使用WordPress Theme Mod】声明将返回设置的主题mod, 默认情况下返回500像素和100视口高度%。
最后, 你可以一次输出整个内容。
话虽如此, “ 烘焙” 脚本和样式通常不是在WordPress中添加CSS和JS的最佳方法, 尤其是当你正在处理主题时。这种CSS是教科书的代码示例, 应与wp_add_inline_style()函数一起添加以扩展主题的主要样式。
推荐阅读
- 使用空的WordPress主题,是否会降低网站的”加载速度”或”安全性”()
- 使用contact form7和右侧被切断
- 在WordPress的主域和子域上使用相同的数据库
- 用户上传自定义帖子类型时的电子邮件通知
- 在WordPress的子主题中使用父主题中定义的常量
- 在Essential Grid中使用自定义模板
- 短代码输出中不需要的p标签。 wpautop过滤器已删除
- 更新WordPress打破自定义WordPress主题
- WordPress中的”未捕获的TypeError($不是函数” [重复])