2017-04-18 1 views
0

Hintergrund meiner Frage: Ich habe über 300 Diashows erstellt. In meiner WordPress-Seite/Post werden sie mit einem Shortcode aktiviert, d. H. [Master slider id = 15]. Ich übergebe den Wert (ID = 15) als URL-Parameter an meine benutzerdefinierte Vorlage. ie // url? Nmbr = 15. Das funktioniert. Ich kann den Wert wiederholen, ich kann den kompletten Shortcode [Masterslider ID = "15"] wiedergeben, aber der Slider startet keine Bilder.Pass URL-Parameter in einen Shortcode

natürlich kann ich eine Seite mit 100 shortcodes erstellen, die die Seite sehr langsam machen wird. Ich kann 100 Seiten mit einem Schieberegler erstellen, aber das mag ich nicht.

Einige der fünfzig verschiedenen Codezeilen ich in meinem eigenen template.php versucht ist: ` '

ich auch mit ob_clean ohne Erfolg versucht ob_start. Bitte helfen.

+0

Ich vermute, in dem Moment, in dem Sie Ihren Shortcode-Wert anwenden, ist Inhalt für die Seite bereits geladen. Wie bearbeitest du die ID des Shortcodes, ich meine mit welchem ​​Hook/Filter. Hast du den_content Filter ausprobiert? https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content – Mohsin

+0

Vielen Dank für Ihre Antwort. Das Problem ist gelöst. Ich war so besessen von dem Shortcode in eckigen Klammern, dass ich die entsprechende PHP-Funktion für den Shortcode übersehen hatte. Jetzt habe ich eine Custom-Seite mit der php-Funktion unterhalb des Header-Calls erstellt. Es funktioniert gut. Ich habe jetzt eine Seite, auf der ich jeden Slider entsprechend ihrer "ID" anzeigen kann. –

+0

Großartig, dass Sie es gelöst haben! Ich habe meinen Kommentar als Antwort gepostet. Sie können ihn als gelöst markieren, um diese Frage zu klären. Vielen Dank! – Mohsin

Antwort

0

Ich vermute, dass in dem Moment, in dem Sie Ihren Short-Code-Wert anwenden, Inhalt für die Seite bereits geladen ist. Es wird also nie ausgeführt.

Also würde ich versuchen, den content_filter hinzuzufügen, um die ID des Kurzcodes hinzuzufügen/zu bearbeiten, so dass sie geändert wird, bevor Inhalt angezeigt wird.