Several WordPress plugins ask you to add certain code to the WordPress theme template files to make them work. Vários WordPress plugins pedir que você adicione o código a certas WordPress tema modelo arquivos para fazê-los trabalhar. If you are not a PHP developer or you don’t have time to code review the plugin and you decide to activate the plugin then the plugin can very easily cause your site to crash or worse. Se você não for um desenvolvedor PHP ou você não tem tempo para revisar o código plugin e você decidir para activar o plugin então o plugin pode muito facilmente causar a queda do seu site ou pior. Often the errors are hard to detect (sporadic, happening only in certain conditions) and even harder to debug as you are not familiar with the code. Muitas vezes os erros são difíceis de detectar (esporádico, acontecendo apenas em determinadas condições) e ainda mais difícil para depurar as que você não está familiarizado com o código. Today we will talk about a simple step you can take to make your site robust against untested and buggy plugins. Hoje vamos falar sobre um simples passo que você pode tomar para fazer o seu site robusta e não testado contra buggy plugins.

Normally most of the time you are asked to include a code block similar to this: Normalmente a maior parte do tempo você está convidado a incluir um bloco de código semelhante a este:

The func_name obviously represents a function which the plugin author wants you to include; the arguments are as required for that function. O func_name representa claramente uma função que o plugin que você deseja para incluir autores, os argumentos são os exigidos para essa função.

This can create two major issues. Isto pode criar duas grandes questões.
Firstly if at any time you decide to disable the plugin then you will have to first remove the code from all your template files before you can safely de-activate / remove the plugin. Em primeiro lugar, a qualquer momento, se você decidir desativar o plugin então você terá que primeiro remover o código de todos os arquivos antes de seu modelo de segurança-você pode ativar / remover o plugin. Otherwise the pages in the site will fail to load properly. Caso contrário, as páginas do site irá falhar a carga corretamente.

Secondly the plugin itself may fail in certain conditions or always. Segundo o próprio plugin pode falhar em certas condições ou sempre. In the worst case you will find certain pages on your site fails to load sometimes. No pior caso você irá encontrar algumas páginas em seu site, por vezes falha ao carregar. It could be long before you are aware of the problem. Poderia ser muito antes que você está consciente do problema.

We will look at two small changes you can make to the code template above to take care of both of the problems described above. Vamos olhar para duas pequenas alterações que você pode fazer para o modelo de código acima, para cuidar de ambos dos problemas descritos acima. First the modified code: Primeiro o código modificado:

if(function_exists(’ func_name ‘) @ func_name( arg1,arg2 …); ?> if (function_exists ( 'func_name') @ func_name (arg1, arg2…);?>
Remember to replace func_name with the actual name of the function. Lembre-se de substituir func_name com o próprio nome da função.

Testing the existence of the function ensures that the code isn’t executed when the plugin is inactive / disabled. Testando a existência da função garante que o código não é executado quando o plugin está inactivo / desativado. This prevents the first problem. Isso evita que o primeiro problema.

Appending an @ before the function name ensures that errors, if any, while executing the function are ignored and do not cause further problems down the road and do not prevent the overall page from displaying. Anexando uma @ antes de o nome da função garante que os erros, se for o caso, ao mesmo tempo que executa a função são ignorados e não causam mais problemas com o passar do tempo e não impedir a exibição de página global.

This fix works against all versions of WordPress and also in any other templating system which uses php code. Essa solução funciona contra todas as versões do WordPress, e também em qualquer outro sistema templating que utiliza código PHP.

Carefully make the changes following the template above to make your site more robust against WordPress plugins. Cuidadosamente faça as alterações na sequência do referido modelo para tornar o site mais vigorosa contra WordPress plugins.