Ultimamente tenho feito muitos trabalhos(sites) utilizando o WordPress. E na maioria deles, sempre que utilizo a WP_Query ou até quero programar em PHP mesmo, preciso criar ou utilizar uma função no functions.php.
Mas o que percebi, é que sempre utilizo 3 funções. E resolvi compartilhar, pois se servem pra mim, podem servir para vocês que também trabalham com WordPress.
As funções servem para habilitar o menu do WordPress, retornar o id pelo permalink(post_name) e utilizar variáveis $_GET com WordPress
Habilitar Administração de Menus pelo Admin do WordPress no functions.php
Quase todos os sites que eu faço, eu habilito os Menus do próprio WordPress. Assim os redatores podem alterar os Menus e seus links
add_theme_support('menus'); //Basta inserir esse código no functions.php que já vai aparecer a opção Menu no Admin
Como retornar o id de um post pelo permalink(slug)?
Na minha opinião, essa função já devia ser nativa do WordPress, mas enquanto não sai, usem essa aí:
function get_id_by_post_name($post_name)
{
global $wpdb;
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$post_name."'");
return $id;
}
Para saber mais sobre os Menus Personalizados do WordPress, acesse a documentação do wp_nav_menu()
Como utilizar variáveis $_GET no WordPress?
O WordPress não deixa trabalharmos com variáveis GET por padrão, mas basta adicionar um filtro na função query_vars com o nome da sua variável e você vai conseguir:
add_filter('query_vars', 'customquery_vars' );
function customquery_vars( $qvars )
{
$qvars[] = 'variavel'; //Exemplo: http://url.com.br/?variavel=
return $qvars;
}
Para utilizar no php, utilize conforme o exemplo abaixo:
global $wp_query; echo $wp_query->query_vars['variavel'];
Se você também costuma utilizar algumas funções no WordPress e o seu functions.php sempre inicia do mesmo jeito, comenta aí que eu atualizo aqui!
Artigos Relacionados:
Oi Leo,
Sou novato em programação em PHP e WordPress.
Há dias busco solução para pegar uma variável da URL e mostrá-la no WORDPRESS…
Sei que tenho que usar $_GET…, mas o WP não está aceitando as orientações em PHP…
Como faço para editar o functions.php e colocar a instrução que você passou a cima?
Desculpe a minha ignorância, mas serei grato se puder me ajudar neste impasse que estou ha dias.
Vlw
Eduardo, você pode baixar o arquivo functions.php e colocar este script embaixo de tudo.
Só certifique-se que o código esteja entre a tag do PHP.
Ex: <?php //código aqui ; ?>Eduardo, para utilizar o $_GET você precisa programar num arquivo de template do tipo php. Utilizando o editor do WordPress você não terá muito sucesso.
Lembrando que essas dicas são de nível intermediário para avançado em programação.
e ai Leo?!
o WordPress também permite ao desenvolvedor, debugar a aplicação. E para utilizar a feature mais facilmente,
comento a linha 81 do wp-config e logo em seguida acresento o codigo seguinte:
if($_GET['debug']=='on'):
try{define('WP_DEBUG', true);}
catch(Exception $e){define('WP_DEBUG', false);}
endif;
ficando desta forma:
//define('WP_DEBUG', false);
if($_GET['debug']=='on'):
try{define('WP_DEBUG', true);}
catch(Exception $e){define('WP_DEBUG', false);}
endif;
Sempre que preciso verificar algo, apenas acrescento "?debug=on" à URL