下記コードではどうでしょうか?
テーマの functionc.php に、
function my_post_background_style( $style, $image_src, $background ) {
if ( $background['attachment'] ) {
return $style;
}
$url = esc_url( $image_src );
$size = in_array( $background['size'], array( 'auto', 'contain', 'cover' ), true ) ? $background['size'] : 'auto';
$repeat = $background['repeat'] ? 'repeat' : 'no-repeat';
$position_x = ( in_array( $background['position_x'], array( 'left', 'center', 'right' ), true ) ) ? $background['position_x'] : 'left';
$position_y = ( in_array( $background['position_y'], array( 'top', 'center', 'bottom' ), true ) ) ? $background['position_y'] : 'top';
$style = <<<STYLE
body.custom-background {
background-image: none;
}
body::before {
content: "";
position: fixed;
top: 0;
left: 0;
z-index: -1;
width: 100vw;
height: 100vh;
background-image: url("$url");
background-repeat: $repeat;
-webkit-background-size: $size;
background-size: $size;
background-position: $position_x $position_y;
}
STYLE;
return $style;
}
add_filter( 'xo_post_background_style', 'my_post_background_style', 10, 3 );
(根本的には iOS のバグ(こちらを参照)なので修正されればいいのですが……)