Algum tempo atrás escrevi aqui no blog sobre o que são e como criar shortcodes para o WordPress, uma funcionalidade muito interessante se quiser saber o que são os shortcodes clique aqui para ler o artigo.
No artigo anterior dei alguns exemplos simples do uso do shortcodes, e agora decidi fazer outros shortcodes com funcionalidades mais úteis para usarmos com o WordPress. Este novo que criei tem a função de exibir o mapa de um endereço usando o Google Maps. É uma funcionalidade bastante útil para exibir maps em posts ou pages no WordPress sem que você precise ir no site do Google Maps gerar o mapa depois copiar o código embed voltar no post e colar o código.
Abaixo segue o snipped code para ser inserido no arquivo functions.php do seu tema.
<?php function google_maps($atts){
extract( shortcode_atts( array(
'endereco' => '',
'largura' => '',
'altura' => ''
), $atts ) );
return '<iframe width="'.$largura.'" height="'.$altura.'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&source=s_q&q='.$endereco.'&output=embed"></iframe>';
}
add_shortcode("map","google_maps");
?>
Com o código acima no seu arquivo functions.php basta utilizar o shortcode abaixo nos seus posts ou pages para exibir o mapa do endereço.
[map endereco="endereco do local" largura="600" altura="300"]
8 Comments
ola como ponho o codigo em um blogo do wordpress.com?
Acredito que só é possível se você estiver no plano pago do WordPress.com.
Olá Mateus!
Parabens pelos artigos e pela palestra na quinta digital, estive conversando com você lá sobre participar do proximo workshop.
No entando gostaria de uma ajuda sua no seguinte:
Implementei a sua solução em um tema que estou desenvolvendo e funcionou perfeitamente, no entanto, eu gostaria de pegar o endereço diretamente de um campo personalizado, e chamar o mapa em todas as paginas do content post tipe.
Você pode me dar uma solução nesse caso.
Obrigado!
Mateus,
Consegui fazer o mapa pegando o valor do custom post type.
Usei o seguinte:
2
<?php echo do_shortcode('[map endereco="' . $value . '" largura="600" altura="300"]' ); ?>
Bacana, ótima forma de uso.
Muito obrigada =) muito útil!
Ótimo post, muito útil ….
Parabéns!
Parabéns pelo POST!
Eu uso um plugin para fazer esse tipo de coisa e tenho tido problemas na hora de clicar nos links (ex.: rotas), eles abrem o google maps no lugar do site do cliente. Teria como personalizar o target para _blank ??
Grande abraço!
One Trackback
[...] Clique aqui para ver o artigo original [...]