2013-02-28 74 views
-1

我有一個問題,我試圖解決,但沒有效果,因爲php真的不是我的領域。我已經搜索了論壇,並找到了一些類似問題的解決方案,但我無法工作。無論複選框是否被選中,圖像被刪除

我創建了一個主題選項頁面,您可以爲例如。上傳要在網站上使用的徽標。我創建了一個複選框,並希望在複選框被選中時刪除徽標。無論如何,當我點擊保存更改時,徽標會被刪除,但不管是否選中了複選框。

這是我的代碼:

// LOGO 
function logo_setting() { 
    $options = get_option('theme_options'); 
    if (empty($options['logo'])) : 
     $options['logo'] = ''; 
    else : 
     echo "<img src='{$options['logo']}' width='205px' /><br>"; 

     //DELETE OPTION 
     if (!isset($options['del_logo'])) : 
       $options['del_logo'] = ''; 
       echo "<br>Remove logo?&nbsp;"; 
       ?> <input type="checkbox" id="del_logo" name="theme_options[del_logo]" value="1" <?php checked(true, $options['del_logo']); ?> /><?php 

       echo "<br>If logo is removed, Site Title will be used."; 
      else : 
       $options = get_option('theme_options'); 
       $options['logo'] = ''; 
       update_option('theme_options', $options); 
       echo "Logo removed"; 
     endif; 
     $options['del_logo'] = ($options['del_logo'] == 1 ? 1 : 0); 
     return $options; 

    endif; 
    echo "<input type='file' name='logo' />"; 
} 

我希望有人能向我解釋什麼,我做錯了,我應該怎麼做正確。

+0

你在運行什麼掛鉤的功能? – Jrod 2013-02-28 14:32:54

+0

'add_action('admin_menu','my_theme_menu'); function my_theme_menu(){ \t add_menu_page('Theme Options','MY THEME Options','administrator',__FILE__,'my_theme_options'); '}' – user2119911 2013-02-28 15:03:05

+0

並且設置被註冊爲: 'add_action('admin_init','register_settings'); 函數register_settings(){ \t register_setting('theme_options','theme_options','validate_setting'); \t add_settings_section('main_section','主要設置','section_cb',__FILE__); \t \t add_settings_field('logo','Logo','logo_setting',__FILE__,'main_section'); }' – user2119911 2013-02-28 15:03:56

回答

1

的OP寫道:

SOLUTION:

function logo_setting() { 
    $options = get_option('theme_options'); 
    if (empty($options['logo'])) : 
    $options['logo'] = ''; 
    echo "Site title is used.<br>"; 
    else : 
    echo "<img src='{$options['logo']}' width='205px' /><br>"; 
    endif; 
    echo "<input type='file' name='logo' />"; 

    if (empty($options['hide_logo'])) : 
    $options['hide_logo'] = ''; 
    endif; 
    echo '<br><br>Show site title instead of logo?&nbsp;<input name="theme_options[hide_logo]" id="hide_logo" type="checkbox" value="1" ' . checked(1, $options['hide_logo'], false) . ' />'; 
} 

在HTML:

<?php if (empty($options['logo']) || isset($options['hide_logo'])) : 
    bloginfo('name'); 
else : ?> 
    <img src="<?php echo $options['logo']; ?>" alt="Logo" /> 
<?php endif; ?> 
+0

([在問題中回答編輯並轉換爲社區wiki](http://meta.stackoverflow.com/questions/267434/what-is-the-woole-action-when-the-answer-to -a-question-is-added-to-the-que)。) – 2015-07-03 18:41:13

+0

你很快就會獲得編輯金牌 – 2015-07-05 13:36:07