Botón Agregar al personalizador

2

Estoy intentando agregar un botón en el personalizador del tema pero no puedo hacerlo funcionar. Hasta ahora he creado un panel, luego muestra un botón parcial, pero lo ideal sería tener un botón azul normal de estilo de WordPress en la parte inferior debajo del último panel "CSS adicional". Cualquier ayuda es apreciada.

function prefix_customizer_register( $wp_customize ) {

    $wp_customize->add_panel( 'panel_id', array(
        'priority' => 300,
        'capability' => 'edit_theme_options',
        'theme_supports' => '',
        'title' => __( 'Next Step', 'textdomain' ),
        'description' => __( 'This is the next step.', 'textdomain' ),
    ) );

    $wp_customize->add_section( 'section_id', array(
        'priority' => 10,
        'capability' => 'edit_theme_options',
        'theme_supports' => '',
        'title' => __( 'Edit Pages', 'textdomain' ),
        'description' => '',
        'panel' => 'panel_id',
    ) );

    $wp_customize->add_setting( 'url_field_id', array(
        'default' => '',
        'type' => 'theme_mod',
        'capability' => 'edit_theme_options',
        'transport' => '',
        'sanitize_callback' => 'esc_url',
    ) );

    $wp_customize->add_control( 'button_id', array(
        'type' => 'button',
        'priority' => 10,
        'section' => 'section_id',
        'label' => __( 'Edit Pages', 'textdomain' ),
        'description' => '',
    ) );

}
add_action( 'customize_register', 'prefix_customizer_register' );
    
pregunta Jamie 10.10.2017 - 21:39

1 respuesta

7

Hay tres cosas que debes hacer en particular.

  1. Como no hay configuraciones asociadas con el control, debe proporcionar explícitamente una matriz vacía para settings , ya que de lo contrario intentará buscar una ID de configuración que coincida con la ID de control (aquí button_id ); como esa configuración nunca se crea, el control nunca termina de inicializarse. Lea más sobre controles sin ajustes .
  2. Dado que el control emitirá un elemento input con type=button , debe proporcionar la etiqueta del botón a través del atributo value de ese elemento. Puede hacerlo pasándolo a través del atributo input_attrs .
  3. De forma similar, si desea proporcionar un class de button button-primary personalizado, puede hacerlo pasándolo aquí también.

En resumen, esto es lo que estarías viendo:

$wp_customize->add_control( 'button_id', array(
    'type' => 'button',
    'settings' => array(), //                                     
respondido por el Weston Ruter 11.10.2017 - 06:35

Lea otras preguntas en las etiquetas