2014-10-08 43 views
0

我正在研究Wordpress主題,並且需要向類別管理面板添加一個元框(複選框)。 我已經寫了代碼添加元框到面板,但有兩個問題: 1-首先它出現在「添加類別」按鈕下面 2-我應該使用什麼函數來保存數據庫中的複選框值?在Wordpress中爲類別管理面板添加元框

,並有增加的複選框

add_action ('category_add_form_fileds', 'add_to_main_page'); 
add_action('category_edit_form', 'add_to_main_page'); 
function add_to_main_page() { 
?> 
<input type="checkbox" name="add_to_main" id="add_to_main" value="1"> 
<label for="add_to_main">This category on main page</label> 
<?php } 

在此先感謝

回答

0

固定一個typo-「category_add_form_fileds」到「category_add_form_fields」 - 您的代碼爲我工作的罰款後的代碼。我在「添加新類別」/「更新」按鈕上方的兩個窗體上都有一個複選框。這是一個完整的版本,應該做的伎倆:

add_action('category_add_form_fields', 'add_to_mainpg_fields'); 
add_action('category_edit_form', 'add_to_mainpg_fields'); 
function add_to_mainpg_fields() { 
?> 
    <input type="checkbox" name="add_to_main" id="add_to_main" value="1" /> 
    <label for="add_to_main">This category on main page</label> 
<?php 
} 

add_action('created_category', 'add_to_mainpg_save'); 
add_action('edited_category', 'add_to_mainpg_save'); 
function add_to_mainpg_save($term_id) { 
    if(!isset($_POST['add_to_main'])) 
     return; 

    $stickies = get_option('main_page_cats'); 

    if(!is_array($stickies)) 
     $stickies = array($term_id); 

    if(!in_array($term_id, $stickies)) 
     $stickies[] = $term_id; 

    update_option('main_page_cats', $stickies); 
} 

這是用於置頂文章的stick_post功能的修改版本。

This tutorial對保存多個選項有指導意義。兩個強大的解決方案是this pluginthis library。我明白,如果你不希望所有的單一領域,但其他人可能。 :)

相關問題