我使用TwentyTwent主题,并希望通过页面ID更改其背景颜色。
我不确定,但当我检查功能时。php,我看到以下与背景颜色相关的行:
// Custom background color.
add_theme_support(
\'custom-background\',
array(
\'default-color\' => \'f5efe0\',
)
);
// Add the background option.
$background_color = get_theme_mod( \'background_color\' );
if ( ! $background_color ) {
$background_color_arr = get_theme_support( \'custom-background\' );
$background_color = $background_color_arr[0][\'default-color\'];
}
$editor_color_palette[] = array(
\'name\' => __( \'Background Color\', \'twentytwenty\' ),
\'slug\' => \'background\',
\'color\' => \'#\' . $background_color,
);
有没有什么简单的方法可以根据页面ID改变背景颜色?
当做
最合适的回答,由SO网友:Himad 整理而成
CSS在文件上生成inc/custom-css.php
, 背景色在第行设置76:
$background = sanitize_hex_color_no_hash( get_theme_mod( \'background_color\' ) );
所以您可以利用
theme_mod_{$name}
过滤器,用于更改
get_theme_mod($name)
函数,将其添加到函数中。php文件:
add_filter(
\'theme_mod_background_color\',
function( $value ) {
$custom_bg_page_ids = array( 18, 19, 20 );
$custom_bg_color = \'ca2d2d\';
global $post;
if ( in_array( $post->ID, $custom_bg_page_ids ) ) {
return $custom_bg_color;
}
return $value;
}
);