2015-06-21 14 views
0

我目前正在創建一個Wordpress主題,我遇到了一個障礙。我正在使用主題自定義頁面上傳主徽標和移動徽標。那些標誌應該在頁面上使用。我得到了它的工作二十分鐘,但他們停止工作。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=""> 

此圖顯示選項在自定義頁面上工作,但我的徽標不再顯示(左上角的小方塊應該是標誌):(顯然,我不夠好,因爲這個網站發佈了一張圖片,所以你會按照這個鏈接...)

http://i.stack.imgur.com/C38O6.jpg

請幫忙! 感謝

更新#1:

我看起來像當我改變在WordPress的後臺的網站的徽標我的數據庫不再被更新。我忘記更新選項了嗎?我認爲這是建立在這些功能。

更新#2:

<?php echo var_dump(get_theme_mod('wpalpha_desktop_logo')); ?> 

此的var_dump()返回 '字符串(82) 「http://localhost:8888/wp-content/themes/adenicboy-alpha/img/header/shield_text.png」' 所以我真的很困惑,爲什麼這是不工作...

回答

0

,我想出了一個解決方案!

我能夠通過調用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_theme_mod()上使用var_dump()。

0

開幕錨標記缺少「<」。這可能會導致顯示封閉內容的問題。嘗試改變這種

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

這個

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

感謝您的注意。這只是一個副本和paiste錯誤,但。 – adenix

相關問題