Recently the question (How to add add custom functions to a theme) was posed in Recentemente, a questão (Como adicionar adicionar as funções de um tema) foi colocada em WordPress Support Forum WordPress Support Forum . Personally I faced the same question when re-designing Pessoalmente, enfrentaram a mesma pergunta quando re-projetar this site este site . The following is a discussion of the option with the pros and cons. O que se segue é uma discussão da opção com os prós e os contras.

There are two solutions. Há duas soluções.
The first is to create a plugin which goes with the theme. A primeira é a de criar um plugin que se passa com o tema. However the theme, when invoking functions defined in the plugin should check first for the availability of the function. No entanto, o tema, quando invoca funções definidas no primeiro lugar para o plugin deverá verificar a disponibilidade da função. It should also provide a fallback option if the plugin is not available or has not been activated. Também deveria fornecer um fallback opção se o plugin não está disponível ou não foi ativada.

 if(function_exists('your_function_name')) {     // Invoke your function: your_function_name()... if (function_exists ( 'your_function_name')) (/ / Convoque sua função: your_function_name ()... else {     // Execute fallback option } senão (/ / Executa fallback opção) 

The advantages are: As vantagens são:

  • The plugin can be independently managed. O plugin pode ser gerido autonomamente.
  • The plugin can be reused for other purposes. O plugin pode ser reutilizado para outros fins.

The disadvantages are: As desvantagens são:

  • It requires another additional step for the theme user to remember. Ela exige um outro passo adicional para o usuário tema de lembrar.
  • It slightly complicates development and testing. É um pouco complica desenvolvimento e teste.

The second solution to this problem would be to incorporate the functionaility in a php file (as usual) which resides in the theme directory. A segunda solução para este problema seria a incorporar as functionaility php em um arquivo (como habitualmente), que reside no diretório do tema. This file is included in header.php like: Esse arquivo está incluído no header.php como:
include (’your_php_file.php’); incluir ( 'your_php_file.php');

Yes you may also require it for simplicity like: Sim você pode também exigir que a simplicidade como:
require (’your_php_file.php’); exigir ( 'your_php_file.php');

The advantage to this approach is simplicity of usage and deployment by end-users. A vantagem desta abordagem é a simplicidade de uso e implantação pelos utilizadores finais. It also simplifies development. Ele também simplifica desenvolvimento.

If the user later decides to switch to a different theme and yet wants to retain the functionality, he would have to re-purpose the custom code into a plugin. Se o usuário decide depois de mudar para um tema diferente e ainda quiser manter a funcionalidade, ele teria de voltar a finalidade do código personalizado em um plugin.

In essence the reusability of the custom functionality determines the ideal location of the custom code. Na sua essência a reusabilidade do costume funcionalidade determina a localização ideal do código personalizado.