[英]Using Wordpress Theme Mod Better
我向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
}
坦白說,您甚至不需要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>';
}
聲明將返回設置的主題mod,默認情況下返回500
像素和100
視口高度%。
最后,您可以一次輸出整個內容。
話雖如此,“烘焙”腳本和樣式通常不是在WordPress中添加CSS和JS的最佳方法,尤其是當您正在處理主題時。 這種CSS是教材的教科書示例,應與wp_add_inline_style()
函數一起添加以擴展主題的主要樣式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.