¿Quieres crear tus propios widgets personalizados en WordPress? Los widgets le permiten agregar elementos que no son de contenido en una barra lateral o en cualquier área lista para widgets de su sitio web.

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.

Agregar 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

Suscríbete a

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.

Widget de demostración

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.

Vista previa de su widget personalizado

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

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *