0

チェックボックス グループを含むメタボックスを作成しており、チェックボックスにカスタム投稿タイプを入力したいと考えています。

この記事のコードを使用しています: Reusable Custom Meta Boxes Part 2

チェックボックスグループの場合、値がハードコードされています:

    array (  
    'label' => 'Sponsors',  
    'desc'  => 'Sponsors for this exercise.',  
    'id'    => $prefix.'sponsors',  
    'type'  => 'checkbox_group',  
    'options' => array (  
        'one' => array (  
            'label' => 'Option One',  
            'value' => 'one'  
        ),  
        'two' => array (  
            'label' => 'Option Two',  
            'value' => 'two'  
        ),  
        'three' => array (  
            'label' => 'Option Three',  
            'value' => 'three'  
        ),  
        'four' => array (  
            'label' => 'Option Four',  
            'value' => 'four'  
        )  
    )  
)     

そして、このコードはデータを保存します:

case 'checkbox_group':  
foreach ($field['options'] as $option) {  
    echo '<input type="checkbox" value="'.$option['value'].'" name="'.$field['id'].'[]" id="'.$option['value'].'"',$meta && in_array($option['value'], $meta) ? ' checked="checked"' : '',' /> 
            <label for="'.$option['value'].'">'.$option['label'].'</label><br />';  
}  

壊す;

カスタム投稿タイプを使用してチェックボックスをロードしたい:

function get_sponsors()
{
    $args = array(
    'numberposts' = -1,
    'post_type' = 'px_sponsor',
    'orderby' = 'post_title',
    'order' = 'ASC'
    );

    $my_sponsors = get_posts( $args );

    return $my_sponsors;
}

ハードコーディングされたものではなく、カスタム投稿タイプの値を表示するように変更するにはどうすればよいですか?

4

1 に答える 1

0

解決しました!

関数 get_sponsors() を変更して、投稿を含む配列を返します。

function get_sponsors()
{
    $args = array(
    'numberposts' => -1,
    'post_type' => 'movies'
    );

    $my_movies = get_posts($args);

    $options = array();
    foreach($my_movies as $m)
        $options[$m->ID] = array(
            'label' => $m->post_title,
            'value' => $m->ID
        );

    return $options;
}

この投稿で返信した Mridul Aggarwal への解決策のクレジット

于 2012-11-22T16:28:48.560 に答える