Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo agregar un widget de pestañas jQuery en WordPress

¿Has visto un área de pestañas en sitios populares que te permite ver publicaciones populares, recientes y destacadas con un solo clic? Esto se llama el widget de pestañas jQuery, y te permite ahorrar espacio en la pantalla del usuario al combinar diferentes widgets en uno. En este artículo, te mostraremos cómo agregar un widget de pestañas jQuery en WordPress.

Un widget de pestañas con tecnología jQuery en WordPress

¿Por qué deberías agregar un widget de pestañas jQuery?

Al administrar un sitio web de WordPress, puedes agregar fácilmente elementos a tus barras laterales usando widgets de arrastrar y soltar. A medida que tu sitio crece, es posible que sientas que no tienes suficiente espacio en la barra lateral para mostrar todo el contenido útil. Ahí es exactamente cuando un widget de pestañas resulta útil. Te permite mostrar diferentes elementos en la misma área. Los usuarios pueden hacer clic en cada pestaña y ver el contenido que más les interesa. Muchos sitios de renombre lo usan para mostrar artículos populares del día, de la semana y del mes. En este tutorial te mostraremos cómo crear un widget de pestañas. Sin embargo, no te mostraremos qué agregar en tus pestañas. Puedes agregar básicamente lo que quieras.

Nota: este tutorial es para usuarios de nivel intermedio y requerirá conocimientos de HTML y CSS. Para usuarios de nivel principiante, consulta este artículo en su lugar.

Creación de un widget de pestañas jQuery en WordPress

Empecemos. Lo primero que debes hacer es crear una carpeta en tu escritorio y nombrarla wpbeginner-tabber-widget. Después de eso, necesitas crear tres archivos dentro de esta carpeta usando un editor de texto plano como el Bloc de notas.

El primer archivo que vamos a crear es wpb-tabber-widget.php. Contendrá código HTML y PHP para crear pestañas y un widget personalizado de WordPress. El segundo archivo que crearemos es wpb-tabber-style.css, y contendrá el estilo CSS para el contenedor de pestañas. El tercer y último archivo que crearemos es wpb-tabber.js, que contendrá el script de jQuery para cambiar de pestaña y agregar animación.

Empecemos con el archivo wpb-tabber-widget.php. El propósito de este archivo es crear un plugin que registre un widget. Si es la primera vez que creas un widget de WordPress, te recomendamos que eches un vistazo a nuestra guía sobre cómo crear un widget personalizado de WordPress o simplemente copies y pegues este código en el archivo wpb-tabber-widget.php:

<?php
/* Plugin Name: WPBeginner jQuery Tabber Widget
Plugin URI: https://www.wpbeginner.com
Description: A simple jquery tabber widget.
Version: 1.0
Author: WPBeginner
Author URI: https://www.wpbeginner.com
License: GPL2
*/

// creating a widget
class WPBTabberWidget extends WP_Widget {

function WPBTabberWidget() {
		$widget_ops = array(
		'classname' => 'WPBTabberWidget',
		'description' => 'Simple jQuery Tabber Widget'
);
$this->WP_Widget(
		'WPBTabberWidget',
		'WPBeginner Tabber Widget',
		$widget_ops
);
}
function widget($args, $instance) { // widget sidebar output

function wpb_tabber() { 

// Now we enqueue our stylesheet and jQuery script

wp_register_style('wpb-tabber-style', plugins_url('wpb-tabber-style.css', __FILE__));
wp_register_script('wpb-tabber-widget-js', plugins_url('wpb-tabber.js', __FILE__), array('jquery'));
wp_enqueue_style('wpb-tabber-style');
wp_enqueue_script('wpb-tabber-widget-js');

// Creating tabs you will be adding you own code inside each tab
?>

<ul class="tabs">
<li class="active"><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
<li><a href="#tab3">Tab 3</a></li>
</ul>

<div class="tab_container">

<div id="tab1" class="tab_content">
<?php 
// Enter code for tab 1 here. 
?>
</div>

<div id="tab2" class="tab_content" style="display:none;">
<?php 
// Enter code for tab 2 here. 
?>
</div>

<div id="tab3" class="tab_content" style="display:none;">
<?php 
// Enter code for tab 3 here. 
?>
</div>

</div>

<div class="tab-clear"></div>

<?php

}

extract($args, EXTR_SKIP);
// pre-widget code from theme
echo $before_widget; 
$tabs = wpb_tabber(); 
// output tabs HTML
echo $tabs; 
// post-widget code from theme
echo $after_widget; 
}
}

// registering and loading widget
add_action(
'widgets_init',
create_function('','return register_widget("WPBTabberWidget");')
);
?>

En el código anterior, primero creamos un plugin y luego, dentro de ese plugin, creamos un widget. En la sección de salida del widget, agregamos scripts y hojas de estilo y luego generamos la salida HTML para nuestras pestañas. Finalmente, registramos el widget. Recuerda, necesitas agregar el contenido que deseas mostrar en cada pestaña.

Ahora que hemos creado el widget con el código PHP y HTML necesario para nuestras pestañas, el siguiente paso es agregar jQuery para mostrarlas como pestañas en el contenedor de pestañas. Para hacer eso, necesitas copiar y pegar este código en el archivo wp-tabber.js.

(function($)  {
$(".tab_content").hide();
$("ul.tabs li:first").addClass("active").show();
$(".tab_content:first").show();
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active");
$(this).addClass("active");
$(".tab_content").hide();
var activeTab = $(this).find("a").attr("href");
//$(activeTab).fadeIn();
if ($.browser.msie) {$(activeTab).show();}
else {$(activeTab).fadeIn();}
return false;
});
})(jQuery);

Ahora nuestro widget está listo con jQuery, el último paso es agregar estilo a las pestañas. Hemos creado una hoja de estilo de ejemplo que puedes copiar y pegar en el archivo wpb-tabber-style.css:

ul.tabs { 
position: relative; 
z-index: 1000; 
float: left; 
border-left: 1px solid #C3D4EA; 
}
ul.tabs li {
position: relative; 
overflow: hidden; 
height: 26px; 
float: left; 
margin: 0; 
padding: 0; 
line-height: 26px; 
background-color: #99B2B7;
border: 1px solid #C3D4EA; 
border-left: none; 
}
ul.tabs li  a{ 
display: block; 
padding: 0 10px; 
outline: none; 
text-decoration: none;
}
html ul.tabs li.active, 
html ul.tabs li.active a:hover { 
background-color: #D5DED9; 
border-bottom: 1px solid #D5DED9; 
}
.widget-area .widget .tabs a  { 
color: #FFFFFF; 
}
.tab_container {
position: relative; 
top: -1px; 
z-index: 999; 
width: 100%; 
float: left; 
font-size: 11px; 
background-color: #D5DED9; 
border: 1px solid #C3D4EA;
}
.tab_content { 
padding: 7px 11px 11px 11px;
line-height: 1.5;
}
.tab_content ul { 
margin: 0;
padding: 0; 
list-style: none; 
}
.tab_content li { 
margin: 3px 0;
 }
.tab-clear {
clear:both;
}

Eso es todo. Ahora solo sube la carpeta wpbeginner-tabber-widget al directorio /wp-content/plugins/ de tu sitio de WordPress a través de FTP. Alternativamente, también puedes agregar la carpeta a un archivo zip e ir a Plugins » Agregar nuevo en tu área de administración de WordPress. Haz clic en la pestaña de carga para instalar el plugin. Una vez que el plugin esté activado, ve a Apariencia » Widgets, arrastra y suelta WPBeginner Tabber Widget en tu barra lateral y eso es todo.

Arrastra y suelta el widget de pestañas de WPBeginner en tu barra lateral

Esperamos que este tutorial te haya ayudado a crear un tabulador jQuery para tu sitio de WordPress. Para preguntas y comentarios, puedes dejar un comentario abajo o unirte a nosotros en Twitter o Google+.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

25 CommentsLeave a Reply

  1. Hola,
    Mi plugin está activado pero en la sección de widgets muestra el mensaje “No hay opciones para este widget”. Por favor, dime cómo activar todas las funciones y quiero crear un plugin como
    “jQuery(document).ready(function() {
    var wrapper = jQuery(“.input_fields_wrap”); // Campos contenedor
    var add_button = jQuery(“.add_field_button”); // Botón de agregar ID

    // Contador inicial de cuadros de texto
    jQuery(add_button).click(function(e){ // Al hacer clic en el botón de agregar entrada
    e.preventDefault();
    // Máximo cuadro de texto permitido
    // Incremento de cuadro de texto
    jQuery(wrapper).prepend(‘×’); // Agregar cuadro de entrada

    jQuery(‘.input_fields_wrap’).sortable();
    jQuery(‘.input_fields_wrap’).disableSelection();

    });

    jQuery(wrapper).on(“click”,”.remove_field”, function(e){ // El usuario hace clic en eliminar texto
    e.preventDefault(); jQuery(this).parent(‘div’).remove();

    });

    });”

    mi código de javascript. Por favor, sugiera si tiene alguna solución.
    Gracias

  2. He insertado los plugins en la barra lateral, pero cuando intento hacer clic, dice que no hay opción para este plugin. Y después de que lo navegamos en el sitio web, vemos tres cuadros de texto en blanco. Guíame un poco, hermano.

  3. Quiero colocar el plugin recién creado en un lugar de mi página, y no en las barras laterales o el pie de página.
    ¿Cómo hago eso, para colocarlo en cualquier parte de mi página web?

  4. Este es el segundo tutorial que intento y por alguna razón el archivo del plugin no aparece en el directorio de plugins de mi sitio. Subo el archivo directamente usando FTP, pero cuando inicio sesión en mi área de administración de WordPress, no aparece nada en la pestaña de plugins. Por favor, asesórame. Gracias.

    Actualización: Comprimí el archivo y lo subí a través de la interfaz del plugin de WordPress. El archivo no aparece en la carpeta de mi plugin en mi interfaz FTP, así que no tengo ni idea de dónde aparece. ¡Pero logré instalarlo, así que gracias!

  5. Gracias por el tutorial. Sin embargo, noté que falta el título cuando agrego el widget al área de widgets. ¿Cómo puedo agregar el espacio para el título para ingresar un título?

  6. Hola

    Gracias por esto. Me preguntaba cómo agregar una opción para que, cuando esté viendo el widget, pueda simplemente pegar enlaces en él, en cada pestaña.

    Por ejemplo:
    Pestaña 1 (opción para renombrarla en las opciones del widget)
    – Cuadro de texto debajo en las opciones del widget (para poder agregar texto, enlaces, etc.)

    Pestaña 2 (opción para renombrarla en las opciones del widget)
    – Cuadro de texto debajo en las opciones del widget (para poder agregar texto, enlaces, etc.)

    Pestaña 3 (opción para renombrarla en las opciones del widget)
    – Cuadro de texto debajo en las opciones del widget (para poder agregar texto, enlaces, etc.)

    Gracias

  7. Me sigue dando este error:

    No se pudo activar el plugin porque provocó un error fatal.

    Parse error: syntax error, unexpected T_NS_SEPARATOR, expecting T_STRING in /home/content/11/10826211/html/wp-content/plugins/wpbeginner-tabber-widget/wpb-tabber-widget.php on line 16

  8. ¿Por qué al instalar este plugin dice que necesita ser actualizado, y la actualización es de otro desarrollador y tiene más de 3 años de antigüedad?

  9. ¿Esto no va en contra del propósito de que WordPress sea dinámico? ¿Codificar texto directamente en un widget? ¿Hay alguna forma de extraer contenido dinámico de la base de datos? Nosotros los novatos no tenemos mucha experiencia en codificación, ¿saben? Uno pensaría que existe un plugin que haga esto...

    • Este tutorial está dirigido a usuarios de nivel intermedio y el objetivo aquí es mostrarles cómo crear un widget de pestañas. Para usuarios de nivel principiante, existen varias etiquetas de plantilla integradas que pueden generar contenido dinámicamente dentro de cada pestaña. Por ejemplo:

      Muestra una lista de tus páginas de WordPress:

      <ul>
      <?php wp_list_pages('title_li='); ?>
      </ul>
      

      Mostrar publicaciones aleatorias:

      <ul>
      <?php $posts = get_posts('orderby=rand&numberposts=5'); foreach($posts as $post) { ?>
      <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
      </li>
      <?php } ?>
      </ul>
      

      Mostrar comentarios recientes:

      <?php
      $args = array(
      	'status' => 'approve',
      	'number' => '5'
      );
      $comments = get_comments($args);
      foreach($comments as $comment) :
      	echo($comment->comment_author . '<br />' . $comment->comment_excerpt);
      endforeach;
      ?>
      

      Y muchos más.

      Administrador

  10. Instalé los archivos y activé el widget. Se muestra como se esperaba; sin embargo, hacer clic en las pestañas 2 y 3 no cambia el contenido. El contenido sigue siendo el contenido de la pestaña 1. ¿Me he perdido algo? Vea mi sitio de prueba en http://jimdavis.org/blog/

    Jim

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.