私のテーマは非常に小さい1ページのテーマで、実際にはすべてのスクリプトを必要としません。そのため、wp_head()
とwp_footer()
を削除するオプションをいくつか作成しました。
ただし、私のサイトではcustom_background()
にあるwp_head()
機能を使用しているため、wp_head()
を無効にすると背景も削除されます。
custom_background()
コードをwp_head()
の外側に配置する方法はありますか?
custom_background()
はあなたがあなたのヘッダにwp_head()
を持っていないかのようにそれらのCSSを得るためにあなたが述べたようにCSSをwp_head()
に配置します、コアファイルからのこれらの微調整は助けになるでしょう:
function wpse_228588_background_image_css() {
$background_styles = '';
if ( $bgcolor = get_background_color() )
$background_styles .= 'background-color: #' . $bgcolor . ';';
$background_image_thumb = get_background_image();
if ( $background_image_thumb ) {
$background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', $background_image_thumb ) ) ) );
// Background-image URL must be single quote, see below.
$background_styles .= ' background-image: url(\'' . $background_image_thumb . '\');'
. ' background-repeat: ' . get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) ) . ';'
. ' background-position: top ' . get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) );
}
return $background_styles; // CSS
}
使用法:
<style type="text/css" media="all">body{<?php echo wpse_228588_background_image_css(); ?>}</style>
はい、これは可能です。次のように get_background_image()
を使用してカスタム背景画像に直接アクセスできます。
echo '<style>body.custom-background {background-image: url(' . get_background_image() . ');} </style>';