Como usar esse shortcode dentro do Elementor com widgets de shortcode

Tela de computador mostrando WordPress, Elementor e código PHP para banner global em multisite.

🧩 Shortcodes personalizados no WordPress Multisite

Os shortcodes são uma das formas mais práticas de criar recursos dinâmicos no WordPress. Além disso, se você trabalha com instalações Multisite, dá para usá-los para compartilhar conteúdo entre os sites da rede — banners, posts ou campos do ACF.

Neste texto mostro como criar um shortcode que busca conteúdo de outro site da rede com switch_to_blog() e, em seguida, como usar esse shortcode no Elementor sem plugin nenhum. Ou seja, o mesmo código serve para o editor de blocos e para o Elementor.

📦 Exemplo: banner global com ACF

				
					function infotechjs_banner_global_shortcode() {
    $output = '';

    // ID do site principal onde os dados estão salvos
    $blog_id_origem = 1;

    // Página ou post onde o conteúdo está
    $post_id = 7; // Substitua pelo ID real

    // Troca temporariamente para o site principal
    switch_to_blog($blog_id_origem);

    // Obtém os campos ACF
    $banner = get_field('banner_destacado', $post_id); // exemplo de campo

    // Retorna ao site atual
    restore_current_blog();

    // Monta o HTML
    if ( $banner ) {
        $output .= '<div class="banner-global">';
        $output .= '<img decoding="async" src="' . esc_url($banner['url']) . '" alt="' . esc_attr($banner['alt']) . '">';
        $output .= '</div>';
    }

    return $output;
}
add_shortcode('banner_global', 'infotechjs_banner_global_shortcode');

				
			

💡 Use [banner_global] em qualquer lugar do site — inclusive em outro site da rede.

De fato, é aí que o shortcode ganha valor: você mantém o banner num lugar só, no site principal, e todos os outros consomem a mesma fonte. Portanto, quando o banner muda, muda em todos de uma vez.

🎨 Como usar esse shortcode no Elementor

O Elementor tem um widget próprio para isso, e o caminho é curto:

  • Edite a página com o Elementor;
  • Arraste o widget Shortcode para onde quiser exibir o conteúdo;
  • Digite no campo:
				
					[banner_global]

				
			

Salve e visualize no front-end. Em seguida, confira se o conteúdo do outro site aparece — se vier vazio, o problema quase sempre é o ID do site ou do post no código, não o Elementor.

Vale notar uma diferença: o widget Shortcode não renderiza no editor visual, só no front. Por isso, não estranhe ver o código cru enquanto edita.

🧠 Dica de performance

Evite fazer isso em grande escala dentro de loops, pois cada switch_to_blog() tem um custo. No entanto, para volume maior de dados compartilhados há dois caminhos melhores:

  • Guardar em cache com set_transient() ou wp_cache_set();
  • Ou criar uma REST API no site principal e consumir por lá.

Na prática, o cache resolve a maioria dos casos. Já a REST API compensa quando o dado precisa sair da rede — para um app ou um front headless, por exemplo.

✅ Conclusão

Em resumo, os shortcodes continuam sendo uma ferramenta direta no WordPress e, quando usados com responsabilidade, permitem integração mesmo em ambiente complexo como o Multisite. Portanto, comece pelo caso simples: um shortcode, um site de origem, cache ligado.

Em todo o caso, se o mesmo dado passar a ser consumido por vários sites e começar a pesar, o próximo passo é trocar o switch_to_blog() por uma REST API — e aí o custo deixa de crescer junto com a rede.

Do mesmo assunto

Capa: Página 78x mais leve, Elementor vs PHP puro

Elementor, Tutoriais

6 ago 2026

Página 78x mais leve: quando trocar o Elementor por PHP puro

Cloneei a home de um site em Elementor puro e
Capa: Camada anti-spam em formulários Elementor sem plugin pago

Elementor, Tutoriais

9 jul 2026

Camada anti-spam em formulários Elementor sem plugin pago

Como parei um flood de bot (650+ leads falsos num
Widgets de blocos atômicos do Elementor V4

Atualizações, Elementor, Tutoriais, Web Design, WordPress

7 fev 2026

Novos widgets de blocos atômicos do Elementor V4

🚀 NOVIDADE NO ELEMENTOR V4! Os novos Widgets de Blocos

Respostas de 2

Deixe um comentário

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