Imagine dessa maneira! O tema define ESTRUTURA PRINCIPAL para todo o site! Tema é algo como estrutura para uma Postagem, uma Página ou um tipo de postagem personalizado, página personalizada, ..! Até agora, você sabe que o tema é realmente um código HTML! No final da introdução do Wordpress, ele retorna o código HTML para o navegador e a exibição do navegador para você! Esse HTML é construído com base no arquivo de tema (index.php, header.php, footer.php, single.php)
Os plugins usam o hook & filter para modificar o tema ANTES de enviar para o navegador!
Exemplo: se você deseja adicionar botões sociais ao final da postagem! Você pode alterar single.php e adicionar código para colocar algum botão social logo abaixo de the_content ()!
Mas você pode criar um plugin para usar o filtro e o gancho do Wordpress para alterar o HTML da postagem e anexar os botões sociais!
Você pode usar o hook para adicionar javascript, fazer algum código lógico, renderizar o HTML com base nesse resultado e acrescentar ou substituir por algo através do hook & filter do Wordpress!
Mas o que acontece se você colocar o código do plugin no arquivo do tema? Suponha que você coloque algumas funções para renderizar o conteúdo em functions.php do tema! Em seguida, chame essas funções manualmente em algum lugar do seu tema! Ou melhor ainda, você pode usar o hook & filter para alterar automaticamente o conteúdo sem chamar manualmente o tema!
Então, desde que o wordpress possa incluir o seu código de alguma forma, e execute-o! Enquanto seu código o executa, ele pode fazer qualquer coisa por você usando o hook & filter! Alguns plugins simples podem ser facilmente colocados em um arquivo de tema! Mas alguns plugins grandes são muito inchados para serem colocados no arquivo do tema!
Então, mais tarde, você decide remover essa função, vai para o arquivo do tema e remove o código? Parece estúpido, certo? Portanto, temos o plugin, é uma maneira de modificar automaticamente o processo de execução do Wordpress para alterar o conteúdo, alterar o banco de dados, ...
Além disso, alguns ganchos são executados antes do tema da chamada, para que você não possa colocar o tema no arquivo do tema!
Conclusões: Contanto que o código seja incluído no wordpress, o wordpress o executa e retorna o resultado! Você pode colocar esse código em arquivos de tema, o wordpress o chamará para você! Mas se você o empacotar como um plug-in, poderá instalar / desativar / remover facilmente sem alterar nenhum arquivo de tema! Além disso, você também mantém seu tema simples / limpo! Então, quando você precisar alterar algo, coloque-o como um plugin, se possível! Não o coloque em arquivos de tema!