Marcelo Mesquita

Apenas mais um desenvolvedor WordPress

Plugin: Widget Custom Loop

Existe uma rotina na montagem dos conteúdos dos tema para WordPress já que é sempre um loop que carrega o conteúdo dos posts e páginas. Quando trabalhamos com sites grandes com várias colunas de informação a variação nesse loop se dá quase sempre por categorias – uma coluna mostra os posts da categoria x enquanto outra coluna mostra os posts da categoria y. A maioria das alterações era na estrutura html desses loops, então porque não automatizar esse processo?

custom-loopTentando facilitar as coisas eu criei o plugin Widget Custom Loop, que se trata de um widget que permite a definição do loop e personalização de sua estrutura.

Instalação

  1. Faça o upload do plugin ‘widget-custom-loop’ para o diretório ‘wp-content/plugins/’ do WordPress;
  2. Ative o plugin.

Utilização

Na páginda de widgets deverá aparecer o widget ‘Custom Loop’. Arraste o widget para o sidebar desejado e configure de acordo com suas necessidades.

Por padrão, caso o campo ‘Loop’ seja deixado em branco o plugin monta um loop automático. Esse modelo de loop automático é definido através da opção ‘loop_model’, caso o tema queira definir um modelo de loop, basta salvar esse modelo na opção ‘loop_model’, por exemplo:

update_option( 'loop_model', '<h3>{title}</h3>{excerpt}' );

Dessa forma, sempre que o ‘Custom Loop’ for adicionado em algum sidebar, ele seguirá esse modelo por padrão.

Download

Widget Custom Loop

15 Comments

  • responder

    Maclei

    7 anos atrás

    Gostei bastante do seu plugin. Só queria fazer uma modificação mas não sei como fazer. No site tem as categorias agrupadas, só que no seu widget não aparece as categorias pai, somente as filhas, que é onde estão os posts. Teria como selecionar as categorias pais?
    Obrigado, e parabéns pelo plugin.

    • responder

      Marcelo Mesquita

      7 anos atrás

      Maclei,
      falha minha… basta adicionar o parâmetro ‘&hide_empty=0’ à função ‘wp_dropdown_categories’ na linha 154 do arquivo widget-custom-loop.php.

      Se preferir, baixe novamente o plugin pois acabei de atualizar a versão.

      Obrigado pelo aviso!

  • responder

    Maclei

    7 anos atrás

    Marcelo, obrigado, preferi baixar novamente. Antes estava dando o seguinte erro:

    Parse error: parse error, expecting `T_STRING’ in C:wampwwwviladapenhaonlinewp-contentpluginswidget-custom-loopwidget-custom-loop.php(78) : runtime-created function on line 1

    Warning: preg_replace_callback() [function.preg-replace-callback]: Requires argument 2, ”, to be a valid callback in C:wampwwwviladapenhaonlinewp-contentpluginswidget-custom-loopwidget-custom-loop.php on line 78

    A linha 78 é essa:

    $loop = preg_replace_callback( ‘/{excerpt ?(length=[‘”]([0-9]+)[‘”])?}/U’, create_function( ‘$matches’, ‘return limit_chars( get_the_excerpt(), ( $matches[ 2 ] ) );’ ), $loop );

    Comentei ela e funcionou. Pq isso ocorre?

    • responder

      Marcelo Mesquita

      7 anos atrás

      Boa pergunta… acabei de verificar que o excerpt não está sendo carregado apesar de não estar dando erro. Assim que identificar isso eu aviso o que ocorreu.

      Obrigado novamente.

  • responder

    barão

    6 anos atrás

    OI marceloo, por acaso é possível limitar a quantidade de caracteres seja em títulos ou no conteúdo do loop gerado pelo seu plugin?

    • responder

      stallefish

      6 anos atrás

      Oi Barão,
      apenas no excerpt é possível limitar a quantidade de caracteres usando o código {excerpt length=’100′}. Acredito que usando a tag more também seja possível fazer a limitação do conteúdo, mas nunca testei.

      Abraço.

      • responder

        barão

        6 anos atrás

        Oi Marcelo, encontrei esse tutorial que ensina como limitar o numero de caracteres de um título. Será que é viável usar essa metodologia no plugin.

        Só para constar… não sou desenvolvedor e sim designer que não entende patavinas de programação mas que gosta de se arriscar em águas perigosas.

        • responder

          stallefish

          6 anos atrás

          E aê Barão, não veio o link do seu tutorial. Como é uma coisa simples, eu atualizei o plugin adicionando o parametro de tamanho no titulo também.

          Baixe a nova versão do plugin e no widget use assim:
          {title length=’30’}

          Nesse exemplo o titulo ficaria limitado a 30 caracteres.

          O único problema é que você será a cobaia da nova versão do plugin… rs.

          Qualquer coisa é só avisar.

          • barão

            6 anos atrás

            Opa, funcionou perfeitamente!!! Valeu mesmo!!!
            Só uma dúvida. Você sabe que muitas vezes o WordPress é usado como CMS para sites de empresas, institucionais.. etc..
            E em boa parte das vezes o próprio cliente quer se encarregar de alimentar o site com conteúdo. Mas também sabemos que esses clientes não tem noção de design, diagramação e coisa e tal. Dependendo do tamanho dos títulos ou textos muitas vezes eles podem destruir todo um layout ao exagerar na dose. Você acha que pode haver um meio de limitar a quantidade de caracteres de um título (por exemplo) no próprio editor de texto do wordpress? Se ele escreve um título maior do que o que foi pensado ai o proprio editor não permitiria a digitação de mais caracteres que o permitido.
            Vc acha que existe chance de se fazer algo assim?

          • stallefish

            6 anos atrás

            Sim… é possível fazer um limitador dinamico de caracteres. No caso do conteúdo, já existe a tag more, acredito que seja o caso de desenvolver um plugin que faça o mesmo para o título.

            Abraço.

  • responder

    barão

    5 anos atrás

    Marcelo, olha eu aqui de novo!

    Me diz uma coisa… como faço para poder definir o tamanho do {thumb} em um loop???

  • responder

    Rayllson

    5 anos atrás

    Olá Marcelo, esse plugin foi o único que deu certo para botar dois ou mais loops em uma box um do lado do outro! Mas estou com uma dificuldade, nos meus posts tem podcast e eles não estão aparecendo, mesmo quando eu boto o comando {content}, que é para aparecer o post todo. Como faço para o player aparecer?

  • responder

    Eduardo Luis

    2 anos atrás

    Cara você é o melhor, parabéns pela iniciativa de compartilhar seus conhecimentos, muito obrigado !

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *