【问题标题】:How Do you Properly Add An Image Control To Wordpress Customizer?您如何正确地将图像控件添加到 Wordpress 定制器?
【发布时间】:2019-07-21 17:23:48
【问题描述】:

Wordpress 管理员定制器控件不完整。我该如何解决?

我的代码:

$wp_customize->add_setting('swag_header_media');
$wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'swag_header_media', array(
    'label'            => 'Current Image Selection',
    'section'          => 'swag_header_media_section',
    'active_callback'  => 'header_show_image_selection_settings_callback',
    'settings'         => 'swag_header_media'
)));

结果不完整。我可以从中选择一个图像,图像会显示在主题的前端。但是,选择的图像并未显示它正在控件中使用。

换句话说(见截图),您可以看到正在使用的背景图像(电话),但它没有显示它正在管理定制器控件中使用。它说“当前图像选择”,但它是空的,下面没有按钮可以更改或删除它。

【问题讨论】:

  • 那是你的实际代码吗?因为我测试了它,它对我来说很好用。您能否显示注册定制程序部分的代码以及header_show_image_selection_settings_callback 函数的代码?或者可以尝试使用空的active_callback(默认为true)。
  • Tes,这是我的实际代码。无论我是否使用回调,结果都是一样的。
  • 好吧,也许停用插件会帮助您确定问题的根源。也可以尝试使用默认主题的相同代码 - 即仅使用 style.cssfunctions.php 创建子主题,以及函数文件,使用该代码。
  • 我用 Gutenberg Starter Starter 主题尝试了这段代码 sn-p 并得到了相同的结果。请注意,这是全新安装。 github.com/WordPress/gutenberg-starter-theme
  • 那么您是否已经尝试过示例子主题?即使有了这些主题,您仍然遇到同样的问题??

标签: wordpress wordpress-theming


【解决方案1】:

当您检查页面时,是否有任何错误?

用这么少的数据很难弄清楚。

试试这个 'settings' => 'themename_theme_options[swag_header_media]',

【讨论】:

  • 全新安装,没有 php 错误,检查时没有错误,没有控制台错误。我很茫然。我尝试了您建议的代码,并且控件不再出现。
  • 您联系过主题开发者吗?
【解决方案2】:

试试:

$wp_customize->add_setting('themename_theme_mods[swag_header_media]',array(
    //'default'           => 'image.jpg',
    //'capability'        => 'edit_theme_options',
    //'type'              => 'option'
));

$wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'swag_header_media', array(
    'label'            => 'Current Image Selection',
    'section'          => 'swag_header_media_section',
    'active_callback'  => 'header_show_image_selection_settings_callback',
    'settings'         => 'themename_theme_mods[swag_header_media]'
)));

如果这不起作用,我建议将swag_header_media 更改为其他键名。我怀疑其他控件/功能也可能使用键名。因此,尝试向该键名添加任何 1 个字母,然后查看结果。此外,如果您在站点上有任何缓存,请将其关闭。

另外,问题可能出在callback

【讨论】:

    猜你喜欢
    • 2013-12-17
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 2020-06-08
    • 1970-01-01
    相关资源
    最近更新 更多