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

API TRANSITÓRIA DO WORDPRESS

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 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. Esta 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 Twitter 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 blog, você não necessita de estar tentando ligar-se na API do Twitter para mostrar essas informações.

Esta função trabalha de forma muito simples: a função set_transient aceita 3 parâmetros:

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

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

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

buscando o valor desta forma:

$value = get_transient('the_name');

WORDPRESS CRON JOBS

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

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

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

WORDPRESS HTTP API

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. Esta função permite-lhe puxar também conteúdos de RSS Feeds pelo que se torna essencial para quem desejar criar um plugin do twitter ou um leitor de RSS para WordPress.

PUXAR UM RSS DE FORMA SIMPLES COM WORDPRESS

$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 lhe permite puxar RSS Feeds parcialmente e ainda colocá-los em cache.

FUNÇÃO WORDPRESS MAIL

wp_mail()
wp_mail( $to, $subject, $message, $headers, $attachments );
Exemplo:

$to = 'geral@escolawp.com';
$subject = 'Olá Paulo!';
$message = 'Esta mensagem foi enviada pelo WordPress'

$mail = wp_mail($to, $subject, $message);

if($mail) echo 'Email enviado';

Uma funcionalidade excepcional que lhe permite enviar emails, cabeçalhos e anexos, permite-lhe o envio de textos simples ou mensagens HTML entre outras opções!

HORA HUMANA NO WORDPRESS

human_time_diff( $from, $to )

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

Paulo postou há 13 horas atrás

PUXAR COMENTÁRIOS NO WORDPRESS

get_comments()

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

VALIDAÇÃO DE STRINGS NO WORDPRESS

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 valores de atributos e ainda entidades HTML que irão passar na $string.

TRANSFORMAÇÃO DE TEXTO NO WORDPRESS

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

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:

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

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

function column_shortcode( $atts, $content = null ) {
   return '<div class='one_third>' . $content . '</div>';
}

add_shortcode('one_third_column', 'column_shortcode');

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

[one_third_column]Conteúdo aqui[/one_third_column]

CRIAR UMA POSTAGEM COM UMA FUNÇÃO PHP

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. Esta 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

wp_insert_comment()

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

CACHE DE OBJETOS

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 esta funcionalidade!

MATAR A EXECUÇÃO DO WORDPRESS

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 esta mostra HTML ao usuário. É recomendável usar esta função apenas quando a execução não deverá continuar mais. Atenção a isso.

Até Já!

Autor: Paulo Faustino

Blog do Autor | Artigos do Autor:

Fundador da Escola Dinheiro. É um empreendedor e blogueiro que dedica a sua vida à produção e partilha de conteúdos de grande qualidade, contando já com alguns dos mais reconhecidos blogs de Portugal e do Brasil.

Templates Wordpress que Recomendamos:

  • U-Design WordPress Theme
  • Tersus - Responsive WordPress Theme
  • Modernize - Flexibility of Wordpress
  • Good Space - Responsive Minimal WP Theme
  • Sterling - Responsive Wordpress Theme
  • Karma - Clean and Modern Wordpress Theme
  • Doover Premium WordPress Theme
  • MayaShop - A Flexible Responsive e-Commerce Theme
  • SmartStart WP - Responsive HTML5 Theme
  • Striking Premium Corporate & Portfolio WP Theme
  • Core Minimalist Photography Portfolio
  • King Size - fullscreen background WordPress theme

Gostou deste artigo? Então torne-se fã do Blog no Facebook!


JobRoller - Premium Job Board Theme

Comentários dos Alunos


  1. Alexsandro
    10.11.2010

    Valeu, eu não conhecia mesmo, agora vou aprender Obrigado.

    Responder


  2. Juv@ss
    14.11.2010

    Opa otimas funções a maioria eu realmente não conhecia, estou agora msmimplementando algumas em um tema novo que estou cirando.Parabenz ai Paulo.

    Responder


  3. Mecanica Automotiva
    14.11.2010

    otimas explicações e parabens pelo otimo projeto.

    Responder


  4. Tiago Celestino
    24.11.2010

    Os shortcode é uma coisa que achei super util. VOu tentar usar em um projeto

    Responder


  5. Toru
    07.12.2010

    Existe um código para se criar um blog “auto-atualizável”, ou seja um blog que se atualiza automaticamente a partir de feeds de outros blogs? sem a necessidade de um autor?
    pois já vi blogs que automaticamente possuem posts meus no mesmo instante que eu publico, sem eu ao menos conhecer a origem destes sites e já vi blogs com conteúdos aleatórios que pegam um assunto qualquer e linka matérias, fotos e videos sobre o assunto automaticamente, várias vezes ao dia.

    obrigado.

    Responder


  6. robert
    04.03.2011

    muito boas as dias ..
    mas existe uma função pra isso:

    No meu site, pode pesquisar por categoria .. ex:

    “digite a pesquisa” “selecione a categoria” “buscar”

    ai nos resultados da busca fica mais o menos assim (ex):
    sua busca por: Acachorro teve 20 resultados

    se voce nao selecionar nenhuma categoria, vai ficar certo :D

    mas se voce selecionar uma categoria .. (mais o menos assim)
    (“digite a pesquisa” “selecione a categoria” “buscar”)

    “cachorro” “animais” e clica em buscar..

    vai resultar nisso:

    sua busca por: cachorro teve 20 resultados

    o problema ta nisso:
    quando seleciona a categoria, os numeros de resultados teriam que ser referente a categoria selecionada, e nao o numero de resultados encontrado no site inteiro,

    ERRADO: sua busca por:
    sua busca por: cachorro teve 20 resultados (REFERENTES AO SITE INTEIRO)

    CERTO:
    sua busca por: cachorro teve 10 resultados (REFERENTE A CATEGORIA SELECIONADA)

    cara pesquisei a internet inteira, fiz a pergunte em um monte de lugar mas nao consegui achar a solução,
    se voce puder ajudar vo ficar muito agradecido!

    obrigado .

    Responder


  7. robert
    09.03.2011

Comente o Artigo!

RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
11485

Subscrever Newsletter
Subscreva a Newsletter:


Elegant Themes

Wix

Theme Forest

Mojo Themes



Assine a Escola Wordpress Assine a Newsletter da Escola Wordpress Escola Wordpress no Twitter Escola Wordpress no Facebook Escola Wordpress no Youtube Escola Wordpress no Google Buzz