M
mtsa
Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
function customizer_init() {
$themePath = get_template_directory() ;
if (is_file($themePath.'/customizer.php')){
require_once $themePath.'/customizer.php';
}
}
customizer_init();
function customizer_interface($wp_customize){
$wp_customize->add_section('Seccion_Dir', array(
'title' => __('Direccion', 'BL'),
'description'=> 'Direccion del establecimiento',
'priority' => 10,
));
$wp_customize->add_setting('Calle', array(
'default' => __('', 'BL'),
'sanitize_callback' => 'sanitize_text_field',
'transport' => 'postMessage',
'type' => 'text',
));
$wp_customize->add_control('Control_Dir', array(
'label' => __('Calle:', 'BL'),
'section' => 'Seccion_Dir',
'settings' => 'Calle',
'priority' => 1,
));
}
add_action( 'customize_register', 'customizer_interface' );
<footer id="pie">
<p class="p1">Visítanos en:</p>
<p class="p2"><?php echo get_theme_mod( 'Calle'); ?></p>
</footer>
Cuando creas el control tienes que ponerle como primer parámetro el mismo nombre del setting, así: $wp_customize->add_control('Calle', array( ... ));
Me olvidé decir que si usas nombre de el setting como primer parámetro, el "setting" => 'Calle' del add_control no va. Toda esta confusión de debe a que hay dos formas de configurar un control en el customizer, siempre compara los tutos que encuentres con lo que diga el codex de wordpress por mas confuso que te parezca
$wp_customize->add_control(new WP_Customize_Control ($wp_customize,'Calle', array(
'label' => __('Calle:', 'BL'),
'section' => 'Seccion_Dir',
'priority' => 1,
)));
<?php
function customizer_interface($wp_customize){
$wp_customize->add_section('Seccion_Dir', array(
'title' => __('Direccion', 'BL'),
'description'=> 'Direccion del establecimiento',
'priority' => 10,
));
$wp_customize->add_setting('Calle', array(
'default' => __('', 'BL'),
'sanitize_callback' => 'my_sanitize_text_field',
));
$wp_customize->add_control('Calle', array(
'type' => 'text',
'label' => __('Calle:', 'BL'),
'section' => 'Seccion_Dir',
'priority' => 1,
));
}
add_action( 'customize_register', 'customizer_interface' );
// SANITIZE CALBACKS
function my_sanitize_text_field( $input ) {
return wp_kses_post( force_balance_tags( $input ) );
}
Si estas en functions.php y éste está en la raiz del tema no hay necesidad de usar dirname ( __FILE__ ).
Prueba con este código, fíjate que le he agregado una función para limpar el input, sin esa función no guarda.
Insertar CODE, HTML o PHP:<?php function customizer_interface($wp_customize){ $wp_customize->add_section('Seccion_Dir', array( 'title' => __('Direccion', 'BL'), 'description'=> 'Direccion del establecimiento', 'priority' => 10, )); $wp_customize->add_setting('Calle', array( 'default' => __('', 'BL'), 'sanitize_callback' => 'my_sanitize_text_field', )); $wp_customize->add_control('Calle', array( 'type' => 'text', 'label' => __('Calle:', 'BL'), 'section' => 'Seccion_Dir', 'priority' => 1, )); } add_action( 'customize_register', 'customizer_interface' ); // SANITIZE CALBACKS function my_sanitize_text_field( $input ) { return wp_kses_post( force_balance_tags( $input ) ); }
$wp_customize->add_section('Seccion_Dir', array(
'title' => __('Direccion', 'BL'),
'description'=> 'Direccion del establecimiento',
'priority' => 10,
));
$tipoVia = array('C/ ' => 'Calle', 'Tr. ' => 'Travesía', 'Avda. ' => 'Avenida', 'Ctra. ' => 'Carretera');
$wp_customize->add_setting('TipoVia', array(
'default' => __($tipoVia[0], 'BL'),
'sanitize_callback' => 'my_sanitize_text_field',
));
$wp_customize->add_control('TipoVia', array(
'type' => 'select',
'choices' => $tipoVia ,
'label' => __('Dirección:', 'BL'),
'section' => 'Seccion_Dir',
'priority' => 1,
));
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?