Wahrscheinlich hast du das Snippet nicht aktiviert, vielleicht liegt es aber auch an den Leerschritten nach der öffnenden Klammer.
Wieso arbeitest du denn überhaupt noch mit Shortcodes, wenn du das eh neu aufsetzen musst? Du kannst mit Block-Lab doch gleich einen Block mit Formularfeldern für Text und Nummer (um bei deinem Beispiel zu bleiben) aufsetzen. Das geht mit der Dokumentation des Plugins recht flott.
Wenn du beim Shortcode bleibst, solltest du die Shortcode-Parameter escapen. Sonst würde [snippet_piwigo text=“<script>alert(‚Du bist gehackt worden!‘)</script>“ nr=7] und weniger harmlose Beispiele funktionieren.
function piwigo($atts) {
$atts = shortcode_atts( array(
'text' => 'Vorgabewert',
'nr' => 42,
), $atts );
$out = '<p>Was-auch-immer ' . esc_html( $atts['text'] ) . ' Hausnummer ' . esc_html( $atts['nr'] ) . '</p>';
return $out;
};
add_shortcode( 'snippet_piwigo','piwigo' );
-
Diese Antwort wurde geändert vor 3 Jahre, 8 Monaten von
Bego Mario Garde. Grund: Syntax-Fehler behoben
Schön, dich wieder zu lesen, das mit dem escapen würde ich normalerweise machen. Du siehst, ich fange mit den snippets wieder ganz von vorne an.
Aber wie kann ich es denn aktivieren??? Ich dachte, es ist aktiv …
Anden Leerzeichen liegt es nicht
-
Diese Antwort wurde geändert vor 3 Jahre, 8 Monaten von
sonoptikon.
Hab gerade nochmal geschaut: Shortcodes mit einem Leerschritt hinter der ersten Klammer werden nicht ausgeführt.
[snippet_piwigo text="bla" nr=18]
klappt,
[ snippet_piwigo text="bla" nr=18 ]
klappt nicht.
Das mit dem Aktivieren ist mir entgangen.
Nun habe ich sowas:
function piwigo($args) {
$text=$args[text];
$nr=$args[nr];
Mit dem Ergebnis:
Warning: Use of undefined constant text – assumed ‚text‘ (this will throw an Error in a future version of PHP) in /homepages/1/d423279651/htdocs/clickandbuilds/akkordeonmnster/wp-content/plugins/code-snippets/php/snippet-ops.php(361) : eval()’d code on line 2
Warning: Illegal string offset ‚text‘ in /homepages/1/d423279651/htdocs/clickandbuilds/akkordeonmnster/wp-content/plugins/code-snippets/php/snippet-ops.php(361) : eval()’d code on line 2
Warning: Use of undefined constant nr – assumed ’nr‘ (this will throw an Error in a future version of PHP) in /homepages/1/d423279651/htdocs/clickandbuilds/akkordeonmnster/wp-content/plugins/code-snippets/php/snippet-ops.php(361) : eval()’d code on line 3
Warning: Illegal string offset ’nr‘ in /homepages/1/d423279651/htdocs/clickandbuilds/akkordeonmnster/wp-content/plugins/code-snippets/php/snippet-ops.php(361) : eval()’d code on line 3
habs schon: $args['text']
Erinnerung kommt.
Danke für die moralische und sachliche Unterstützung
Moderationshinweis: wenn du dann Code in deinen Foren-Beiträgen noch entsprechend fromatieren könntest … 😉
Das war auch nicht mein Code. ¯\_(ツ)_/¯
Wenn schon, dann
$text = $args[ 'text' ];
mit dem Index in Hochkomma.