因此,我尝试允许用户更改自定义程序中主题的默认图像。显然我希望默认图像首先出现,直到他们添加自己的图像。
在header.php
我有以下代码:
<?php
$sldimages = '';
$sldimages = array(
'1' => get_template_directory_uri().'/images/slides/slider1.jpg',
'2' => get_template_directory_uri().'/images/slides/slider2.jpg',
'3' => get_template_directory_uri().'/images/slides/slider3.jpg',
); ?>
在customizer.php
我有以下代码:
$wp_customize->add_setting('slide_image1',array(
'default' => get_template_directory_uri().'/images/slides/slider1.jpg',
'sanitize_callback' => 'esc_url_raw',
));
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'slide_image1', array(
'label' => __('Slide Image 1 ','forest-lights'),
'section' => 'slider_section',
'settings' => 'slide_image1'
)
)
);
问题是当您不在自定义区域时,图像不会显示,因为文件路径不正确。在检查元素后,我得到:
<img src="http://localhost/wp-content/themes/Forestights/images/slides/slider1.jpg" alt="" title="#slidecaption1" data-pin-nopin="true">
当我打开自定义程序(并显示图像IS)时,我得到以下文件路径:
<img src="http://localhost/wp-content/themes/Forest%20Lights/images/slides/slider1.jpg" alt="" title="#slidecaption1">
问题似乎是当我不在自定义程序中时,get_template_directory_uri()省略了我的主题文件夹标题&#34; Forest Lights&#34;但它不在定制器中。是否有解决方案,如果是这样,它是什么?