Puede usar widgets para agregar pancartas, anuncios, formularios de suscripción a boletines y otros elementos a su sitio web.
En este artículo, le mostraremos cómo crear un widget de WordPress personalizado, paso a paso.
Nota: Este tutorial es para usuarios de WordPress que están aprendiendo a programar y desarrollar WordPress.
¿Qué es un widget de WordPress?
Los widgets de WordPress contienen fragmentos de código que puede agregar a las barras laterales o áreas listas para widgets de su sitio web.
Piense en ellos como módulos que puede usar para agregar diferentes elementos usando una interfaz simple de arrastrar y soltar.
De forma predeterminada, WordPress viene con un conjunto estándar de widgets que puede usar con cualquier tema de WordPress. Consulte nuestra guía para principiantes sobre cómo agregar y usar widgets en WordPress.
WordPress también permite a los desarrolladores crear sus propios widgets personalizados.
Muchos temas premium de WordPress y plugins vienen con sus propios widgets personalizados que puede agregar a sus barras laterales.
Por ejemplo, puede agregar un formulario de contacto, un formulario de inicio de sesión personalizado o una galería de fotos a una barra lateral sin escribir ningún código.
Dicho esto, veamos cómo crear fácilmente sus propios widgets personalizados en WordPress.
Tutorial en video
Si prefiere instrucciones escritas, continúe leyendo.
Creando un widget personalizado en WordPress
Si está aprendiendo a programar en WordPress, necesitará un entorno de desarrollo local. Puede instalar WordPress en su computadora (Mac o Windows).
Hay varias formas de agregar su código de widget personalizado en WordPress.
Idealmente, puede crear un sitio específico plugin y pegue el código de su widget allí.
También puede pegar el código en el archivo functions.php de su tema. Sin embargo, solo estará disponible cuando ese tema en particular esté activo.
Otra herramienta que puede utilizar es la Fragmentos de código plugin que le permite agregar fácilmente código personalizado a su sitio web de WordPress.
En este tutorial, crearemos un widget simple que solo saluda a los visitantes. El objetivo aquí es familiarizarse con la clase de widgets de WordPress.
Empecemos.
Creación de un widget básico de WordPress
WordPress viene con una clase de widget de WordPress incorporada. Cada nuevo widget de WordPress amplía la clase de widget de WordPress.
Hay 18 métodos mencionados en el manual del desarrollador de WordPress que se pueden usar con el Clase de widget WP.
Sin embargo, por el bien de este tutorial, nos centraremos en los siguientes métodos.
- __construct (): esta es la parte donde creamos el ID, el título y la descripción del widget.
- widget: aquí es donde definimos la salida generada por el widget.
- formulario: esta parte del código es donde creamos el formulario con opciones de widget para backend.
- actualización: esta es la parte donde guardamos las opciones del widget en la base de datos.
Estudiemos el siguiente código donde hemos utilizado estos cuatro métodos dentro de la clase WP_Widget.
// Creating the widget class wpb_widget extends WP_Widget { // The construct part function __construct() { } // Creating widget front-end public function widget( $args, $instance ) { } // Creating widget Backend public function form( $instance ) { } // Updating widget replacing old instances with new public function update( $new_instance, $old_instance ) { } // Class wpb_widget ends here }
La parte final del código es donde realmente registraremos el widget y lo cargaremos dentro de WordPress.
function wpb_load_widget() { register_widget( 'wpb_widget' ); } add_action( 'widgets_init', 'wpb_load_widget' );
Ahora juntemos todo esto para crear un widget básico de WordPress.
Puede copiar y pegar el siguiente código en su archivo personalizado. plugin o el archivo functions.php del tema.
// Creating the widget class wpb_widget extends WP_Widget { function __construct() { parent::__construct( // Base ID of your widget 'wpb_widget', // Widget name will appear in UI __(' Widget', 'wpb_widget_domain'), // Widget description array( 'description' => __( 'Sample widget based on Tutorial', 'wpb_widget_domain' ), ) ); } // Creating widget front-end public function widget( $args, $instance ) { $title = apply_filters( 'widget_title', $instance['title'] ); // before and after widget arguments are defined by themes echo $args['before_widget']; if ( ! empty( $title ) ) echo $args['before_title'] . $title . $args['after_title']; // This is where you run the code and display the output echo __( 'Hello, World!', 'wpb_widget_domain' ); echo $args['after_widget']; } // Widget Backend public function form( $instance ) { if ( isset( $instance[ 'title' ] ) ) { $title = $instance[ 'title' ]; } else { $title = __( 'New title', 'wpb_widget_domain' ); } // Widget admin form ?> <p> <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /> </p> <?php } // Updating widget replacing old instances with new public function update( $new_instance, $old_instance ) { $instance = array(); $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : ''; return $instance; } // Class wpb_widget ends here } // Register and load the widget function wpb_load_widget() { register_widget( 'wpb_widget' ); } add_action( 'widgets_init', 'wpb_load_widget' );
Después de agregar el código, debe dirigirse a Apariencia »Widgets página. Notará el nuevo widget en la lista de widgets disponibles. Debe arrastrar y soltar este widget en una barra lateral.
Este widget tiene solo un campo de formulario para completar, puede agregar su texto y hacer clic en el botón Guardar para almacenar sus cambios.
Ahora puede visitar su sitio web para verlo en acción.
Ahora estudiemos el código nuevamente.
Primero registramos el ‘wpb_widget’ y cargamos nuestro widget personalizado. Después de eso, definimos qué hace ese widget y cómo mostrar el back-end del widget.
Por último, definimos cómo manejar los cambios realizados en el widget.
Ahora, hay algunas cosas que quizás quieras preguntar. Por ejemplo, cual es el proposito wpb_text_domain
?
WordPress usa gettext para manejar la traducción y la localización. Esto wpb_text_domain
y __e
le dice a gettext que haga que una cadena esté disponible para traducción. Vea cómo puede encontrar temas de WordPress listos para traducir.
Si está creando un widget personalizado para su tema, puede reemplazar wpb_text_domain
con el dominio de texto de su tema.
Esperamos que este artículo le haya ayudado a aprender a crear fácilmente un widget de WordPress personalizado. Es posible que también desee ver nuestra lista de los widgets de WordPress más útiles para su sitio.
Si le gustó este artículo, suscríbase a nuestro Canal de Youtube . También puedes encontrarnos en Twitter y Facebook.
.
Fuente: wpbeginner