---
title: "Como criar visibilidade dinâmica com JetEngine e Elementor"
description: "Criar visibilidade dinâmica com JetEngine e Elementor é controlar, por condição, quais blocos da página cada visitante vê, usando o módulo Dynamic."
url: https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/
date: 2026-06-21
author: "Clayton Margiotti"
---

# Como criar visibilidade dinâmica com JetEngine e Elementor

No seu site WordPress, **criar visibilidade dinâmica com JetEngine e Elementor** é usar o módulo Dynamic Visibility do JetEngine para mostrar ou esconder seções do Elementor conforme uma condição. Segundo a [documentação do WordPress](https://developer.wordpress.org/), o conteúdo deve se adaptar ao contexto do usuário. O erro mais comum é configurar a condição e esquecer de definir se a regra mostra ou oculta o bloco, deixando o resultado invertido.

Criar visibilidade dinâmica com JetEngine e Elementor é controlar, por condição, quais blocos da página cada visitante vê, usando o módulo Dynamic Visibility do JetEngine sobre os widgets e seções do Elementor. O JetEngine avalia a regra, e o [Elementor](https://full.services/glossario/elementor/) mostra ou esconde o conteúdo conforme o resultado. O resultado é uma página que se adapta a quem está logado, ao papel do usuário ou ao valor de um campo, sem duplicar layouts. Este guia faz parte do hub de [Elementor Pro da FULL](https://full.services/elementor-pro/) e mostra o passo a passo real, da ativação do módulo ao teste de cada cenário.

---

## O que é visibilidade dinâmica com JetEngine e Elementor

Visibilidade dinâmica com JetEngine e Elementor é a regra que decide, em tempo de carregamento, se um widget ou seção aparece para o visitante: o módulo Dynamic Visibility do JetEngine lê uma condição e instrui o Elementor a exibir ou ocultar o bloco. O JetEngine entrega a lógica, e o Elementor entrega o conteúdo controlado.

Na prática, você ativa o módulo, escolhe um bloco do Elementor e define a condição, como usuário logado, papel de administrador ou um campo meta com certo valor, e diz se a regra mostra ou esconde o bloco. Assim, a mesma página entrega conteúdos diferentes conforme o contexto. Nos atendimentos da FULL sobre [sites com Elementor Pro](https://full.services/como-criar-um-site-com-elementor-pro-e-wordpress/), o tropeço campeão é montar a condição certa e esquecer de marcar se ela mostra ou oculta, o que inverte o resultado e expõe o bloco errado.

<p class="wp-caption-text">Legenda: o JetEngine avalia a condição e o Elementor mostra ou esconde o bloco.</p>

## Quando vale usar visibilidade dinâmica em vez de páginas separadas

Vale usar visibilidade dinâmica quando o mesmo endereço precisa mostrar conteúdos diferentes por contexto, quando você quer evitar duplicar páginas para públicos distintos ou quando blocos só devem aparecer a quem cumpre uma condição, e vale a página separada quando os conteúdos não têm nada em comum. A regra dinâmica rende quando a base do layout é a mesma e só parte muda.

Use este teste antes de configurar. Diga SIM à visibilidade dinâmica se a sua página tem um trecho que só certos usuários, ou só quem está logado, deve ver, mantendo o resto igual para todos. Diga NÃO se os públicos precisam de páginas inteiramente diferentes, porque aí separar é mais claro. O encaixe ideal é a área com blocos condicionais sobre uma base comum. Para somar filtros e listagens a essa lógica, o guia de [sistemas de filtros no Elementor](https://full.services/como-criar-sistemas-de-filtros-no-elementor-com-plugins-extras/) mostra como organizar o conteúdo dinâmico.

## Pré-requisitos antes de configurar a visibilidade

Antes de configurar a visibilidade dinâmica você precisa de três peças no lugar, o Elementor ativo como construtor da página, o JetEngine do Crocoblock instalado, e o módulo Dynamic Visibility habilitado dentro do JetEngine, e a falta de qualquer uma deixa os blocos sem a opção de condição. Sem o módulo ligado, a aba de visibilidade nem aparece nas configurações do widget.

Checklist de prontidão antes de começar:

- Elementor ativo, montando a página onde os blocos vivem.
- JetEngine do Crocoblock instalado e ativado.
- O módulo Dynamic Visibility habilitado no painel do JetEngine.
- A condição definida: papel do usuário, login, campo meta ou data.
- Os campos meta criados, se a condição depender de um valor.
- Um conjunto de usuários de teste para cada cenário previsto.
- Backup do site antes de aplicar regras de visibilidade ao conteúdo real.

Pense no conjunto como o porteiro de um prédio com áreas restritas: o JetEngine é o porteiro que confere quem pode entrar, o Elementor é o salão com várias portas, e a condição é a lista de quem tem acesso a cada uma. Sem definir se a porta abre ou fecha para a lista, o porteiro deixa entrar quem deveria barrar.

## Como criar a visibilidade dinâmica em 5 passos

Criar a visibilidade dinâmica segue cinco passos, da ativação do módulo ao teste de cada cenário, e respeitar a ordem evita o erro mais comum: definir a condição e esquecer de marcar se ela mostra ou esconde o bloco. Cada passo fecha uma decisão, da regra ao resultado. Confirme antes que o Elementor e o JetEngine estão ativos, porque a opção de visibilidade depende dos dois juntos.

<table id="etapas-visibilidade-jetengine-elementor">
  <caption>Visibilidade dinâmica com JetEngine e Elementor: etapas, objetivo e validação</caption>
  <thead>
    <tr>
      <th scope="col">Etapa</th>
      <th scope="col">Objetivo</th>
      <th scope="col">Check de validação</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Ativar o módulo Dynamic Visibility</th>
      <td>Habilitar a opção</td>
      <td>Aba de visibilidade no widget</td>
    </tr>
    <tr>
      <th scope="row">Escolher o bloco a controlar</th>
      <td>Definir o alvo</td>
      <td>Widget ou seção selecionado</td>
    </tr>
    <tr>
      <th scope="row">Definir a condição</th>
      <td>Criar a regra</td>
      <td>Condição salva no bloco</td>
    </tr>
    <tr>
      <th scope="row">Marcar mostrar ou esconder</th>
      <td>Decidir a ação</td>
      <td>Ação correta selecionada</td>
    </tr>
    <tr>
      <th scope="row">Testar cada cenário</th>
      <td>Confirmar o resultado</td>
      <td>Cada usuário vê o bloco certo</td>
    </tr>
  </tbody>
</table>

### Passo 1: Ative o módulo dynamic visibility no JetEngine

No painel do JetEngine, abra a aba de módulos e ative o Dynamic Visibility, porque é ele que adiciona a opção de condição às configurações de cada widget e seção do Elementor. Sem o módulo ligado, os blocos não têm onde receber a regra, conforme a [referência dos plugins do WordPress](https://wordpress.org/plugins/). Salve a ativação e recarregue o editor do Elementor para a nova aba aparecer. Esse passo é a chave que destrava todo o resto: a partir dele, qualquer bloco da página pode ganhar uma condição de exibição. Confirme que a aba de visibilidade surgiu antes de seguir, porque sem ela os próximos passos não têm onde ser configurados.

### Passo 2: Escolha o bloco a controlar no Elementor

No editor do Elementor, selecione o widget ou a seção que deve aparecer ou sumir conforme a condição, porque é nesse bloco que a regra de visibilidade vai morar. Decida com clareza o alvo, um botão só para logados, uma seção só para administradores ou um aviso por campo meta, antes de abrir a aba de visibilidade. Mantenha o bloco bem delimitado, já que controlar uma seção inteira é diferente de controlar um único widget dentro dela. Selecione o elemento e abra a aba de Dynamic Visibility nas configurações avançadas. A escolha do alvo certo evita esconder mais ou menos do que você pretendia na página.

### Passo 3: Defina a condição de visibilidade

Na aba de Dynamic Visibility do bloco, crie a condição que decide a exibição, escolhendo o tipo de regra, papel do usuário, estado de login, valor de campo meta ou data, porque é essa condição que o JetEngine vai avaliar a cada carregamento. Configure o campo e o valor que a regra compara, como papel igual a administrador ou campo meta com determinado conteúdo. Quanto mais específica a condição, mais previsível o resultado. Se a regra depende de um campo, confirme que ele existe e está preenchido. Salve a condição no bloco, deixando claro qual critério dispara a exibição ou a ocultação no passo seguinte.

### Passo 4: Marque se a regra mostra ou esconde

Defina a ação da condição, escolhendo entre mostrar o bloco quando a regra é verdadeira ou esconder o bloco nesse caso, porque é esse ajuste que o pessoal esquece e que inverte todo o resultado. A mesma condição produz efeitos opostos conforme essa escolha, então leia a frase completa, mostrar se logado é diferente de esconder se logado. Marque a ação que corresponde ao que você quer e salve. Esse é o passo mais sujeito a engano da configuração inteira, então confira a lógica em voz alta antes de publicar. Uma ação invertida expõe justamente o bloco que deveria ficar oculto, então revise com atenção.

### Passo 5: Teste cada cenário de usuário

Abra a página com usuários diferentes, um logado, um deslogado e um de cada papel previsto, e confirme que cada um vê exatamente os blocos certos, porque só o teste real prova que a condição e a ação combinam. Use uma janela anônima para simular o visitante deslogado e alterne entre contas para os papéis. Verifique também no celular, já que a regra vale em qualquer tela. Se o JetEngine não conecta com o Elementor e a aba de visibilidade some, veja como corrigir o [erro de conexão entre JetEngine e Elementor](https://full.services/wp-fixer/corrigir-conexao-jetengine-elementor/) antes de aplicar as regras ao site inteiro.

<p class="wp-caption-text">Legenda: cada passo fecha uma decisão, da condição ao teste por cenário de usuário.</p>

## Erros comuns ao configurar a visibilidade dinâmica

Os três erros mais comuns ao configurar a visibilidade dinâmica são inverter a ação de mostrar ou esconder, comparar o campo errado na condição e esquecer de testar o cenário deslogado. O primeiro é o mais frequente: a condição está certa, mas a ação invertida faz o bloco aparecer justamente para quem não deveria vê-lo, o que pode expor conteúdo restrito.

O segundo erro é apontar a condição para um campo meta errado ou vazio, o que faz a regra nunca disparar e o bloco se comportar como se não tivesse controle. A correção é conferir o nome e o valor do campo. O terceiro caso é validar só com a própria conta de administrador e esquecer do visitante comum, deixando passar uma falha que só aparece para o público. Quando o conflito de campos entre o ACF e o JetEngine atrapalha a condição, vale ver como corrigir o [conflito de Custom Fields entre ACF PRO e JetEngine](https://full.services/wp-fixer/corrigir-conflito-custom-fields-acf-jetengine/), que costuma estar por trás da regra que não dispara.

## Como manter a visibilidade dinâmica em produção

Manter a visibilidade dinâmica em produção exige cuidar de duas frentes, a clareza das condições e a estabilidade das regras a cada atualização, porque condições espalhadas por muitos blocos ficam difíceis de auditar e uma atualização do JetEngine pode mudar como a regra é avaliada. A lógica condicional cresce em silêncio, então documentar cada regra evita surpresas no que aparece para cada público.

Mantenha um registro de quais blocos têm visibilidade dinâmica e qual condição cada um usa, porque isso facilita revisar e corrigir quando o conteúdo muda. Depois de cada atualização do JetEngine ou do Elementor, refaça o teste com usuários de papéis diferentes para garantir que as regras continuam corretas. Para entender como a suíte do Crocoblock soma esse controle a listagens e templates, o guia [de como criar um site com Elementor Pro](https://full.services/como-criar-um-site-com-elementor-pro-e-wordpress/) dá o contexto do construtor.

## Como a FULL faz isso em escala

A FULL padroniza o uso de visibilidade dinâmica com JetEngine porque acompanha mais de 150 mil sites WordPress, e áreas com conteúdo condicional, por login, papel ou plano, aparecem o tempo todo, onde reconfigurar cada regra em cada projeto vira gargalo. Em vez de licença avulsa do Crocoblock por instalação, a suíte entra no bundle e o padrão de regras condicionais fica replicável de um site para outro.

No plano PRO da FULL, por [R$849](https://full.services/planos), o Crocoblock e o Elementor Pro já vêm no pacote para até dez sites, o que dá R$85 por site em vez de pagar cada licença separada. Para quem monta vários sites com áreas condicionais, a gente vê isso trocar um custo recorrente espalhado por um padrão único: o mesmo conjunto de regras de visibilidade é exportado e reaproveitado de um projeto para outro, sem remontar a lógica do zero a cada site. É a economia que só aparece quando o stack é o mesmo em toda a base.

## Checklist final da visibilidade dinâmica

O checklist final da visibilidade dinâmica confirma, em uma passada, que cada bloco aparece para o público certo antes de você publicar as regras. Rode esta lista depois do passo 5 e a cada atualização grande do JetEngine ou do Elementor, porque é nessas atualizações que o comportamento das condições costuma mudar.

Antes de declarar pronto, confirme:

- O módulo Dynamic Visibility está ativo e a aba aparece nos blocos.
- Cada bloco controlado tem a condição certa salva.
- A ação de mostrar ou esconder está na direção correta para cada regra.
- A condição aponta para o campo e o valor exatos, quando depende de meta.
- O teste com usuário logado, deslogado e cada papel mostra os blocos certos.
- O cenário deslogado foi validado em janela anônima, não só como admin.
- As regras funcionam bem no celular, não só no desktop.

Se qualquer item falhar, principalmente a ação de mostrar ou esconder, volte ao passo correspondente antes de publicar as regras ao público.

## Perguntas frequentes sobre visibilidade dinâmica com JetEngine e Elementor

<details>
  <summary>Preciso do Elementor Pro para usar a visibilidade dinâmica do JetEngine?</summary>
  <p>Não necessariamente. O módulo Dynamic Visibility é do JetEngine e funciona sobre o Elementor, inclusive a versão gratuita, controlando widgets e seções por condição. O Elementor Pro soma recursos de template e Dynamic Tags que ampliam o que você faz com o conteúdo, mas a regra de mostrar ou esconder vem do JetEngine. Para áreas condicionais simples, o JetEngine com o Elementor base já resolve. Quando você combina visibilidade com templates dinâmicos e campos, a dupla com o Elementor Pro entrega o controle mais completo da página.</p>
</details>

<details>
  <summary>Como faço um bloco aparecer só para usuários logados?</summary>
  <p>Você seleciona o bloco no Elementor, abre a aba de Dynamic Visibility e cria uma condição baseada no estado de login do usuário. Em seguida, marca a ação para mostrar o bloco quando a condição de logado for verdadeira, porque é essa escolha que define o resultado. Salve e teste com uma janela anônima para simular o visitante deslogado e uma conta logada para o outro caso. Esse padrão é o mais comum em áreas de membros.</p>
</details>

<details>
  <summary>Por que o bloco aparece para o público errado mesmo com a condição certa?</summary>
  <p>Quase sempre porque a ação de mostrar ou esconder está invertida em relação à condição. A regra avalia o critério corretamente, mas a ação oposta faz o bloco surgir para quem deveria ficar sem ele. A causa é a confusão entre mostrar se verdadeiro e esconder se verdadeiro. Para resolver, leia a frase completa da regra e ajuste a ação. Prefira testar logo após salvar, com um usuário de cada cenário, assim você pega a inversão antes que ela exponha o bloco errado.</p>
</details>

<details>
  <summary>É possível controlar a visibilidade por valor de um campo sem código?</summary>
  <p>Sim, e é um uso central do módulo. Você cria uma condição que compara um campo meta com um valor, e o JetEngine mostra ou esconde o bloco conforme o resultado, sem você escrever PHP. Basta que o campo exista e esteja preenchido no conteúdo avaliado. Use esse caminho quando a exibição depende de um dado do post, como um status ou uma categoria. Reserve o código só para lógicas que a condição visual não cobre, como combinações complexas de vários campos numa única regra de exibição.</p>
</details>

<details>
  <summary>Quando vale usar visibilidade dinâmica em vez de um plugin de membros?</summary>
  <p>Vale quando você precisa esconder blocos específicos por condição, e não trancar páginas inteiras atrás de um acesso pago. A visibilidade dinâmica controla a exibição de partes da página por login, papel ou campo, enquanto o plugin de membros cuida de planos e cobrança. Prefira a visibilidade quando o objetivo é adaptar o que cada público vê numa mesma área. Reserve o plugin de membros para quando há níveis de assinatura e restrição de conteúdo completo, porque aí a regra de exibição sozinha não dá conta da cobrança.</p>
</details>

## Próximos passos para páginas que se adaptam ao público

Criar visibilidade dinâmica com JetEngine e Elementor é, no fundo, deixar a página decidir o que mostrar a cada visitante: ative o módulo, escolha o bloco, defina a condição e, acima de tudo, marque corretamente se a regra mostra ou esconde. A ação invertida é o que expõe o bloco errado, então confira a lógica antes de publicar. Para padronizar o Crocoblock e o Elementor Pro em vários sites sem licença avulsa, conheça os [planos da FULL](https://full.services/planos), e para continuar aprendendo, o [FULL Academy](https://full.services/academy/) reúne os tutoriais de WordPress em um só lugar.


---

## Metadados Estruturados (Schema.org)

```json-ld
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#article",
      "headline": "Como criar visibilidade dinâmica com JetEngine e Elementor",
      "description": "Criar visibilidade dinâmica com JetEngine e Elementor é controlar, por condição, quais blocos da página cada visitante vê, usando o módulo Dynamic Visibility do JetEngine sobre os widgets e seções do ",
      "url": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/",
      "datePublished": "2026-06-21T09:00:00-03:00",
      "dateModified": "2026-06-21T09:00:00-03:00",
      "inLanguage": "pt-BR",
      "articleSection": "Elementor Pro",
      "keywords": [
        "criar visibilidade dinamica com jetengine e elementor",
        "Elementor",
        "WordPress Page Builders",
        "Web Design"
      ],
      "author": {
        "@id": "https://full.services/#person-clayton"
      },
      "publisher": {
        "@id": "https://full.services/#org"
      },
      "about": [
        {
          "@type": "Thing",
          "name": "Elementor",
          "@id": "https://www.wikidata.org/wiki/Q96322879",
          "sameAs": "https://www.wikidata.org/wiki/Q96322879"
        },
        {
          "@type": "Thing",
          "name": "WordPress Page Builders"
        },
        {
          "@type": "Thing",
          "name": "Web Design"
        }
      ],
      "mentions": [
        {
          "@type": "Organization",
          "name": "Elementor",
          "url": "https://elementor.com/",
          "@id": "https://www.wikidata.org/wiki/Q96322879",
          "sameAs": "https://www.wikidata.org/wiki/Q96322879"
        },
        {
          "@type": "Organization",
          "name": "WordPress",
          "url": "https://wordpress.org/",
          "@id": "https://www.wikidata.org/wiki/Q13166",
          "sameAs": "https://www.wikidata.org/wiki/Q13166"
        }
      ],
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/"
      },
      "wordCount": 2842,
      "citation": [
        {
          "@type": "CreativeWork",
          "name": "WordPress Developer Docs",
          "url": "https://developer.wordpress.org/",
          "publisher": {
            "@type": "Organization",
            "name": "WordPress Developer Docs"
          }
        },
        {
          "@type": "CreativeWork",
          "name": "WordPress.org Plugins",
          "url": "https://wordpress.org/plugins/",
          "publisher": {
            "@type": "Organization",
            "name": "WordPress.org Plugins"
          }
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#faq",
      "isPartOf": {
        "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#article"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#faq-q1",
          "name": "Preciso do Elementor Pro para usar a visibilidade dinâmica do JetEngine?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Não necessariamente. O módulo Dynamic Visibility é do JetEngine e funciona sobre o Elementor, inclusive a versão gratuita, controlando widgets e seções por condição. O Elementor Pro soma recursos de template e Dynamic Tags que ampliam o que você faz com o conteúdo, mas a regra de mostrar ou esconder vem do JetEngine. Para áreas condicionais simples, o JetEngine com o Elementor base já resolve. Quando você combina visibilidade com templates dinâmicos e campos, a dupla com o Elementor Pro entrega o controle mais completo da página.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#faq-q2",
          "name": "Como faço um bloco aparecer só para usuários logados?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Você seleciona o bloco no Elementor, abre a aba de Dynamic Visibility e cria uma condição baseada no estado de login do usuário. Em seguida, marca a ação para mostrar o bloco quando a condição de logado for verdadeira, porque é essa escolha que define o resultado. Salve e teste com uma janela anônima para simular o visitante deslogado e uma conta logada para o outro caso. Esse padrão é o mais comum em áreas de membros.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#faq-q3",
          "name": "Por que o bloco aparece para o público errado mesmo com a condição certa?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Quase sempre porque a ação de mostrar ou esconder está invertida em relação à condição. A regra avalia o critério corretamente, mas a ação oposta faz o bloco surgir para quem deveria ficar sem ele. A causa é a confusão entre mostrar se verdadeiro e esconder se verdadeiro. Para resolver, leia a frase completa da regra e ajuste a ação. Prefira testar logo após salvar, com um usuário de cada cenário, assim você pega a inversão antes que ela exponha o bloco errado.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#faq-q4",
          "name": "É possível controlar a visibilidade por valor de um campo sem código?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Sim, e é um uso central do módulo. Você cria uma condição que compara um campo meta com um valor, e o JetEngine mostra ou esconde o bloco conforme o resultado, sem você escrever PHP. Basta que o campo exista e esteja preenchido no conteúdo avaliado. Use esse caminho quando a exibição depende de um dado do post, como um status ou uma categoria. Reserve o código só para lógicas que a condição visual não cobre, como combinações complexas de vários campos numa única regra de exibição.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#faq-q5",
          "name": "Quando vale usar visibilidade dinâmica em vez de um plugin de membros?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Vale quando você precisa esconder blocos específicos por condição, e não trancar páginas inteiras atrás de um acesso pago. A visibilidade dinâmica controla a exibição de partes da página por login, papel ou campo, enquanto o plugin de membros cuida de planos e cobrança. Prefira a visibilidade quando o objetivo é adaptar o que cada público vê numa mesma área. Reserve o plugin de membros para quando há níveis de assinatura e restrição de conteúdo completo, porque aí a regra de exibição sozinha não dá conta da cobrança.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://full.services/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Como criar visibilidade dinâmica com JetEngine e Elementor",
          "item": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/"
        }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://full.services/#org",
      "name": "FULL Services",
      "url": "https://full.services",
      "logo": {
        "@type": "ImageObject",
        "url": "https://full.services/wp-content/uploads/full-services-logo.png",
        "width": 200,
        "height": 60
      },
      "sameAs": [
        "https://www.instagram.com/fullservicesbr",
        "https://www.facebook.com/fullservices.br",
        "https://www.linkedin.com/company/fullservicesbr/"
      ],
      "knowsAbout": [
        "WordPress",
        "WordPress Hosting",
        "Web Development",
        "Performance Optimization",
        "WordPress Security",
        "SEO para WordPress"
      ],
      "award": [
        "Gold Medal - The WP Weekly Awards 2023 (https://thewpweekly.com/awards-2023/)",
        "Gold Medal - The WP Weekly Awards 2024 (https://thewpweekly.com/awards-2024/)"
      ],
      "hasCredential": {
        "@type": "EducationalOccupationalCredential",
        "credentialCategory": "certification",
        "name": "CVE Numbering Authority (CNA)",
        "description": "Autoridade de numeração de vulnerabilidades (CVE) para o ecossistema WordPress, autorizada a atribuir IDs CVE. Certificação válida desde 2022-05-03, com abrangência global.",
        "url": "https://www.cve.org/PartnerInformation/ListofPartners/partner/FULL",
        "recognizedBy": {
          "@type": "Organization",
          "name": "CISA — Cybersecurity and Infrastructure Security Agency",
          "url": "https://www.cisa.gov/",
          "sameAs": "https://www.cisa.gov/"
        }
      }
    },
    {
      "@type": "Person",
      "@id": "https://full.services/#person-clayton",
      "name": "Clayton Margiotti",
      "givenName": "Clayton",
      "familyName": "Margiotti",
      "jobTitle": "Fundador e CEO da FULL Services",
      "description": "Fundador e CEO da FULL Services, plataforma WordPress SaaS com 50 mil clientes e 150 mil sites conectados, e anchor do ecossistema Elevor Global. Em 2024 conduziu a FULL a se tornar a primeira e unica empresa brasileira aprovada como CVE Numbering Authority sob a CISA (DHS/EUA). Mais de 20 anos construindo empresas digitais, com 13+ reconhecimentos internacionais (Facebook, GPTW, ONU, RD Summit).",
      "url": "https://full.services/sobre-nos/",
      "image": "https://full.services/wp-content/uploads/2026/05/clayton-margiotti.jpg",
      "sameAs": [
        "https://www.linkedin.com/in/cmargiotti/"
      ],
      "knowsAbout": [
        "Artificial Intelligence",
        "Cybersecurity",
        "CVE Program",
        "WordPress Enterprise",
        "SaaS Platforms",
        "Digital Infrastructure",
        "Technology Entrepreneurship",
        "Company Building",
        "Business Leadership",
        "Digital Growth"
      ],
      "hasOccupation": {
        "@type": "Occupation",
        "name": "Fundador e CEO",
        "occupationalCategory": "11-1011.00"
      },
      "knowsLanguage": [
        {
          "@type": "Language",
          "name": "Portuguese",
          "alternateName": "pt-BR"
        },
        {
          "@type": "Language",
          "name": "English",
          "alternateName": "en"
        }
      ],
      "memberOf": {
        "@type": "Organization",
        "name": "CVE Numbering Authorities",
        "url": "https://www.cve.org/",
        "sameAs": "https://www.cve.org/"
      },
      "alumniOf": [
        {
          "@type": "EducationalOrganization",
          "name": "Global Scaling Academy (Blitzscaling Program)",
          "url": "https://www.blitzscalingacademy.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Esade",
          "url": "https://www.esade.edu"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Business School Sao Paulo (BSP)",
          "url": "https://bsp.edu.br/"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Tera",
          "url": "https://somostera.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Le Wagon",
          "url": "https://www.lewagon.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "FIAP",
          "url": "https://www.fiap.com.br"
        },
        {
          "@type": "EducationalOrganization",
          "name": "PUCRS",
          "url": "https://online.pucrs.br/"
        }
      ],
      "award": [
        "Digital Disruptor – Engaging Experiences Master (Globant, 2021)",
        "Maior ROI do e-commerce brasileiro – Letrissimas (Facebook, 2019)",
        "1º lugar – Melhores Empresas para Trabalhar no Brasil – Eleva Digital (Great Place to Work, 2018)",
        "Case global de educacao no Facebook – Metodo SUPERA (Facebook, 2017)",
        "Maquina de Geracao de Leads, Agencia do Ano (RD Summit / RD Station, 2015)",
        "Monthly Recurring Revenue, top performance (RD Summit / RD Station, 2015)",
        "Quality/Efficiency – Entrepreneurship Training (UNCTAD / PNUD-ONU, 2010)"
      ],
      "subjectOf": [
        {
          "@type": "NewsArticle",
          "url": "https://www.globant.com/news/globant-reveals-inaugural-digital-disruptors-award-winners",
          "publisher": {
            "@type": "Organization",
            "name": "Globant"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://www.prnewswire.com/news-releases/letrissimas-com-e-destaque-do-e-commerce-brasileiro-com-maior-roi-de-2018-877517801.html",
          "publisher": {
            "@type": "Organization",
            "name": "PR Newswire"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://www.segs.com.br/seguros/102599-gestao-de-pessoas-garante-mais-lucro-as-empresas",
          "publisher": {
            "@type": "Organization",
            "name": "Segs"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://franquiaeducacional.com/negocios-inovadores-facebook-elege-supera-case-mundial-de-educacao",
          "publisher": {
            "@type": "Organization",
            "name": "Franquia Educacional"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://acontecendoaqui.com.br/marketing/resultados-digitais-divulga-vencedores-do-premio-agencias-de-resultados-2015-durante-o-rd",
          "publisher": {
            "@type": "Organization",
            "name": "Acontecendo Aqui"
          }
        }
      ],
      "worksFor": {
        "@type": "Organization",
        "@id": "https://full.services/#org"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#howto",
      "isPartOf": {
        "@id": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/#article"
      },
      "name": "Passo a passo: criar visibilidade dinamica com jetengine e elementor",
      "description": "Guia passo a passo sobre criar visibilidade dinamica com jetengine e elementor para WordPress.",
      "url": "https://full.services/criar-visibilidade-dinamica-com-jetengine-e-elementor/",
      "totalTime": "PT30M",
      "author": {
        "@type": "Organization",
        "@id": "https://full.services/#org"
      },
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Passo 1: Ative o módulo dynamic visibility no JetEngine",
          "text": "No painel do JetEngine, abra a aba de módulos e ative o Dynamic Visibility, porque é ele que adiciona a opção de condição às configurações de cada widget e seção do Elementor. Sem o módulo ligado, os blocos não têm onde receber a regra, conforme a <a href="https://wordpress.org/plugins/">referência dos plugins do WordPress</a>. Salve a ativação e recarregue o editor do Elementor para a nova aba aparecer. Esse passo é a chave que destrava todo o resto: a partir dele, qualquer bloco da página pode ganhar uma condição de exibição. Confirme que a aba de visibilidade surgiu antes de seguir, porque sem ela os próximos passos não têm onde ser configurados."
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Passo 2: Escolha o bloco a controlar no Elementor",
          "text": "No editor do Elementor, selecione o widget ou a seção que deve aparecer ou sumir conforme a condição, porque é nesse bloco que a regra de visibilidade vai morar. Decida com clareza o alvo, um botão só para logados, uma seção só para administradores ou um aviso por campo meta, antes de abrir a aba de visibilidade. Mantenha o bloco bem delimitado, já que controlar uma seção inteira é diferente de controlar um único widget dentro dela. Selecione o elemento e abra a aba de Dynamic Visibility nas configurações avançadas. A escolha do alvo certo evita esconder mais ou menos do que você pretendia na página."
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Passo 3: Defina a condição de visibilidade",
          "text": "Na aba de Dynamic Visibility do bloco, crie a condição que decide a exibição, escolhendo o tipo de regra, papel do usuário, estado de login, valor de campo meta ou data, porque é essa condição que o JetEngine vai avaliar a cada carregamento. Configure o campo e o valor que a regra compara, como papel igual a administrador ou campo meta com determinado conteúdo. Quanto mais específica a condição, mais previsível o resultado. Se a regra depende de um campo, confirme que ele existe e está preenchido. Salve a condição no bloco, deixando claro qual critério dispara a exibição ou a ocultação no passo seguinte."
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Passo 4: Marque se a regra mostra ou esconde",
          "text": "Defina a ação da condição, escolhendo entre mostrar o bloco quando a regra é verdadeira ou esconder o bloco nesse caso, porque é esse ajuste que o pessoal esquece e que inverte todo o resultado. A mesma condição produz efeitos opostos conforme essa escolha, então leia a frase completa, mostrar se logado é diferente de esconder se logado. Marque a ação que corresponde ao que você quer e salve. Esse é o passo mais sujeito a engano da configuração inteira, então confira a lógica em voz alta antes de publicar. Uma ação invertida expõe justamente o bloco que deveria ficar oculto, então revise com atenção."
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Passo 5: Teste cada cenário de usuário",
          "text": "Abra a página com usuários diferentes, um logado, um deslogado e um de cada papel previsto, e confirme que cada um vê exatamente os blocos certos, porque só o teste real prova que a condição e a ação combinam. Use uma janela anônima para simular o visitante deslogado e alterne entre contas para os papéis. Verifique também no celular, já que a regra vale em qualquer tela. Se o JetEngine não conecta com o Elementor e a aba de visibilidade some, veja como corrigir o <a href="https://full.services/wp-fixer/corrigir-conexao-jetengine-elementor/">erro de conexão entre JetEngine e Elementor</a> antes de aplicar as regras ao site inteiro. <p class="wp-caption-text">Legenda: cada passo fecha uma decisão, da condição ao teste por cenário de usuário.</p> Os três erros mais comuns ao configurar a visibilidade dinâmica são inverter a ação de mostrar ou esconder, comparar o campo errado na condição e esquecer de testar o cenário deslogado. O primeiro é o mais frequente: a condição está certa, mas a ação invertida faz o bloco aparecer justamente para quem não deveria vê-lo, o que pode expor conteúdo restrito. O segundo erro é apontar a condição para um campo meta errado ou vazio, o que faz a"
        }
      ]
    }
  ]
}
```
