Seções iMasters
PHP + WordPress

14 funções PHP do WordPress que você provavelmente não conhece!

O WordPress oferece cada vez mais uma enorme versatilidade do ponto de vista das funções PHP, permitindo aos desenvolvedores e aos curiosos usarem essas mesmas funções para chamar determinados elementos ou funcionalidades do WordPress, sem que tenham de usar plugins. Infelizmente, a grande maioria dos templates wordpress não oferece grande versatilidade em nível de funções, e você poderá achar interessante incluir algumas dessas funcionalidades em seu template. Um obrigado especial ao amigo Kriesi pelas dicas e pela inspiração nessas 14 funcionalidades PHP que o WordPress oferece em seu core.

API Transitória do WordPress

1 set_transient(), get_transient(), delete_transient()

Esta é uma função muito similar às funções get_options() e update_options() que ajuda a armazenar e a puxar informação de forma fácil na sua tabela de opções do seu banco de dados. A grande diferença aqui é que você pode passar um parâmetro de tempo que atua como uma data de expiração para essa entrada de seu banco de dados.

Assim que o tempo expirar, a informação é removida de seu banco de dados. Essa função é especialmente útil se você pretende colocar informação em cache ou apresentar resultados por um tempo determinado. Um bom exemplo seria um widget do Twitter que apresentasse informação a partir da API do Twitter, mas dado que o microblog se encontra offline muitas vezes, seria interessante armazenar essa mesma informação em seu banco de dados por alguns minutos. Isso torna também seu site mais rápido, pois a informação está em cache, e sempre que alguém fizer um pedido de leitura de uma página de seu site, você não necessita se ligar na API do Twitter para mostrar essas informações.

Essa função trabalha de forma muito simples. A função set_transient aceita 3 parâmetros:

1 set_transient($transient, $value, $expiration);

portanto, guardar uma informação em seu banco de dados por 1 hora seria algo do gênero:

1 set_transient('the_name', $special_query_results, 60*60);

buscando o valor desta forma:

1 $value = get_transient('the_name');

WordPress Cron Jobs

1 wp_schedule_event(time(), 'hourly', 'my_schedule_hook');

Especifique uma ação que será efetuda pelo core de ações do WordPress num intervalo específico, especificado por si. A ação será acionada quando alguém visitar o seu site WordPress, se o tempo definido já tiver passado.

Portanto, se você pretende rodar um determinado código, como por exemplo verificar seus RSS Feeds, efetuar um backup de seu banco de dados ou efetuar um reset em seu banco de dados, esta função permite-lhe fazer isso automaticamente. Infelizmente, ela função não é muito simples de utilizar.

WordPress HTTP API

1 wp_remote_get( $url, $args = array() );

Uma função muito simples se você quiser apresentar os conteúdos de uma determinada página de internet. A função armazena os dados e permite-lhe mostrá-los de uma forma muito simples. Ela também permite puxar conteúdos de RSS Feeds e é essencial para quem desejar criar um plugin do Twitter ou um leitor de RSS para WordPress.

Puxar um RSS de forma simples com WordPress

1 $feed = fetch_feed( $uri );

A função fetch_feed é outro método simples do WordPress para puxar conteúdo de RSS Feeds. Ela oferece ainda o benefício de usar as funcionalidades SimplePie e FeedCache, que permitem puxar RSS Feeds parcialmente e ainda colocá-los em cache.

Função WordPress Mail

1 wp_mail()
2 wp_mail( $to, $subject, $message, $headers, $attachments );
1 Exemplo:
2
3 $to = 'geral@escolawp.com';
4 $subject = 'Olá Paulo!';
5 $message = 'Esta mensagem foi enviada pelo WordPress'
6
7 $mail = wp_mail($to, $subject, $message);
8
9 if($mail) echo 'Email enviado';

Uma funcionalidade excepcional que lhe permite enviar e-mails, cabeçalhos e anexos, além do envio de textos simples ou de mensagens HTML, entre outras opções.

Hora humana no WordPress

1 human_time_diff( $from, $to )

Uma função que permite mostrar as horas como no Twitter. Em vez de mostrar a hora típica, você poderá mostrar algo do tipo:

Paulo postou há 13 horas

Puxar comentários no WordPress

1 get_comments()

Por vezes, é necessário puxar os comentários fora do ciclo de comentários. Esta função permite fazer isso de forma muito fácil e intuitiva.

Validação de strings no WordPress

1 wp_kses($string, $allowed_html, $allowed_protocols);

A função wp_kses é uma função muito útil quando você pretende validar dados de entrada dos usuários. Esta função apenas permite a introdução de nomes de elementos HTML, nomes de atributos e de valores de atributos, além de entidades HTML que irão passar na $string.

Transformação de texto no WordPress

1 wptexturize()

Uma função de transformação de texto que converte strings comuns em sinais tipográficos corretos. Usada para traços e travessões, elipses etc e irá adicionar também citações tipográficas a determinadas frases.

WordPress Shortcode API

1 add_shortcode(), do_shortcode()

A função add_shortcode() é uma excelente forma de criar macros para o conteúdo de suas postagens. Por exemplo, imaginemos que você pretende envolver algum conteúdo no interior da área de postagem com uma div que contém classes e ids adicionais que lhe permitem criar múltiplas colunas. Você pode mudar para o visual HTML e adicionar:

1 <div class='one_third'>Conteúdo aqui</div>

Uma forma mais fácil, principalmente se você não sabe muito de HTML, é adicionar um shortcode no seu arquivo functions.php:

1 function column_shortcode( $atts, $content = null ) {
2    return '<div class='one_third>' . $content . '</div>';
3 }
4
5 add_shortcode('one_third_column', 'column_shortcode');

Depois, pode usar esse mesmo shortcode no seu conteúdo:

1 [one_third_column]Conteúdo aqui[/one_third_column]

Criar uma postagem com uma função PHP

1 wp_insert_post()

Esta função insere páginas de postagens e custom post types no seu banco de dados. Ela verifica as variáveis, preenche as variáveis que estão faltando, como por exemplo data/hora etc. Ela função é muito útil quando você pretende criar um sistema de submissão de postagens para seus usuários. Muito útil se você usar um front-end com formulário para seus usuários submeterem recomendação de postagens, por exemplo.

Criar comentários com uma função PHP

1 wp_insert_comment()

Muito similar à função anterior wp_insert_posts, mas, neste caso, para introdução de comentários.

Cache de objetos

1 wp_cache_add(),  wp_cache_set(),  wp_cache_get(),  wp_cache_delete, wp_cache_replace(), wp_cache_flush

WP_Object_Cache é uma classe do WordPress para realizar cache de informação que seja difícil de regenerar e/ou consuma muitos recursos computacionais, como por exemplo o resultado de queries complexas em banco de dados. Se você se preocupa com a performance de seu template e de seus plugins, você certamente deveria usar essa funcionalidade.

Matar a execução do WordPress

1 wp_die()

A função wp_die mata a execução do WordPress e mostra uma mensagem HTML com um erro.

A diferença desta função para a função die() do PHP é que ela mostra HTML ao usuário. É recomendável usar essa função apenas quando a execução não deverá continuar mais. Atenção a isso.

Até Já!   

Mensagem do anunciante:

Em apoio à evangelização do WordPress, os cursos da Apiki são gratuitos para que você possa se especializar na plataforma que mais cresce no mundo. Vagas limitadas, Inscreva-se agora.

Qual a sua opinião?