有没有办法将 css 类(brk-preloader)添加到一个桌面页面和所有页面的移动页面中特定的 html 标签中?



这是示例代码,用作wordpress中的预加载器。

标头.php

<html <?php language_attributes(); ?> <?php brk_root_class();?> <?php brk_skin_attr();?>>

功能.php

/**
* Root Class
*/
function brk_root_class( $classes = array() ) {
if ( get_theme_mod( 'brk_preloader', '1' ) ) {
$classes[] = 'brk-preloader';
}
if ( is_singular( array( 'brs_header', 'brs_footer' ) ) ) {
$classes[] = 'is-single-' . esc_attr( get_post_type() );
}
if ( is_customize_preview() ) {
$classes[] = 'html-is-preview';
}
$classes = implode( ' ', $classes );
echo 'class="' . esc_attr( $classes ) . '"';
}

遵循以下函数中的 if/else 条件

function brk_root_class( $classes = array() ){
if ( get_theme_mod( 'brk_preloader', '1' ) ) {
// start conditon
if(wp_is_mobile()){ 
// mobile
$classes[] = 'brk-preloader';
}else{
// desktop, for specific page
if(get_the_ID()=='1234'){ // 1234 it's a unique page id. WordPress provide id for pages/posts
$classes[] = 'brk-preloader';
}
}
// end condition
}
if ( is_singular( array( 'brs_header', 'brs_footer' ) ) ) {
$classes[] = 'is-single-' . esc_attr( get_post_type() );
}
if ( is_customize_preview() ) {
$classes[] = 'html-is-preview';
}
$classes = implode( ' ', $classes );
echo 'class="' . esc_attr( $classes ) . '"';
}

最新更新