Où puis-je placer les extraits de code que j'ai trouvés ici ou ailleurs sur le Web?

34

Beaucoup de messages ici ou ailleurs contiennent du code, mais ils ne disent pas où le mettre.

Exemple:

J'ai trouvé ce message: Comment désactiver 301 messages de redirection (non canoniques)?
Je suis un débutant avec PHP. Où devrais-je placer exactement le code de la réponse?

Carl
la source
1
J'ai pris la liberté de rendre votre question moins localisée, nous avons donc un post à l'avenir qui répond à des questions similaires. Si vous pensez que cela ne va pas, utilisez le lien d'annulation dans l'historique des modifications.
fuxia
1
Vous pouvez également essayer de laisser un commentaire sur cette question et poser la question.
JimmyPena

Réponses:

34

Chaque fois que vous trouvez un morceau de code sans instructions d’installation claires, c’est probablement un plugin. L’exemple que vous avez donné est bon, car c’est le cas le plus courant:

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

Pour utiliser un tel extrait, placez-le dans un plugin:

  1. Créez un nouveau fichier, nommez-le par exemple remove_404_redirect.php.
  2. Écrivez des en- têtes de plug-in simples dans le fichier au tout début. Utilisez l'URL où vous avez trouvé le code en tant que Plugin URLet l'auteur du code en tant que 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. Placez le code que vous souhaitez utiliser sous les en-têtes du plugin.

  4. Installez le nouveau plugin.

C'est All Folks.

Vous pouvez ajouter le code à votre thème functions.php. Mais ce n'est pas une bonne idée:

  • Généralement, le code n'est pas destiné à modifier la représentation visuelle des données de votre site. Mais c'est le seul but d'un thème. Ne mélangez pas les responsabilités.
  • Le code dans le functions.phpne peut pas être désactivé séparément. Si le code tombe un jour, vous devez le modifier à functions.phpnouveau ou changer de thème. Si vous souhaitez utiliser un autre thème, vous devez copier et coller tout ce code à nouveau.
  • Si vous mettez de plus en plus d'extraits dans le, functions.phpvous obtenez un gâchis intenable avec le temps.

Related: Où mettre mon code: plugin ou functions.php?

fuxia
la source
Merci! Ça a marché comme sur des roulettes. Et merci d'avoir rendu le post moins localisé. Comment partager mon fichier de plugin avec d'autres?
Carl
1
Vous pouvez le publier sur wordpress.org ou sur un service d'hébergement de code gratuit tel que GitHub. Mais je demanderais à l'auteur avant de le faire. Pour indiquer qu'une réponse a résolu votre problème, cliquez sur la petite case à cocher ✔ de cette réponse afin que les autres lecteurs la voient immédiatement.
fuxia
En créant un plugin comme celui-ci, dois-je placer le fichier dans un dossier et le compresser / compresser, ou est-ce que le programme d'installation du plugin fonctionnerait également avec un php autonome?
OC2PS
De même, créer un plugin avec une seule et unique instruction, telle que add_filter ('flush_rewrite_rules_hard', '__return_false'); travail?
OC2PS
1
@ OC2PS Non, la fin du fichier est la fin du programme.
fuxia
16

Je suis le développeur du plugin qui vous permet d'ajouter des extraits de code à un site WordPress via une interface d'administration.

Il ajoute une interface graphique, similaire au menu Plugins, pour la gestion des extraits. Les extraits peuvent être activés ou désactivés, se voir attribuer un nom et une description, et être classés par catégorie à l'aide de balises. Ils peuvent également être sauvegardés et transférés entre les sites à l'aide de la fonction d'importation / exportation.

Gestion des extraits existants

Modification d'un extrait

Plus de screenshots

Vous pouvez en apprendre plus sur le plugin Code Snippets sur WordPress.org et voir son code sur GitHub .

karité
la source
6

Le code mentionné dans le lien doit être placé dans le fichier functions.php de votre thème, pas dans canonical.php. Vous devez toujours éviter de modifier les fichiers WP principaux. Vous n'avez pas besoin de remplacer ou de commenter tout autre code.

Faites une sauvegarde de votre fichier functions.php avant de le modifier, car même une simple erreur de syntaxe dans le functions.php peut détruire tout votre site.

Andy
la source
Je ne voulais pas modifier les fichiers WP principaux. Merci de votre aide.
Carl
7
@Carl Il déclare clairement qu'il ne faut pas modifier les fichiers de base. Triste de ne pouvoir annuler les commentaires ...
kaiser
2

Si vous utilisez le thème WordPress de Jupiter, vous pouvez le faire en ajoutant les extraits de code à votre function.php de thème enfant et en commençant à remplacer les points d'ancrage, les filtres et les codes courts, comme décrit ici:

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

Mohsenr1
la source