我创建了以下功能,用于使用ACF收集将在主页上用作背景图像的图像。一周中的每一天都会有不同的图像。我想对图像使用lazyload,但我不知道如何在这种情况下分配图像类。感谢任何建议。
function my_custom_background() {
if ( ! is_front_page() ) {
return;
}
$img_id = get_field( strtolower( date( 'l' ) ) );
echo "<style>\n";
// Large desktops.
$img = wp_get_attachment_image_src( $img_id, 'large_desktop_background' );
echo "body {\n";
echo sprintf( "\tbackground-image: url(%s);\n", $img[0] );
echo "}\n";
// Small desktops.
$img = wp_get_attachment_image_src( $img_id, 'small_desktop_background' );
echo "@media (max-width: 1199px) {\n";
echo "\tbody {\n";
echo sprintf( "\t\tbackground-image: url(%s);\n", $img[0] );
echo "\t}\n";
echo "}\n";
// Tablets.
$img = wp_get_attachment_image_src( $img_id, 'tablet_background' );
echo "@media (max-width: 991px) {\n";
echo "\tbody {\n";
echo sprintf( "\t\tbackground-image: url(%s);\n", $img[0] );
echo "\t}\n";
echo "}\n";
// Mobile.
$img = wp_get_attachment_image_src( $img_id, 'phone_background' );
echo "@media (max-width: 767px) {\n";
echo "\tbody {\n";
echo sprintf( "\t\tbackground-image: url(%s);\n", $img[0] );
echo "\t}\n";
echo "}\n";
echo "</style>\n";
}
add_action( 'wp_head', 'my_custom_background' );
答案 0 :(得分:0)
您可以使用过滤器将类添加到body标记。
add_filter( 'body_class', function( $classes ) {
return array_merge( $classes, array( 'class-name' ) );
} );