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 回答