Je construis une page d'options de thèmes en utilisant les paramètres de l'API. Tout va bien, mais je veux maintenant créer une liste déroulante contenant des pages et je ne sais pas comment!
Par exemple, j'ai ce morceau de code qui montre la liste des pages, mais quand je sélectionne une page et clique sur enregistrer, la page sélectionnée ne sera pas sauvegardée!
function combo_select_page_callback() {
$options = get_option('journal_theme_blog_2_col');
echo "<select name='select_page'>
<option value=''>";
echo esc_attr( __( 'Select page' ) ); ?></option>
<?php
$pages = get_pages();
foreach ( $pages as $page ) {
$selected = '<option value="' . get_page_link( $page->ID ) . '">';
$selected .= $page->post_title;
$selected .= '</option>';
echo $selected;
}
echo '</select>';
}// end combo_select_page_callback
Merci pour l'aide, Nelson
J'ai trouvé la solution. J'ai utilisé la fonction wordpress wp_dropdown_pages
<?php function combo_select_page_callback() {
$options = get_option('function plugin');
wp_dropdown_pages(
array(
'name' => 'function plugin[ID used to identify the field throughout the theme]',
'echo' => 1,
'show_option_none' => __( '— Select —' ),
'option_none_value' => '0',
'selected' => $options['ID used to identify the field throughout the theme']
)
);
} ?>