2017-11-09 1 views
0

관리자 패널 사용자 정의 필드는 다음과 같은 편집 범주에 표시됩니까? Edit Category Screenshot 하지만 관리 패널 사용자 정의 필드에 새 카테고리 추가에 표시되지 않습니다. Add New Category Screenshot내 맞춤 게시물이 범주 편집에 표시되지만 새 범주 추가에 표시되지 않습니다 아래 코드

function extra_edit_tax_fields($tag) { 
$t_id = $tag->term_id; 
$term_meta = get_option("taxonomy_$t_id"); 
?> 
<tr class="form-field"> 
    <th scope="row" valign="top"><label for="cat_Image_url"><?php _e('Icon Field'); ?></label></th> 
    <td> 

     <select style="font-family: 'FontAwesome', Arial;" name="term_meta[img]" id="term_meta[img]" > 

      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-user-circle') { ?> selected <?php } ?> value="fa-user-circle">&#xf2bd;</option> 
      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-desktop') { ?> selected <?php } ?> value="fa-desktop">&#xf108;</option> 

      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-indent') { ?> selected <?php } ?> value="fa-indent">&#xf03c;</option> 
      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-wifi') { ?> selected <?php } ?> value="fa-wifi">&#xf1eb;</option> 

      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-search') { ?> selected <?php } ?> value="fa-search">&#xf002;</option> 
      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-ban') { ?> selected <?php } ?> value="fa-ban">&#xf05e;</option> 

      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-chevron-circle-right') { ?> selected <?php } ?> value="fa-chevron-circle-right">&#xf138;</option> 
      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-cloud-download') { ?> selected <?php } ?> value="fa-cloud-download">&#xf0ed;</option> 

      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-cog') { ?> selected <?php } ?> value="fa-cog">&#xf013;</option> 
      <option style="font-family: 'FontAwesome', Arial;" <?php if (esc_attr($term_meta['img']) == 'fa-gg-circle') { ?> selected <?php } ?> value="fa-gg-circle">&#xf261;</option> 

     </select> 

     <p class="description"><?php _e('Select the icon '); ?></p> 
    </td> 
</tr> 
<?php 
} 
add_action('category_edit_form_fields', 'extra_edit_tax_fields', 10, 2); 


function extra_add_tax_fields($tag) { 
$t_id = $tag->term_id; 
$term_meta = get_option("taxonomy_$t_id"); 
} 
add_action('category_add_form_fields', 'extra_add_tax_fields', 10, 2); 
function save_extra_taxonomy_fields($term_id) { 
if (isset($_POST['term_meta'])) { 
$t_id = $term_id; 
$term_meta = get_option("taxonomy_$t_id"); 
$cat_keys = array_keys($_POST['term_meta']); 
foreach ($cat_keys as $key) { 
if(isset($_POST['term_meta'][$key])) { 
$term_meta[$key] = $_POST['term_meta'][$key]; 
}} 
update_option("taxonomy_$t_id", $term_meta); 
}} 
add_action('edited_category', 'save_extra_taxonomy_fields', 10, 2); 

ADD_ACTION ('create_category', 'save_extra_taxonomy_fields', 10, 2);

답변

0

메타 볼을 새로운 카테고리 양식에도 표시하려면 편집 작업과 함께 category_add_form_fields 액션에 연결해야합니다. 아래의 두 번째 줄을 추가하기 위해 코드를 업데이트하면 테스트 설치에 상자가 나타납니다.

add_action('category_edit_form_fields', 'extra_edit_tax_fields', 10, 2); 
add_action('category_add_form_fields', 'extra_edit_tax_fields', 10, 2); 

https://developer.wordpress.org/reference/hooks/taxonomy_add_form_fields/

+0

감사 윌리 패튼 그러나 나는 또한 ADD_ACTION를 추가하고 ('category_edit_form_fields', 'extra_edit_tax_fields', 10, 2); 함수의 상단에 extra_add_tax_fields ($ tag) {그리고 이것도 함수 밑에서 시도해도 아무 일도 일어나지 않는다. –

+0

위의 코드를 추가하면 새 설치 양식에 새 범주 양식에 상자가 나타납니다. 나는 그것이 그 질문이 무엇인지에 관한 것이라고 생각했다. 코드를 사용할 때 생성 된 추가 오류가 있습니다. 비 객체의 속성에 액세스하는 것과 관련된 것입니다. 어쩌면 다시 돌아가서 원하는 양식 항목 외에 추가로 잘못된 코드가 출력되는 것을 막기 위해 온 전성 검사를해야 할 수도 있습니다. –

+1

감사합니다. 윌리엄 패튼 내 코드가 작동 중입니다. 감사합니다. 윌리엄 패튼 경님, 당신은 최고입니다. –