2014-10-08 2 views
0

저는 Wordpress 테마로 작업 중이며 카테고리 관리 패널에 메타 박스 (확인란)를 추가해야합니다. 패널에 메타 상자를 추가하는 코드를 작성했지만 두 가지 문제가 있습니다. 1- 먼저 "카테고리 추가 버튼"아래에 나타납니다. 2 - 데이터베이스에 확인란 값을 저장하려면 어떤 기능을 사용해야합니까? ?Wordpress에서 카테고리 관리 패널에 메타 박스 추가

와 "category_add_form_fields가"- 당신의 코드가 나를 위해 잘 작동 하나 typo- "category_add_form_fileds을"수정 후 미리

답변

0

에있는 체크 박스를

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 } 

감사를 추가하는 코드가있다. "Add New Category"/ "Update"버튼 위의 두 양식 모두에 체크 상자가 나타납니다. 이것은 완전한 버전이며 트릭 수행해야합니다

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입니다. 나는 당신이 하나의 분야에 대해 모든 것을 원하지 않는다면 이해하지만, 다른 분야는 그렇게 할 수 있습니다. :)

관련 문제