Pare de quebrar seus temas WordPress, use a função "Function Exists" !

Para blogueiros, donos de sites feitos em WordPress e seus visitantes, nada é mais desanimador do que visitar seu site e se deparar com uma página em branco com uma linha de erro ao chamar uma função PHP que o WordPress não reconhece. Esse erro pode ser criado por muitas situações diferentes, como uma chamada a um plugin, mas o resultado final ainda quebra um site WordPress até você corrigir o problema.

Infelizmente, muitos desenvolvedores na hora em que fazem um trabalho para um cliente pensam que apenas eles irão mexer no código do site, sem lembrar que futuramente eles podem deixar de atender tal cliente. E o que muitos fazem? Criam sites em WordPress orientados a gambiarras e totalmente dependentes de plugins para funcionarem, mas nem sempre passam as instruções corretas, nem sempre criam uma simples documentação para que quem passe por algum problema saiba se virar sozinho (ou o novo desenvolvedor contratado, etc) e saiba exatamente quais plugins deve ativar (ou instalar novamente) para o site voltar a funcionar corretamente. Que fique bem claro: YOU ARE DOING IT WRONG ! Traduzindo, você está fazendo errado, todo desenvolvedor deve prezar por qualidade de software e lembrar que manutenibilidade é um item importante.

Para evitar tal erro bobo, existe uma excelente função no PHP, a function_exists e seu uso é muito simples. Ao usar este código, quando você chamar um plugin no WordPress, você cria um método infalível de preservar o seu blog e se precaver de um problema tão primário.

Este código (literalmente) verifica se a função que você chamou existe mesmo na biblioteca do WordPress. Se ele não existir, ele não vai quebrar seu blog dizendo que a página fez uma chamada de função que não foi encontrada. Se a função existir ela será chamada, se não existir será omitida.

Vamos a um exemplo:

Digamos que você instalou um plugin e no uso dele no seu trabalho você precisa fazer a chamada da função manualmente, chamando a função exibir_breadcrumbs();

<?php exibir_breadcrumbs(); ?>

Tal chamada só funcionará se a função existir, se não existir, ERRO !

Para evitar que tal erro seja exibido, vejamos como seria o uso correto da função function_exists para evitar tais problemas:

<?php

if (function_exists('exibir_breadcrumbs'))

{exibir_breadcrumbs();}

?>

Simples não?

Conclusão

Se você leva a sério desenvolvimento e deseja prover um serviço de maior qualidade, dar margem a seu site exibir códigos de erro não irá ajudá-lo em nada, isso só irá jogar contra você!

Use o if (function_exists) ao adicionar plugins e chamadas de funções colocadas no functions.php de seu tema WordPress e evite erros primários… Seu cliente agradece.. e seu trabalho e tempo também!

Posts Similares

  • Evitando SPAM nos comentários de seu blog WordPress usando Captcha

    Evitando SPAM nos comentários de seu blog WordPress usando Captcha

    Receber spam nos Comentários de um site WordPress podem virar algo que te dá muito trabalho se você não aprender a se previnir contra eles. Ao invés de desativar os comentários, você pode adicionar o reCAPTCHA ao formulário de comentários para eliminar (ou ao menos diminuir drasticamente) os spams em seu site. Ativando o Akismet…

  • Como colocar Gravatar nos comentários do WordPress 2.7

    Como vi que algumas pessoas tem chegado ao blog através de buscas, tentando descobrir como adicionar as imagens de Gravatar ao seu blog WordPress, resolvi escrever esta dica. Pra começo de conversa, o Gravatar só irá aparecer em seu site se este estiver corretamente configurado para isso. Para tal, vá em wp-admin -> Configurações ->…

  • Opa, novo post para revisão!

    Acho que o WordPress já deveria vir com essa funcionalidade por padrão, mas não vem =\ Quando uma pessoa não tem permissão de publicar um post diretamente em um site/blog com WordPress, esse post precisa ir para revisão. Mas o administrador, ou a pessoa que deve aprovar o post não tem ideia que existe um…

  • Exibindo as últimas postagens de outro blog WordPress

    Para exibir as últimas postagens de outro site WordPress, você deve adicionar o código abaixo no local desejado. Você pode adicionar no sidebar.php para exibir em sua barra lateral. <?php include_once(ABSPATH.WPINC.’/rss.php’); $feed = fetch_rss(‘https://feeds.feedburner.com/tudoparawordpress’); $items = array_slice($feed->items, 0, 5); ?> <?php if (!empty($items)) : ?> <ul> <?php foreach ($items as $item) : ?> <li> <a…

  • Adicionando categorias, tags e taxonomias customizadas nas Mídias do WordPress

    Você já se sentiu frustrado pelo fato do WordPress não permitir que você especifique uma categoria ou uma tag nas imagens ou arquivos de mídia? Pois é, eu já, pois tive tal necessidade em um projeto, e me coloquei a pesquisas como resolver isso. Imagine como isso poder ser útil: criar uma galeria dinâmica de…

  • Funções de usuários e Capacidades no WordPress – Parte 3: Um exemplo prático

    Este artigo é a parte 3 de 3 da série Funções de usuários e Capacidades do WordPress Funções de usuários e Capacidades do WordPress – Parte 1: O básico Funções de usuários e Capacidades no WordPress – Parte 2: Funções interessantes Funções de usuários e Capacidades no WordPress – Parte 3: Um exemplo prático Esta…

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

6 Comentários

  1. Isso é válido tanto para funções definidas em plugins, quanto tambem para funções que podem não estar disponíveis dependendo da versão do PHP.
    Por exemplo, chamadas a funções de manipulação de imagem (biblioteca GD), chamadas de URL externas (usando cURL), entre outras, podem não estar disponíveis, por isso é sempre boa prática checar com function_exists() antes.

    1. Perfeito Bruno,
      escrevi este post ontem a noite mais como desabafo por algumas situações que já passei e elas foram sempre ligadas a funções do próprio WordPress.
      Foi muito bom você fazer este adendo, muito obrigado 🙂

  2. Show de bola, isso é algo, simples, mais muito importante e é de coisas simples que normalmente nos esquecemos. mas são eles que fazem a Diferença!!!
    Valeu Guga!!!

  3. Estou começando a trabalhar com WordPress e já tenho me deparado com chamadas de funções escritas assim só que aínda não tinha percebido a sua importância. Valeu pela dica