Creación de campos de edición en WordPress sin plugins

  • Autor Autor adruiz
  • Fecha de inicio Fecha de inicio

adruiz

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Muy buenas, betas.

Os comento, tengo que migrar una landing page estática a WordPress y me interesa hacer editable todo el contenido de la página, esto va desde grids con textos hasta quotes, slides, etc.

Los widgets los manejo sin mucho problema, pero he visto que en themes como el ASAP y GeneratePress tienen campos de edición cuando te vas a personalizar el theme, por ejemplo, cosas así:


Aquí desconozco si esto se trata de otra funcionalidad más de WordPress, como los bloques personalizados, los metaboxs, los shortcodes, etc. Buscando por Google no encuentro nada claro (por no decir que casi todo lo que encuentro son "tutoriales con plugins", cosa que detesto).

Entonces, lanzo dos preguntas:
- ¿Cómo puedo crear estos campos de personalización para un theme propio? Sin plugins, evidentemente.
- Para una landing page, páginas de inicio o páginas estáticas, ¿cuál es la mejor opción para hacer editable todo su contenido?

Gracias, y os leo.
 
Esto lo puedes hacer con el customizer.php

Creas tu archivo y luego lo incluyes en el functions.

PHP:
/**
 * Customizer additions.
 */
require_once get_template_directory() . '/inc/customizer.php';

Dentro del customizer tienes que crear una seccion, un control y un campo.

Insertar CODE, HTML o PHP:
function cbd_cure_customizer( $wp_customize ){

    // Copyright Section

    $wp_customize->add_section(
        'sec_copyright', array(
            'title'            => __( 'Copyright Settings', 'cbd-cure' ),
            'description'    => __( 'Copyright Section', 'cbd-cure' )
        )
    );

            // Field 1 - Copyright Text Box
            $wp_customize->add_setting(
                'set_copyright', array(
                    'type'                    => 'theme_mod',
                    'default'                => '',
                    'sanitize_callback'        => 'sanitize_text_field'
                )
            );

            $wp_customize->add_control(
                'set_copyright', array(
                    'label'            => __( 'Copyright', 'cbd-cure' ),
                    'description'    => __( 'Please, add your copyright information here', 'cbd-cure' ),
                    'section'        => 'sec_copyright',
                    'type'            => 'text'
                )
            );
}
add_action( 'customize_register', 'cbd_cure_customizer' ); // Hook para cargar el customizer

Y luego donde quieras llamar el valor de dicho campo debes hacerlo con el get_theme_mod()

PHP:
<div class="copyright-text col-12">
    <p><?php echo esc_html( get_theme_mod( 'set_copyright', __( 'Copyright X - All Rights Reserved', 'cbd-cure' ) ) ); ?></p>
</div>