Wordpress Plugin Shortcode funktioniert nicht

9

Ich habe einen Shortcode in einem Plugin wie folgt definiert:

// [tag1] -> Some Longer Text
function shortcode_example1() {
    return 'Some Longer Text';
}
add_shortcode('tag1', 'shortcode_example1');

Jetzt versuche ich innerhalb einer WordPress-Seite wie folgt auf das Plugin zuzugreifen:

[tag1]

Der Shortcode wird jedoch nicht ausgeführt und die Ausgabe ist nur "[tag1]". Kannst du helfen?

Danke für Ihre Hilfe.

Santhanamk
quelle
Ihr Code funktioniert für mich in WP 3.9.2, entweder in einem Plugin oder in functions.php. Funktionieren andere Shortcodes einwandfrei?
Gabriel
1
Ich bestätige auch, dass dieser Shortcode funktioniert. Hat etwas den do_shortcodeFilter vom the_contentHaken entfernt? Versuchen Sie, zu einem Standarddesign zu wechseln (verwendet Ihr Design the_content()?) Und alle Plugins zu deaktivieren. Aktivieren Sie sie dann 1 zu 1, um den potenziellen Konflikt zu finden.
Helgatheviking

Antworten:

31

Hier gibt es ein paar Dinge zu überprüfen

  • Erstens: Ist Ihr Plugin aktiviert?

  • Zweitens: Befindet sich Ihr Shortcode in Ihrer Haupt-Plugin-Datei? Wenn sich dieser Code in einer anderen Datei in Ihrem Plugin befindet, haben Sie sichergestellt, dass diese zusätzliche Datei in Ihre Haupt-Plugin-Datei aufgenommen wird

  • Drei: Sie haben keinen Fehler in Ihrer Plugin-Datei, der Ihr Plugin nach der Aktivierung deaktiviert. Haben Sie Debug auf true gesetzt? Eines der Mitglieder der Site verfügt über ein hervorragendes Debugging-Plugin zum Herunterladen auf wordpress.org namens Debug Objects

  • Viertens: Versuchen Sie, Ihren Shortcode in die Datei functions.php Ihres Themas zu verschieben, um sicherzustellen, dass Ihr Shortcode tatsächlich funktioniert. Wenn es in Ihrem Thema nicht funktioniert, liegt das Problem möglicherweise tatsächlich in Ihrem Thema

  • Fünftens: Filtern Sie, wie von @helgatheviking vorgeschlagen, das nicht the_content()in irgendeiner Weise, die dieses Verhalten verursachen könnte

  • Sechs: Wenn alle oben genannten Schritte fehlschlagen, deaktivieren Sie alle Plugins, wechseln Sie zu einem gebündelten Thema und überprüfen Sie es erneut. Wenn das Problem weiterhin besteht, aktualisieren Sie Wordpress und installieren Sie es erneut, da dies möglicherweise eine beschädigte Kerndatei ist

Pieter Goosen
quelle
Ich habe die Checkliste gemacht: 1 = check!, 2 = yes!, 3 = nein, 4 = ok, 5 = nein, 6-> hat funktioniert! Nachdem ich mein lokales wp (zum Testen) von 'Sydney Theme' auf 'Twenty Fourteen' umgestellt habe, wird der SC angezeigt. Es scheint Themen zu geben, die verhindern, dass SCs in Posts angezeigt werden.
Martin Pfeffer
Danke Pieter für diese Checkliste. Es stellte sich heraus, dass ich meine Datei nicht richtig aufgenommen hatte ... woops. Funktioniert jetzt gut :)
Chess Byte
Ich habe alles Folgende gemacht und trotzdem funktioniert es nicht. Ich habe eine neue WordPress (5.0.2) -Installation mit Code zur Datei functions.php hinzugefügt. Aber wenn ich [Shortcodename] in eine Seite setze, wird es als Text behandelt. Was ist falsch? Ich verwende das Standardthema: Twenty Sixteen.
Hal
Dies ist eine super hilfreiche Checkliste. Das einzige, was ich hinzufügen würde, wäre eine Sieben: Stellen Sie sicher, dass Ihr Seiteneditor Ihren Shortcode nicht wie meinen aufbockt, und zwar wie folgt: ] Dieser 'hilfreiche' WordBreak hat mich für eine Weile vermasselt. Danke
Seiteneditor
-1

füge das hinzu

    add_filter('the_content', 'do_shortcode');
alegut
quelle
1
Warum? Was macht das? Wo würden sie das hinzufügen? Bitte bearbeiten Sie Ihre Antwort über den obigen Bearbeitungslink und fügen Sie weitere Informationen hinzu, wie dies zur Lösung des Problems beiträgt.
Howdy_McGee
-4

Vielen Dank für Ihre Antworten. Nach weiteren Untersuchungen stellte ich fest, dass die Plugin-Datei, in der mein Shortcode definiert wurde, als "inaktiv" angezeigt wurde. Nachdem ich meine Shortcode-Definitionen in eine aktive Datei verschoben hatte, begann alles zu funktionieren. Ich hoffe, dass dies für jeden nützlich ist, der in Zukunft darauf stößt.

Danke noch einmal!

Santhanamk
quelle
Bitte akzeptieren Sie die richtige Antwort anstelle Ihrer eigenen.
Schach Byte