7 Mar 2009, 7:24am
by Sordello

2 comentários

Página de Wordpress redireciona para link externo com Campos personalizados (Custom fields)

No último post expliquei como fazer um Menu CMS no Wordpress, e surgiu a dúvida de uma leitora, a Patris, que queria neste menu apontar links para páginas externas do Wordpress. Pensei que uma função como essa pudesse ser útil, também, para abrir páginas do próprio Wordpress que não fossem uma “page”. Como por exemplo, usar os posts do Wordpress como seção de “Notícias” e haver um link para ela no menu CMS.

Vale notar que este post também permitirá criar redirecionamentos em qualquer página Wordpress.

Para isso, precisaremos criar uma página do Wordpress que se comporte como “redirecionadora” (não conheço nenhuma opção de fazer isso de modo que se exiba o link final; exceto com blogroll, mas esta pode não ser muito útil na maioria dos layouts). Ou seja, o Wordpress entenderá que no menu CMS está realmente uma página, mas na prática se carregará um outro destino. Utilizemos, então, a função de template de página do Wordpress. Utilize o código abaixo, salvando-o dentro da página de seu tema em um arquivo chamado menu-link.php (ou um nome de sua preferência).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
/*
Template Name: Menu CMS - link
*/
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?
global $post;
$menulink =   get_post_meta($post->ID, menulink, true);
?>
<script type="text/javascript">
<!--
window.location = "<? echo $menulink; ?>"
//-->
</script>
<?php endwhile; ?>
<?php endif; ?>

Opcionalmente, você pode baixar o seguinte arquivo e salvá-lo na pasta de seu tema do Wordpress, o que é mais prático:

  Hack Link Menu CMS (333 bytes, 207 hits)

A função básica do código é a de usar um campo personalizado do Wordpress, que será a URL de destino, e um Javascript que redirecione para o destino desejado.

menu_cms_link_custom_field

Após adicionar o arquivo menu-link.php à pasta de seu tema, crie uma página e escolha o template “Menu CMS – link”. Na opção de Custom fields (ou, “Campos personalizados, na versão em português,) adicione um campo com o Name/nome “menulink” (sem aspas) e no Value/valor utilize a URL para a qual você quer que a página seja redirecionada, como na imagem acima. Agora, basta ordernar no menu CMS com o plugin Pagemash.

Tags:

Comentários sobre "Página de Wordpress redireciona para link externo com Campos personalizados (Custom fields)"

Sordello,

Ótima a solução para abrir um link externo!
Mas aqui preciso de algo contrário: preciso que o item de menu dê apenas um reload na página.
Como posso customizar o código para fazer isso?
Tentei inserir o valor “#” em Value, mas não funcionou.

Grato!

Gran post!

*nome

*e-mail

web site

comente


Powered by WP Hashcash