Como Adicionar Widget de Abas jQuery no WordPress

Você já viu uma área de abas em sites populares que permite ver posts populares, recentes e em destaque com apenas um clique? Isso é chamado de widget de abas jQuery, e permite economizar espaço na tela do usuário combinando diferentes widgets em um só. Neste artigo, mostraremos como adicionar um Widget de Abas jQuery no WordPress.

Um widget de abas com jQuery no WordPress

Por que você deve adicionar um Widget de Abas jQuery?

Ao gerenciar um site WordPress, você pode facilmente adicionar itens às suas barras laterais usando widgets de arrastar e soltar. À medida que seu site cresce, você pode sentir que não tem espaço suficiente na barra lateral para mostrar todo o conteúdo útil. É exatamente aí que um widget de abas se torna útil. Ele permite que você mostre diferentes itens na mesma área. Os usuários podem clicar em cada aba e ver o conteúdo em que estão mais interessados. Muitos sites de grande nome o utilizam para mostrar artigos populares do dia, da semana e do mês. Neste tutorial, mostraremos como criar um widget de abas. No entanto, não mostraremos o que adicionar em suas abas. Você pode adicionar basicamente o que quiser.

Observação: este tutorial é para usuários de nível intermediário e exigirá conhecimento de HTML e CSS. Para usuários de nível iniciante, consulte este artigo em vez disso.

Criando um Widget de Abas jQuery no WordPress

Vamos começar. A primeira coisa que você precisa fazer é criar uma pasta na sua área de trabalho e nomeá-la wpbeginner-tabber-widget. Depois disso, você precisa criar três arquivos dentro desta pasta usando um editor de texto simples como o Bloco de Notas.

O primeiro arquivo que vamos criar é wpb-tabber-widget.php. Ele conterá código HTML e PHP para criar abas e um widget personalizado do WordPress. O segundo arquivo que criaremos é wpb-tabber-style.css, e ele conterá o estilo CSS para o contêiner das abas. O terceiro e último arquivo que criaremos é wpb-tabber.js, que conterá o script jQuery para alternar abas e adicionar animação.

Vamos começar com o arquivo wpb-tabber-widget.php. O propósito deste arquivo é criar um plugin que registra um widget. Se esta é a sua primeira vez criando um widget do WordPress, recomendamos que você dê uma olhada em nosso guia de como criar um widget personalizado do WordPress ou simplesmente copie e cole este código no arquivo 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");')
);
?>

No código acima, primeiro criamos um plugin e depois, dentro desse plugin, criamos um widget. Na seção de saída do widget, adicionamos scripts e folhas de estilo e, em seguida, geramos a saída HTML para nossas abas. Por último, registramos o widget. Lembre-se, você precisa adicionar o conteúdo que deseja exibir em cada aba.

Agora que criamos o widget com o código PHP e HTML necessário para nossas abas, o próximo passo é adicionar o jQuery para exibi-las como abas no contêiner de abas. Para fazer isso, você precisa copiar e colar este código no arquivo 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);

Agora nosso widget está pronto com o jQuery, o último passo é adicionar o estilo às abas. Criamos uma folha de estilo de exemplo que você pode copiar e colar no arquivo 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;
}

É só isso. Agora, basta fazer o upload da pasta wpbeginner-tabber-widget para o diretório /wp-content/plugins/ do seu site WordPress via FTP. Alternativamente, você também pode adicionar a pasta a um arquivo zip e ir para Plugins » Adicionar Novo na sua área de administração do WordPress. Clique na aba de upload para instalar o plugin. Assim que o plugin for ativado, vá para Aparência » Widgets, arraste e solte o WPBeginner Tabber Widget na sua barra lateral e pronto.

Arraste e solte o Widget de Abas WPBeginner na sua Barra Lateral

Esperamos que este tutorial tenha ajudado você a criar um tabber jQuery para o seu site WordPress. Para perguntas e feedback, você pode deixar um comentário abaixo ou se juntar a nós no Twitter ou Google+.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

25 CommentsLeave a Reply

  1. Olá,
    Meu plugin está ativado, mas na seção de widgets aparece a mensagem “Não há opções para este widget”. Por favor, diga-me como ativar todas as funções e eu quero criar um plugin como
    “jQuery(document).ready(function() {
    var wrapper = jQuery(“.input_fields_wrap”); //Campos wrapper
    var add_button = jQuery(“.add_field_button”); //Botão de adicionar ID

    //contador inicial de caixas de texto
    jQuery(add_button).click(function(e){ //ao clicar no botão de adicionar input
    e.preventDefault();
    //caixa de texto máxima permitida
    //incremento da caixa de texto
    jQuery(wrapper).prepend(‘×’); //adicionar caixa de input

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

    });

    jQuery(wrapper).on(“click”,”.remove_field”, function(e){ //usuário clica para remover texto
    e.preventDefault(); jQuery(this).parent(‘div’).remove();

    });

    });”

    meu código de javascript. Por favor, sugira se você tiver alguma solução.
    Obrigado

  2. Eu inseri os plugins na barra lateral, mas quando tento clicar, diz que não há opção para este plugin. E depois de navegarmos no site, vemos três caixas de texto em branco. Me guie um pouco, irmão.

  3. Eu quero colocar o plugin recém-criado em um lugar na minha página, e não nas barras laterais ou no rodapé.
    Como faço isso, para colocá-lo em qualquer lugar da minha página web

  4. Este é o segundo tutorial que tento e, por algum motivo, o arquivo do plugin não aparece no diretório de plugins do meu site. Eu faço o upload do arquivo diretamente usando FTP, mas quando faço login na minha área de administração do WordPress, nada aparece na aba de plugins. Por favor, me aconselhe. Obrigado.

    Atualização: Eu compactei o arquivo e o carreguei através da interface do plugin do WordPress. O arquivo não aparece na pasta do meu plugin na minha interface FTP, então não tenho a menor ideia de onde ele aparece. Mas eu o instalei, então obrigado!

  5. Obrigado pelo tutorial. No entanto, notei que o título está faltando quando adiciono o widget à área de widgets. Como posso adicionar o espaço para o título para inserir um título?

  6. Olá

    Obrigado por isso. Eu estava apenas me perguntando, como adicionar uma opção, para que quando eu estiver visualizando o widget, eu possa simplesmente colar links nele, em cada aba?

    Por exemplo:
    Guia 1 (opção para renomeá-lo nas opções do widget)
    – Caixa de texto abaixo dele nas opções do widget (para que eu possa adicionar texto, links, etc.)

    Guia 2 (opção para renomeá-lo nas opções do widget)
    – Caixa de texto abaixo dele nas opções do widget (para que eu possa adicionar texto, links, etc.)

    Guia 3 (opção para renomeá-lo nas opções do widget)
    – Caixa de texto abaixo dele nas opções do widget (para que eu possa adicionar texto, links, etc.)

    Obrigado

  7. Continua me dando este erro:

    O plugin não pôde ser ativado porque acionou um erro fatal.

    Erro de análise: erro de sintaxe, T_NS_SEPARATOR inesperado, esperando T_STRING em /home/content/11/10826211/html/wp-content/plugins/wpbeginner-tabber-widget/wpb-tabber-widget.php na linha 16

  8. Valeu cara, você é um gênio. Eu estava prestes a comprar um plugin premium do CodeCanyon e então encontrei este guia.

  9. Por que quando eu instalo este plugin ele diz que precisa ser atualizado, e a atualização é de outro desenvolvedor & tem mais de 3 anos?

        • Este é o plugin que o WordPress pensa que é & e está tentando atualizá-lo para. http://wordpress.org/plugins/tabber-widget/

          Acabei de atualizar o plugin para a versão 2.0 & isso (por qualquer motivo) fez com que ele parasse de pedir para atualizá-lo para o outro plugin. Eu tentaria renomear & alterar as informações do outro plugin, mas essa foi a única coisa que pareceu funcionar.

        • The only reason we can think of is that you probably named the plugin file or folder to tabber-widget.php instead of wpb-tabber-widget.php which caused WordPress to confuse the plugin with this other one. The version trick is ok too until this other plugin releases 2.0+ :) so its bed to clear the confusion.

  10. Isso meio que derrota o propósito do WordPress ser dinâmico, não é? Codificar texto em um widget? Existe uma maneira de buscar conteúdo dinâmico do banco de dados? Nós, novatos, não temos muita experiência em codificação, sabe... Alguém pensaria que existe um plugin que faria isso...

    • Este tutorial é voltado para usuários de nível intermediário e o objetivo aqui é mostrar como criar um widget de abas. Para usuários de nível iniciante, existem várias tags de modelo integradas que podem gerar conteúdo dinamicamente dentro de cada aba. Por exemplo:

      Exibir uma lista de suas páginas do WordPress:

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

      Mostrar Posts Aleatórios:

      <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 comentários recentes:

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

      E muitos outros.

      Admin

  11. Instalei os arquivos e ativei o widget. Ele é exibido como esperado, no entanto, clicar nas abas 2 e 3 não muda o conteúdo. O conteúdo permanece como o conteúdo da Aba 1. Perdi alguma coisa? Veja meu site de teste em http://jimdavis.org/blog/

    Jim

    • Jim, você não perdeu nada. Este é um widget de exemplo e você pode editá-lo. Insira seu próprio código e conteúdo dentro de cada aba editando o arquivo do plugin wpb-tabber-widget.php

      Admin

Deixar uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.