Hola @tamarazambrana
El ‘dropdown-pages’ solo muestra el post type ‘page’, con lo que si quieres usar otro post type deberas extender o crear la class WP_Customize_Control con otro nombre y modificar el metodo ‘render_content’ para modificar los argumentos.
Busca y observa en el https://developer.wordpress.org/reference/ como funciona la clase WP_Customize_Control (sobre todo el metodo ‘render_content’), wp_dropdown_pages function, get_pages function y get_posts function.
Añadiendo por ejemplo en los argumentos de wp_dropdown_pages el post type ya lo cambiaria.
Gracias @kallookoo tu respuesta me ayudo mucho. Dejo mi código por si a alguien le ayuda.
function customizer_conf( $wp_customize ) {
class WP_Customize_Dropdown_Pages__Control extends WP_Customize_Control {
public $type = 'dropdown-post-type';
public function render_content() {
$input_id = '_customize-input-' . $this->id;
$description_id = '_customize-description-' . $this->id;
?>
<label for="<?php echo esc_attr( $input_id ); ?>" class="customize-control-title"><?php echo esc_html( $this->label ); ?></label>
<span id="<?php echo esc_attr( $description_id ); ?>" class="description customize-control-description"><?php echo $this->description; ?></span>
<?php
$dropdown_name = '_customize-dropdown-pages-' . $this->id;
$show_option_none = __( '— Select —' );
$dropdown = wp_dropdown_pages(
array(
'name' => $dropdown_name,
'echo' => 0,
'show_option_none' => $show_option_none,
'option_none_value' => 0,
'selected' => $this->value(),
'post_type' => 'posttype',
)
);
$dropdown = str_replace( '<select', '<select ' . $this->get_link() . ' id="' . esc_attr( $input_id ) . '" ', $dropdown );
echo $dropdown;
}
}
$wp_customize->add_setting( 'page-posttype' );
$wp_customize->add_control( new WP_Customize_Dropdown_Pages__Control( $wp_customize, 'page-posttype', array(
'label' => __( 'Home-posttype', 'nmf' ),
'section' => 'einstellungen',
'priority' => 20,
'settings' => 'page-posttype',
)));
}
add_action( 'customize_register', 'customizer_conf' );
Hola @tamarazambrana
En nombre de toda la comunidad te agradezemos que lo compartas y por mi parte; De nada, aqui estamos todos para ayudarnos siempre que se pueda.
Saludos
Olvidé poner que el valor de ‘hierarchical’ a la hora de definir el post type tiene que ser true.
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'capability_type' => 'post',
'hierarchical' => true,
'rewrite' => array('slug' => 'libro'),
'query_var' => true,
'exclude_from_search' => false,
'has_archive' => true,
'supports' => array( 'title', 'editor', 'revisions' ),
'menu_icon' => 'dashicons-admin-page',
'show_in_rest' => true,
-
Esta respuesta fue modificada hace 5 años, 7 meses por
LGrusin.