Fundo escuro com bloco de código flutuante, logo do WordPress, selo ACF e ícone de multisite, destacando o título 'WordPress".

Sumário

Criando shortcodes personalizados no WordPress: do básico ao avançado.

🔧 Criando um shortcode básico no WordPress

Um shortcode no WordPress nada mais é do que uma função PHP registrada com add_shortcode(), que pode ser usada dentro de páginas, posts ou até widgets. Vamos criar um exemplo simples que exibe uma mensagem:

				
					// No functions.php ou em um plugin
function infotechjs_mensagem_simples() {
    return '<p>Olá, este é meu primeiro shortcode!</p>';
}
add_shortcode('mensagem_simples', 'infotechjs_mensagem_simples');
				
			

Agora, basta usar [mensagem_simples] no conteúdo de uma página e pronto!

🧩 Shortcode com conteúdo dinâmico via ACF

Vamos dar um passo além. Imagine que você tem um campo personalizado chamado mensagem_boas_vindas criado com o ACF.

				
					function infotechjs_mensagem_dinamica() {
    $mensagem = get_field('mensagem_boas_vindas', 'option'); // ou outro post ID
    if ( $mensagem ) {
        return '<p>' . esc_html($mensagem) . '</p>';
    }
    return '';
}
add_shortcode('mensagem_dinamica', 'infotechjs_mensagem_dinamica');
				
			

Esse shortcode [mensagem_dinamica] vai puxar o conteúdo dinâmico do ACF, e já com esc_html() para manter a segurança.

Na próxima seção: 🔁 Vamos evoluir para buscar conteúdo de outro site na rede Multisite usando switch_to_blog().

🌐 Shortcode que acessa conteúdo de outro site no Multisite

Imagine que você tem um campo personalizado no site principal (ID 1) com banners ou dados compartilhados. Podemos criar um shortcode para buscá-lo, mesmo que ele seja usado em outro site da rede.

💻 Exemplo prático:

				
					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 o shortcode [banner_global] onde quiser exibir o conteúdo do site principal.


🧠 Dica de performance

Evite usar switch_to_blog() dentro de loops grandes. Se você tiver que exibir vários conteúdos de outros sites, prefira agrupar os dados em cache com transient ou APIs personalizadas.

💡 assuntos relacionados:

Widgets de blocos atômicos do Elementor V4

Novos widgets de blocos aômicos do elementor V4

🚀 NOVIDADE NO ELEMENTOR V4!

Os novos Widgets de Blocos Atômicos chegaram e
estão deixando os sites 3X MAIS RÁPIDOS! ⚡

✅ Código mais limpo
✅ Melhor performance
✅ Sites mais leves
✅ Google ama!

Já atualizou? Conta aqui nos comentários! 👇

#Elementor #WordPress #WebDesign #InfotechJS

Leia mais »

Deixe um comentário

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