Selezione CMB con dati da CPT

Sto usando il framework CMB per la creazione di metabox ( https://github.com/jaredatch/Custom-Metaboxes-and-Fields-for-WordPress )

e voglio aggiungere una casella di selezione che prepopuli con titoli da un tipo di messaggio personalizzato. Una normale casella di selezione è simile a:

array( 'name' => 'Test Select', 'desc' => 'field description (optional)', 'id' => $prefix . 'test_select', 'type' => 'select', 'options' => array( array('name' => 'Option One', 'value' => 'standard'), array('name' => 'Option Two', 'value' => 'custom'), array('name' => 'Option Three', 'value' => 'none') ) ), 

Voglio fare qualcosa come:

 array( 'name' => 'Test Select', 'desc' => 'field description (optional)', 'id' => $prefix . 'test_select', 'type' => 'select', 'options' => array( query_posts( array( 'post_type' => 'myposttype' ) ) ), 

dove le opzioni di selezione vengono popolate dai titoli di un tipo di post personalizzato .. ma non funziona come penso io. Qualche idea?

Solutions Collecting From Web of "Selezione CMB con dati da CPT"

Utilizzare una funzione che restituisce una matrice di matrici che il campo delle options aspetta.

Qualcosa come questo (codice non testato):

 array( 'name' => 'Test Select', 'desc' => 'field description (optional)', 'id' => $prefix . 'test_select', 'type' => 'select', 'options' => get_myposttype_options('myposttype'), ), function get_myposttype_options($argument) { $get_post_args = array( 'post_type' => $argument, ); $options = array(); foreach ( get_posts( $get_post_args ) as $post ) { $title = get_the_title( $post->ID ); $options[] = array( 'name' => $title, 'value' => $title, ); } return $options; } 
 query_posts( array( 'post_type' => 'myposttype' ); while ( have_posts() ) : the_post(); $title_list[] = array('name' => the_title(), 'value' => the_title()); endwhile; wp_reset_query(); array( 'name' => 'Test Select', 'desc' => 'field description (optional)', 'id' => $prefix . 'test_select', 'type' => 'select', 'options' => $title_list )