2016-07-19 4 views
0

고객이 URL에 입력 할 수있는 사용자 정의 필드를 추가하도록 요청하고 있습니다. 나는 사용자 정의 메타 필드도 나타나지 표시되지 않습니다WordPress Plugin에 사용자 정의 필드를 추가하는 방법

register_post_type('storylist', 
    array(
     'labels' => $labels, 
     'public' => false, 
     'exclude_from_search' => true, 
     'publicly_queryable' => false, 
     'show_ui' => true, 
     'supports' => array('title'), 
    ) 
); 
    add_filter('rwmb_meta_boxes', 'c_register_meta_boxes'); 

} 

function c_register_meta_boxes($boxes){ 
    $prefix = 'c_rwmb_'; 
    $boxes[] = array(
    'id' => 'view', 
    'title' => __('View Link', 'c_rwmb'), 
    'post_types' => array('storylist'), 
    'context' => 'normal', 
    'priority' => 'high', 
    'fields' => array(
     array(
      'name' => __('View URL', 'c_rwmb'), 
      'id' => $prefix . 'view_url', 
      'type' => 'text', 
      'size' => 60, 
      'clone' => false 
     ), 
    ) 

); 

    return $meta_boxes; 
} 

내가 게시물에 갈 때 이제 문제는 다음과 같습니다 게시물 자체는 이것이 내가이 부분에 대해 가지고있는 코드, 사용자 정의 플러그인 사용자 정의 포스트 유형 내가 놓친 뭔가있어?

+0

어리석은 질문이지만 확실하게 - [Meta Box Plugin] (https://wordpress.org/plugins/meta-box/)이 설치되어 있습니까? 나는'rwmb_meta_boxes'가 그것에 특유하다는 것을 확신합니다. – Hobo

+2

코드를 보면'$ meta_boxes'가 아닌'$ boxes'를 반환해야합니다. – Hobo

+0

@Hobo 당신이 바보 같아요. 감사. – MikeL5799

답변

0

사용자 정의 게시 유형 ("storylist")은 플러그인에서 제공됩니까? 그런 다음 사용자 정의 게시물을 다시 등록 할 필요가 없습니다. 이 게시물 유형에 대한 메타 필드를 추가하고 게시물을 업데이트하는 동안 값을 저장하면됩니다. 일단 사용자 정의 필드를 사용하여 사이드 바를 활성화/비활성화하는 경험이있었습니다. 내 코드를 공유했습니다. 희망이 당신을 도울 것입니다.

<?php 
add_action('admin_init','add_metabox_post_sidebar'); 
add_action('save_post','save_metabox_post_sidebar'); 
/* 
* Funtion to add a meta box to enable/disable the posts. 
*/ 
function add_metabox_post_sidebar() 
{ 
    add_meta_box("Enable Sidebar", "Enable Sidebar", "enable_sidebar_posts", "post", "side", "high"); 
} 

function enable_sidebar_posts(){ 
    global $post; 
    $check=get_post_custom($post->ID); 
    $checked_value = isset($check['post_sidebar']) ? esc_attr($check['post_sidebar'][0]) : 'no'; 
    ?> 

    <label for="post_sidebar">Enable Sidebar:</label> 
    <input type="checkbox" name="post_sidebar" id="post_sidebar" <?php if($checked_value=="yes"){echo "checked=checked"; } ?> > 
    <p><em>(Check to enable sidebar.)</em></p> 
    <?php 
} 

/* 
* Save the Enable/Disable sidebar meta box value 
*/ 
function save_metabox_post_sidebar($post_id) 
{ 
    // Bail if we're doing an auto save 
    if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; 

    // if our current user can't edit this post, bail 
    if(!current_user_can('edit_post')) return; 

    $checked_value = isset($_POST['post_sidebar']) ? 'yes' : 'no'; 
    update_post_meta($post_id, 'post_sidebar', $checked_value); 


} 

?> 

가 여기에 포스트 유형 "게시물"에 대한 'post_sidebar'라는 사용자 정의 필드를 추가 한 당신은 당신의 자신의 변경과 "후" "storylist"에서이 줄 add_meta_box("Enable Sidebar", "Enable Sidebar", "enable_sidebar_posts", "post", "side", "high");에 귀하의 게시물 유형을 변경할 수 있습니다.

+0

고맙습니다 @ 팔라 니벨라얀. 이게 도움이 될 것 같아, 난 그냥 텍스트 필드가 아닌 확인란으로 그것을 수정해야합니다. – MikeL5799

관련 문제