Onde coloco os trechos de código que encontrei aqui ou em outro lugar na Web?

34

Muitas postagens aqui ou em outro lugar contêm código, mas não dizem onde colocá-lo.

Exemplo:

Encontrei este post: Como desativo 301 posts de redirecionamento (não canônicos)?
Eu sou um novato com PHP. Onde exatamente devo colocar o código da resposta?

Carl
fonte
11
Tomei a liberdade de tornar sua pergunta menos localizada; portanto, teremos um post no futuro que responderá perguntas semelhantes. Se você acha que não está bem, use o link de reversão no histórico de edições.
fuxia
11
Você também pode tentar deixar um comentário sobre essa pergunta e perguntar lá.
JimmyPena

Respostas:

34

Sempre que você encontra um pedaço de código sem instruções claras de instalação, é provavelmente um plugin. O exemplo que você deu é bom, porque esse é o caso mais comum:

add_action('template_redirect', 'remove_404_redirect', 1);
function remove_404_redirect() {
// do something
}

Para usar esse snippet, coloque-o em um plugin:

  1. Crie um novo arquivo, nomeie-o por exemplo remove_404_redirect.php.
  2. Escreva cabeçalhos de plugins simples no arquivo no início. Use o URL em que você encontrou o código como Plugin URLe o autor do código como Plugin Author:

    <?php
    /**
     * Plugin Name: Remove 404 redirect
     * Description: Disable redirects to similar posts.
     * Plugin URI:  https://wordpress.stackexchange.com/questions/44740/how-do-i-turn-off-301-redirecting-posts-not-canonical
     * Author:      William
     * Author URI:  https://wordpress.stackexchange.com/users/9942/william
     */
  3. Coloque o código que você deseja usar abaixo dos cabeçalhos do plugin.

  4. Instale o novo plugin.

Isso é tudo, pessoal.

Você pode adicionar o código ao seu tema functions.php. Mas isso não é uma boa ideia:

  • Normalmente, o código não se destina a alterar a representação visual dos dados do seu site. Mas esse é o único objetivo de um tema. Não misture responsabilidades.
  • O código no functions.phpnão pode ser desativado separadamente. Se o código quebrar um dia, você deverá editá-lo functions.phpnovamente ou mudar de tema. Se você quiser usar outro tema, copie e cole todo esse código novamente.
  • Se você colocar cada vez mais trechos no arquivo, functions.phpterá uma bagunça inatingível ao longo do tempo.

Relacionado: Onde colocar meu código: plugin or functions.php?

fuxia
fonte
Obrigado! Funcionou como um encanto. E obrigado por tornar a postagem menos localizada. Como compartilho meu arquivo de plug-in com outras pessoas?
11111 Carl
11
Você pode publicá-lo no wordpress.org ou em um serviço de hospedagem de código gratuito como o GitHub. Mas eu perguntaria ao autor antes de fazer isso. Para indicar que uma resposta resolveu seu problema, clique na pequena marca de seleção ✔ nessa resposta, para que outros leitores a vejam imediatamente.
Fuxia
Ao criar um plug-in como esse, preciso colocar o arquivo em uma pasta e compactá-lo / compactá-lo / compactá-lo ou o instalador do plug-in também funcionaria com um php independente?
OC2PS
Além disso, criaria um plugin com uma instrução simples e única como add_filter ('flush_rewrite_rules_hard', '__return_false'); trabalhos?
OC2PS
11
@ OC2PS Não, o fim do arquivo é o fim do programa.
fuxia
16

Eu sou o desenvolvedor do plugin, que permite adicionar trechos de código a um site WordPress através de uma interface administrativa.

Ele adiciona uma interface gráfica, semelhante ao menu Plugins, para gerenciar snippets. Os trechos podem ser ativados ou desativados, atribuídos um nome e uma descrição e categorizados usando tags. Eles também podem ser copiados e transferidos entre sites usando o recurso de importação / exportação.

Gerenciando snippets existentes

Editando um snippet

Mais capturas de tela

Você pode aprender mais sobre o plug-in Code Snippets no WordPress.org e ver seu código no GitHub .

shea
fonte
6

O código mencionado no link deve ser colocado no arquivo functions.php do seu tema, não no canonical.php. Você sempre deve evitar modificar os arquivos principais do WP. Você não precisa sobrescrever ou comentar qualquer outro código.

Faça um backup do seu arquivo functions.php antes de editá-lo, pois mesmo um simples erro de sintaxe no functions.php pode derrubar todo o site.

andy
fonte
Não queria modificar nenhum arquivo WP principal. Obrigado pela ajuda.
11111 Carl
7
@Carl Ele afirma claramente não modificar arquivos principais. Triste que eu não posso downvote comentários ...
kaiser
2

Se você estiver usando o Jupiter WordPress Theme, poderá fazê-lo adicionando trechos de código ao seu tema filho functions.php e comece a substituir os ganchos, filtros e códigos de acesso, conforme descrito aqui:

https://themes.artbees.net/docs/overriding-shortcodes/

Mohsenr1
fonte