Wo lege ich die Codefragmente ab, die ich hier oder anderswo im Internet gefunden habe?

34

Viele Posts hier oder anderswo enthalten Code, aber sie sagen nicht, wo sie platziert werden sollen.

Beispiel:

Ich habe diesen Beitrag gefunden: Wie deaktiviere ich 301 umgeleitete Beiträge (nicht kanonisch)?
Ich bin ein Neuling mit PHP. Wo genau soll ich den Code aus der Antwort platzieren?

Carl
quelle
1
Ich habe mir erlaubt, Ihre Frage weniger zu lokalisieren, sodass wir in Zukunft einen Beitrag haben, der ähnliche Fragen beantwortet. Wenn Sie der Meinung sind, dass dies nicht in Ordnung ist, verwenden Sie den Rollback-Link im Bearbeitungsverlauf.
fuxia
1
Sie können auch versuchen, einen Kommentar zu dieser Frage zu hinterlassen und dort zu fragen.
JimmyPena

Antworten:

34

Wenn Sie einen Code ohne klare Installationsanweisungen finden, handelt es sich wahrscheinlich um ein Plugin. Das Beispiel, das Sie gegeben haben, ist gut, denn das ist der häufigste Fall:

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

Um ein solches Snippet zu verwenden, stecke es in ein Plugin:

  1. Erstellen Sie eine neue Datei, nennen Sie sie zum Beispiel remove_404_redirect.php.
  2. Schreiben Sie ganz am Anfang einfache Plugin-Header in die Datei. Verwenden Sie die URL, unter der Sie den Code gefunden haben, Plugin URLund den Autor des Codes als 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. Tragen Sie den Code, den Sie verwenden möchten, unter die Header der Plugins ein.

  4. Installieren Sie das neue Plugin.

Das war's Leute.

Sie könnten den Code zu Ihrem Theme hinzufügen functions.php. Das ist aber keine gute Idee:

  • Normalerweise soll der Code die visuelle Darstellung der Daten Ihrer Site nicht ändern. Aber das ist der einzige Zweck eines Themas. Vermische nicht die Verantwortlichkeiten.
  • Code in der functions.phpkann nicht separat deaktiviert werden. Wenn der Code eines Tages abbricht, müssen Sie ihn functions.phperneut bearbeiten oder die Themen wechseln. Wenn Sie ein anderes Thema verwenden möchten, müssen Sie den gesamten Code erneut kopieren und einfügen.
  • Wenn Sie mehr und mehr Schnipsel functions.phphineinstecken, bekommen Sie mit der Zeit ein unhaltbares Durcheinander.

Siehe auch: Wo soll ich meinen Code ablegen: plugin oder functions.php?

fuxia
quelle
Vielen Dank! Es wirkte wie ein Zauber. Und danke, dass du den Beitrag weniger lokalisiert hast. Wie teile ich meine Plugin-Datei mit anderen?
Carl
1
Sie können es auf wordpress.org oder auf einem kostenlosen Code-Hosting-Service wie GitHub veröffentlichen. Aber ich würde den Autor fragen, bevor ich das tun würde. Um anzuzeigen, dass eine Antwort Ihr Problem gelöst hat, klicken Sie auf das kleine Häkchen ✔ auf dieser Antwort, damit andere Leser es sofort sehen.
fuxia
Wenn ich ein solches Plugin erstelle, muss ich die Datei in einen Ordner legen und komprimieren / komprimieren oder würde das Plugin-Installationsprogramm auch mit einem eigenständigen PHP funktionieren?
OC2PS
Würde auch ein Plugin mit einer einfachen, einzelnen Anweisung wie add_filter ('flush_rewrite_rules_hard', '__return_false') erstellen; Arbeit?
OC2PS
1
@ OC2PS Nein, das Ende der Datei ist das Ende des Programms.
Fuxia
16

Ich bin der Entwickler des Plugins, mit dem Sie Code-Schnipsel über eine Administrationsoberfläche zu einer WordPress-Site hinzufügen können.

Es wird eine grafische Oberfläche hinzugefügt, die dem Menü "Plugins" zum Verwalten von Snippets ähnelt. Snippets können aktiviert oder deaktiviert, benannt und beschrieben und mithilfe von Tags kategorisiert werden. Sie können auch mithilfe der Import- / Exportfunktion gesichert und zwischen Standorten übertragen werden.

Bestehende Snippets verwalten

Schnipsel bearbeiten

Weitere Screenshots

Sie können mehr über das Code Snippets Plugin auf WordPress.org erfahren und dessen Code auf GitHub sehen .

shea
quelle
6

Der Code, auf den in dem Link verwiesen wird, muss in der Datei functions.php Ihres Themas und nicht in der Datei canonical.php abgelegt werden. Sie sollten es immer vermeiden, wichtige WP-Dateien zu ändern. Sie müssen keinen anderen Code überschreiben oder auskommentieren.

Erstellen Sie eine Sicherungskopie Ihrer functions.php-Datei, bevor Sie sie bearbeiten, da selbst ein einfacher Syntaxfehler in der functions.php Ihre gesamte Site zum Erliegen bringen kann.

Andy
quelle
Ich wollte keine Kern-WP-Dateien ändern. Danke für deine Hilfe.
Carl
7
@ Carl Er gibt eindeutig an, Kerndateien nicht zu ändern. Schade, dass ich keine Kommentare runterstimmen kann ...
Kaiser
2

Wenn Sie Jupiter WordPress Theme verwenden, können Sie dies tun, indem Sie die Code-Snippets in die Datei functions.php Ihres untergeordneten Themas einfügen und die hier beschriebenen Hooks, Filter und Shortcodes überschreiben:

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

Mohsenr1
quelle