Dove inserisco i frammenti di codice che ho trovato qui o altrove sul Web?


34

Molti post qui o da qualche altra parte contengono codice, ma non dicono dove metterlo.

Esempio:

Ho trovato questo post: come disattivare 301 reindirizzamenti dei post (non canonici)?
Sono un principiante con PHP. Dove devo esattamente inserire il codice dalla risposta?


1
Mi sono preso la libertà di rendere la tua domanda meno localizzata, quindi in futuro avremo un post che risponde a domande simili. Se ritieni che non vada bene, utilizza il link di rollback nella cronologia delle modifiche.
fuxia

1
Potresti anche provare a lasciare un commento su quella domanda e porre lì.
JimmyPena,

Risposte:


34

Ogni volta che trovi un pezzo di codice senza chiare istruzioni di installazione, è probabilmente un plugin. L'esempio che hai dato è buono, perché è il caso più comune:

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

Per utilizzare un tale frammento, inseriscilo in un plug-in:

  1. Crea un nuovo file, chiamalo per esempio remove_404_redirect.php.
  2. Scrivi semplici intestazioni di plugin nel file all'inizio. Usa l'URL in cui hai trovato il codice come Plugin URLe l'autore del codice come 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. Inserisci il codice che desideri utilizzare sotto le intestazioni del plug-in.

  4. Installa il nuovo plugin.

È tutto gente.

È possibile aggiungere il codice al tema functions.php. Ma questa non è una buona idea:

  • Di solito, il codice non ha lo scopo di modificare la rappresentazione visiva dei dati del tuo sito. Ma questo è l'unico scopo di un tema. Non mescolare le responsabilità.
  • Il codice in functions.phpnon può essere disattivato separatamente. Se un giorno il codice si interrompe, devi modificarlo di functions.phpnuovo oppure devi cambiare tema. Se vuoi usare un altro tema, devi copiare e incollare di nuovo tutto quel codice.
  • Se aggiungi sempre più frammenti functions.php, otterrai un disordine non mantenibile nel tempo.

Correlati: dove mettere il mio codice: plugin o Functions.php?


Grazie! Ha funzionato come un fascino. E grazie per aver reso il post meno localizzato. Come posso condividere il mio file plugin con altri?
Carl

1
Puoi pubblicarlo su wordpress.org o su un servizio di hosting di codice gratuito come GitHub. Ma vorrei chiedere all'autore prima di farlo. Per indicare che una risposta ha risolto il problema, fai clic sul piccolo segno di spunta ✔ su quella risposta, in modo che altri lettori la vedano immediatamente.
fuxia

Nel creare un plugin come questo, devo mettere il file in una cartella e comprimerlo / comprimerlo, oppure il programma di installazione del plugin funzionerebbe anche con un php autonomo?
OC2PS,

Inoltre, farebbe un plugin con una semplice e semplice istruzione come add_filter ('flush_rewrite_rules_hard', '__return_false'); opera?
OC2PS,

1
@ OC2PS No, la fine del file è la fine del programma.
fuxia

16

Sono lo sviluppatore del plugin che ti consente di aggiungere frammenti di codice a un sito WordPress attraverso un'interfaccia di amministrazione.

Aggiunge un'interfaccia grafica, simile al menu Plugin, per la gestione dei frammenti. Gli snippet possono essere attivati ​​o disattivati, assegnato un nome e una descrizione e classificati mediante tag. Possono anche essere sottoposti a backup e trasferiti tra i siti utilizzando la funzione di importazione / esportazione.

Gestione dei frammenti esistenti

Modifica di un frammento

Più schermate

Puoi saperne di più sul plug-in Snippet di codice su WordPress.org e vedere il suo codice su GitHub .


6

Il codice a cui si fa riferimento nel collegamento deve essere inserito nel file Functions.php del tuo tema, non in canonical.php. Dovresti sempre evitare di modificare i file WP principali. Non è necessario sovrascrivere o commentare nessun altro codice.

Fai un backup del tuo file Functions.php prima di modificarlo, dato che anche un semplice errore di sintassi nel file Functions.php può distruggere l'intero sito.


Non volevo modificare alcun file WP di base. Grazie per l'aiuto.
Carl

7
@Carl Dichiara chiaramente di non modificare i file core. Triste che non posso sottovalutare i commenti ...
Kaiser

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.