【问题标题】:Default Image appears blank - Wordpress Theme Customization API默认图像显示为空白 - Wordpress 主题自定义 API
【发布时间】:2021-01-03 06:35:08
【问题描述】:

我想让我的主题用户可以通过主题自定义 API 替换横幅。我已经让它工作了,但是,默认图像显示为空白,当我单击“查看页面源”时,我得到以下信息:

<img src=" " alt="banner" />

默认图像显示在 API 窗口内的预览中,但不在浏览器中。在我上传横幅以替换默认横幅的那一刻,它可以完美运行。但我就是无法显示默认图像。我做错了吗?

这是在我的functions.php中:

// Start New Section for Images
$wp_customize->add_section('customtheme_images', array(
'title' => _('Images'),
'description' => 'Change Images'
));
$wp_customize->add_setting('banner_image', array(
'default' => 'http://mywebsite.com/banner.jpg',
));
$wp_customize->add_control( new WP_Customize_Image_Control ($wp_customize,   'banner_image', array(
'label' => _('Change Banner'),
'section' => 'customtheme_images',
'settings' => 'banner_image'
) )); 

而且,这是在我的 header.php 中:

<img src="<?php echo get_theme_mod('banner_image'); ?>" alt="banner">

是的,我已经三次检查了默认图像的路径,它是正确的。请帮忙!

【问题讨论】:

    标签: wordpress wordpress-theming


    【解决方案1】:

    使用$wp_customize->add_setting('banner_image', array( 'default' => 'http://mywebsite.com/banner.jpg', )); 时默认值不会保存到数据库中(直到您保存)。

    所以你必须使用:&lt;img src="&lt;?php echo get_theme_mod('banner_image','http://mywebsite.com/banner.jpg'); ?&gt;" alt="banner"&gt;

    您描述的问题与以下问题有关:https://wordpress.stackexchange.com/questions/129479/alternatives-to-handle-customizer-settings

    【讨论】:

    • 谢谢。但是,如果我们需要设置默认值自定义。那么default参数的含义就少了。
    【解决方案2】:

    我这里也有同样的情况。以下解决方案的问题:

    &lt;?php echo get_theme_mod('banner_image','http://mywebsite.com/banner.jpg'); ?&gt;

    我需要用户能够删除默认图像。此默认图像将仅用于主题的初始显示。所以我需要一个在激活主题时已经保存在数据库中的解决方案。

    【讨论】:

      猜你喜欢
      • 2011-10-18
      • 2014-01-23
      • 2014-04-20
      • 2019-05-11
      • 1970-01-01
      • 2014-02-10
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      相关资源
      最近更新 更多