Widget Logic

Por Widget Logic
(185 avaliações)
Baixar

Hospedagem WordPress com plugin Widget Logic

Onde devo hospedar o plugin Widget Logic?

Este plugin pode ser hospedado em qualquer provedor que tenha WordPress configurado. Recomendamos optar por um provedor de hospedagem seguro, com servidores otimizados para WordPress, como o serviço de hospedagem WordPress da MCO2.

Hospedando o plugin Widget Logic em uma empresa de hospedagem seguro

A MCO2, além de configurar e instalar o WordPress na versão mais atual para seus clientes, oferece o WP SafePress, um sistema singular que protege e aumenta a performance do seu site conjuntamente.

Por que a Hospedagem WordPress funciona melhor na MCO2?

A Hospedagem WordPress funciona melhor pois a MCO2 possui servidores otimizados para WordPress. A instalação de WordPress é diferente de uma instalação trivial, pois habilita imediatamente recursos como otimização de imagens, proteção da página de login, bloqueio de atividades suspeitas diretamente no firewall, cache avançado e HTTPS ativado por padrão. São plugins que potencializam seu WordPress para a máxima segurança e o máximo desempenho.

Este plugin dá para cada widget um campo de controle extra chamado “Lógica de exibição do widget” que permite que você controle as páginas onde o widget aparecerá. O campo de texto permite que você use as Tags condicionais do WP ou qualquer código PHP.

OBSERVAÇÃO: A lógica de exibição dos widgets que você introduz é diretamente passada para a função EVAL. Qualquer um que tenha acesso à edição de widgets terá permissão para adicionar qualquer código, incluindo funções maliciosas ou possivelmente destrutivas. Existe um filtro opcional ‘widget_logic_eval_override’ que você pode usar para ignorar o EVAL com um código próprio, se necessário. (Veja Outras notas).

The configuring and options are in the usual widget admin interface.

BIG UPDATE:

  • Now you can control widget in Gutenberg Widgets editor as well as in Classic Editor. It is just as easy as before but also in gutenberg view.

  • Pre-installed widgets let you add special widget with one click of the mouse. First pre-installed widget is Live Match that let you add widget of one random live football game with real time score updates (teams logos, livescore, minute of the match, tournament name). And more interesting widgets to come!

Configuração

À parte da lógica de exibição dos seus widgets, foram adicionadas três novas opções no rodapé da página de administração dos widgets (veja as imagens de tela).

  • Use a solução ‘wp_reset_query’ — Muitos recursos do WP, bem como os de muitos temas e plugins por aí, podem bagunçar as tags condicionais, como fazer is_home NÃO ser verdadeiro na página de posts. Isso pode frequentemente ser resolvido com uma declaração rápida da função wp_reset_query() logo antes dos widgets serem chamados e essa opção resolve tudo melhor do que ter que editar o código fazendo uma reordenação

  • Lógica de carregamento — Esta opção permite que você configure o ponto no carregamento da página onde a lógica de exibição dos widgets deve ser avaliada. Antes da versão .50 isso acontecia quando o gatilho ‘wp_head’ era acionado, isto é, durante a criação do HEAD do HTML. Muitos temas não chamavam a função wp_head, o que era um problema. A partir da versão .50 isso acontece, por padrão, tão cedo quanto possível, que é logo que o plugin é carregado. Você agora pode especificar estes pontos de ‘carregamento tardio’ (em ordem cronológica):

    • depois do carregamento do tema (gatilho after_setup_theme)
    • quando todo o PHP for carregado (gatilho do wp_loaded)
    • depois que as variáveis da query forem estabelecidas (parse_query) – este é o padrão
    • durante o cabeçalho da página (gatilho do wp_head)

    Você pode precisar atrasar o carregamento se a sua lógica depende da definição de outras funções, como por exemplo, no arquivo functions.php do tema. Inversamente você pode querer antecipar o carregamento para que a contagem de widgets seja calculada corretamente, por exemplo, para mostrar um layout ou conteúdo alternativo quando uma barra lateral não tem widgets.

  • Não faça cache dos resultados das lógicas de exibição dos widgets — A partir da versão .58 o código da lógica de exibição dos widgets só deveria ser executado uma vez, mas isso pode causar resultados inesperados em alguns temas, então esta opção está aqui para desabilitar esse comportamento. (O verdadeiro/falso do código será avaliado toda vez que o filtro sidebars_widgets for chamado.)

Interaction with External Services

Widget Logic uses the external service to obtain up-to-date information about the results of football matches. widgetlogic.org is a source of sports information, that provides a wide range of information about football, including various leagues, tournaments, and championships from around the world.

The functioning of the widgetlogic.org service is based on delivering real-time data about selected matches without the need to refresh the page. This means that data is automatically updated without requiring page reload. This approach ensures users quick and uninterrupted access to the latest sports data without the effort of manually updating information, allowing them to stay informed about ongoing events in real-time.

Escrevendo código lógico

O texto no campo ‘Lógica de exibição do widget’ pode ser um código PHP completo e deve retornar ‘true’ quando você precisa que o widget seja exibido. Se não há ‘return’ no texto, um ‘return’ implícito é adicionado no início e um ‘;’ adicionado no fim. (Isto é apenas para tornar declarações únicas como is_home() mais convenientes.)

O básico

Faça bom uso das tags condicionais do próprio WP. Você pode variar e combinar o código usando:

  • ! (NOT) para reverter a lógica, ex.: !is_home() é VERDADEIRO quando esta NÃO é a página de posts.
  • || (OR) para combinar condições. X OR Y é VERDADEIRO tanto quando X é verdadeiro quanto quando Y é verdadeiro.
  • && (AND) para tornar condições mais específicas. X AND Y é VERDADEIRO quando ambos X e Y são verdadeiros.

Existem vários ótimos exemplos de código nos fóruns do WP e nos sites WP pela internet. Porém o Codex WP também está cheio de bons exemplos para adaptar, como em Teste se um post está em uma categoria filha.

Exemplos

  • is_home() — somente na página de posts
  • !is_page('about') — em todo lugar EXCETO nesta ‘página’ WP específica
  • !is_user_logged_in() — exibido quando o usuário não está conectado
  • is_category(array(5,9,10,11)) — página de uma categoria que tenha um dos IDs fornecidos
  • is_single() && in_category('baked-goods') — post que está na categoria que possui este slug
  • current_user_can('level_10') — widget somente para administradores
  • strpos($_SERVER['HTTP_REFERER'], "google.com")!=false — widget para exibir quando clicado através de uma busca do google
  • is_category() && in_array($cat, get_term_children( 5, 'category')) — página da categoria que é filha da categoria 5
  • global $post; return (in_array(77,get_post_ancestors($post))); — Página WP que é filha da página 77
  • global $post; return (is_page('home') || ($post->post_parent=="13")); — página home OU uma página filha da página 13

Note o ‘;’ extra no final, onde há um ‘return’ explícito.

The ‘widget_logic_eval_override’ filter

Antes que o código do Widget Logic seja avaliado por widget, o texto do código do Widget Logic é passado através deste filtro. Se o filtro retornar um resultado BOOLEANO, ele é usado para determinar se o widget é visível. Retorne TRUE para visível.

Capturas de tela

The 'Widget logic' field at work in Gutenberg widgets.

The 'Widget logic' field at work in Gutenberg widgets.

The 'Widget logic' field at work in Classic widgets.

The 'Widget logic' field at work in Classic widgets.

The plugin options are at the foot of the usual widget admin page… <code>wp_reset_query</code> option, 'load logic point' and 'evaluate more than once'. You can also export and import your site's WL options as a plain text file for a quick backup/restore and to help troubleshoot issues.

The plugin options are at the foot of the usual widget admin page… wp_reset_query option, 'load logic point' and 'evaluate more than once'. You can also export and import your site's WL options as a plain text file for a quick backup/restore and to help troubleshoot issues.

Pre-installed 'Live Match' widget in widgets section

Pre-installed 'Live Match' widget in widgets section

Pre-installed 'Live Match' widget on website

Pre-installed 'Live Match' widget on website

Plugins semelhantes

Spectra – WordPress Gutenberg Blocks
(1.648 avaliações)

Power-up Gutenberg with advanced blocks for faster website creation. Build your WordPress website effortlessly using powerful building blocks!

Page Builder da SiteOrigin
(1.003 avaliações)

Construa leiautes de página responsivos com widgets que você conhece e adora, usando um construtor de páginas simples, estilo arrastar e soltar.

Widget de revisão do Google
(1.879 avaliações)

Incorpore avaliações do Google de forma rápida e fácil em seu site WordPress. Aumente o SEO, a confiança e as vendas usando as avaliações do Google.

SiteOrigin Widgets Bundle
(132 avaliações)

Essential elements for modern websites. Add buttons, sliders, heroes, maps, images, carousels, features, icons, more. Create dynamic pages easily.

Gutenberg Blocks with AI by Kadence WP – Page Builder Features
(241 avaliações)

20+ AI-powered Gutenberg Blocks with endless options, enabling top-notch efficiency for high-performance dynamic website creation.

Page Builder Gutenberg Blocks – CoBlocks
(100 avaliações)

CoBlocks is a suite of page builder WordPress blocks for Gutenberg, with 10+ new blocks and a true page builder experience with rows and columns.