Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress自定义图像控件不工作_Php_Html_Wordpress_Customization - Fatal编程技术网

Php Wordpress自定义图像控件不工作

Php Wordpress自定义图像控件不工作,php,html,wordpress,customization,Php,Html,Wordpress,Customization,我目前正在创建一个Wordpress主题,我遇到了一个障碍。我正在使用主题定制页面上传一个主徽标和一个手机徽标。这些标志的,然后应该在页面上使用。我让它工作了二十分钟,但它停止了工作 下面是function.php中的自定义注册函数: function wpalpha_customize_register( $wp_customize ) { $wp_customize->add_section( 'wpalpha_logo_section' , array( 'title'

我目前正在创建一个Wordpress主题,我遇到了一个障碍。我正在使用主题定制页面上传一个主徽标和一个手机徽标。这些标志的,然后应该在页面上使用。我让它工作了二十分钟,但它停止了工作

下面是function.php中的自定义注册函数:

function wpalpha_customize_register( $wp_customize ) {

  $wp_customize->add_section( 'wpalpha_logo_section' , array(
    'title'                 =>  __('Logos', 'wpalpha'),
    'description'           =>  __('Upload logos to replace the default site logos.'),
    'panel'                 =>  'design_settings',
    'priority'              =>  10,
    'capability'            =>  'edit_theme_options',
    'theme_supports'        =>  '',
  ) );

  $wp_customize->add_setting('wpalpha_desktop_logo', array(
    'type'                  =>  'theme_mod',
    'capability'            =>  'edit_theme_options',
    'theme_supports'        =>  '',
    'default'               =>  get_template_directory_uri().'/img/header/shield_text.png',
    'sanitize_callback'     =>  '',
    'sanitize_js_callback'  =>  '',
    'transport'             =>  'refresh',
  ));
  $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'wpalpha_desktop_logo', array(
    'label'                 =>  __('Choose Logo', 'wpalpha'),
    'section'               =>  'wpalpha_logo_section',
    'settings'              =>  'wpalpha_desktop_logo',
    'context'               =>  'wpalpha-desktop-logo',
  )));

  $wp_customize->add_setting('wpalpha_mobile_logo', array(
    'type'                  =>  'theme_mod',
    'capability'            =>  'edit_theme_options',
    'theme_supports'        =>  '',
    'default'               =>  get_template_directory_uri().'/img/header/shield.png',
    'sanitize_callback'     =>  '',
    'sanitize_js_callback'  =>  '',
    'transport'             =>  'refresh',
  ));
  $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'wpalpha_mobile_logo', array(
    'label'                 =>  __('Choose Logo', 'wpalpha'),
    'section'               =>  'wpalpha_logo_section',
    'settings'              =>  'wpalpha_mobile_logo',
    'context'               =>  'wpalpha-mobile-logo',
  )));
}

add_action('customize_register', 'wpalpha_customize_register');
下面是我在header.php中使用它的地方:

<a class="navbar-brand" href="<?php echo home_url(); ?>">

  <?php if(get_theme_mod('wpalpha_desktop_logo') != ''): ?>
  <img class="desktop dlp_logo" src="<?php echo esc_url(get_theme_mod('wpaplpha_desktop_logo')); ?>">
  <?php endif; ?>

  <?php if(get_theme_mod('wpalpha_mobile_logo') != ''): ?>
  <img class="mobile dlp_logo" src="<?php echo esc_url(get_theme_mod('wpaplpha_mobile_logo')); ?>">
  <?php endif; ?>

</a>

这是我的代码输出的结果:

<img class="desktop dlp_logo" src="">
<img class="mobile dlp_logo" src="">

这张图片显示,这些选项在自定义页面上起作用,但我的徽标不再显示(左上角的小框应该是徽标):(显然,我不够好,本网站无法发布图片,因此您必须关注此链接…)

请帮忙! 谢谢

更新#1:

当我更改Wordpress后端站点上的徽标时,我的数据库似乎不再更新。我忘记更新选项了吗?我认为这是内置于这些功能中的

更新#2:



这个var_dump()返回“string(82)”,所以我真的很困惑为什么它不起作用…

开始锚标记缺少一个“”>
我想出了一个解决方案

通过调用get_theme_mod()并将结果存储在字符串中,而不是在src区域内调用,我可以使它正常工作。然后我将字符串回显到src区域

<a class="navbar-brand" href="<?php echo home_url(); ?>">

  <?php if(get_theme_mod('wpalpha_desktop_logo') != ''): ?>
    <?php $wpalpha_desktop_logo = esc_url(get_theme_mod('wpalpha_desktop_logo')); ?>
    <img class="desktop dlp_logo" src="<?php echo $wpalpha_desktop_logo; ?>">
  <?php endif; ?>

  <?php if(get_theme_mod('wpalpha_mobile_logo') != ''): ?>
    <?php $wpalpha_mobile_logo = esc_url(get_theme_mod('wpalpha_mobile_logo')); ?>
    <img class="mobile dlp_logo" src="<?php echo $wpalpha_mobile_logo; ?>">
  <?php endif; ?>

</a>


如果有人有类似的问题,我强烈建议在get_主题上使用var_dump()。

感谢您注意到这一点。这只是一个复制和派斯特错误。天哪!!你刚刚救了我,我从很多天前就开始处理这个问题,在谷歌或任何地方都找不到解决方案。我知道这个答案很古老,但我的案例就是为什么stackoverflow必须永远存在的一个例子!。非常感谢,很抱歉我的英语不好。
a class="navbar-brand" href="<?php echo home_url(); ?>">
<a class="navbar-brand" href="<?php echo home_url(); ?>">
<a class="navbar-brand" href="<?php echo home_url(); ?>">

  <?php if(get_theme_mod('wpalpha_desktop_logo') != ''): ?>
    <?php $wpalpha_desktop_logo = esc_url(get_theme_mod('wpalpha_desktop_logo')); ?>
    <img class="desktop dlp_logo" src="<?php echo $wpalpha_desktop_logo; ?>">
  <?php endif; ?>

  <?php if(get_theme_mod('wpalpha_mobile_logo') != ''): ?>
    <?php $wpalpha_mobile_logo = esc_url(get_theme_mod('wpalpha_mobile_logo')); ?>
    <img class="mobile dlp_logo" src="<?php echo $wpalpha_mobile_logo; ?>">
  <?php endif; ?>

</a>