Übergeben Sie Javascript Array an den Shortcode

Ich versuche, ein Javascript-Array an einen Shortcode zu übergeben, aber es scheint zu bereinigen / Escape. Zum Beispiel erzeugt dieses Zeichen “[” das “` {`”. Was ist die function zum Abrufen von Originaldaten?

Hier ist ein Shortcode-Beispiel:

[shortcode jsarray="[{start:"19:30",end:"21:00",color:'#d99694'},{start:"20:00",end: "21:30",color:'#d99694'},],"] Some text [/shortcode] 

Hier ist meine Shortcode-Renderfunktion:

 public function render_html($atts,$content) { $atts = shortcode_atts(array('jsarray' =>''), $atts); $jsarray=$atts['jsarray']; if(empty($jsarray)) { return; } ob_start(); ?> <div data="">  
<?php return ob_get_clean(); }

EDIT: Hier ist das Ergebnis in shortcode_atts function:

 `{`{``start``:``19:30``, ``end``:``21:00``, ``color``:``#d99694``}, {``start``:``19:30``, ``end``:``21:00``, ``color``:``#d99694``}`}` 

Solutions Collecting From Web of "Übergeben Sie Javascript Array an den Shortcode"

Sie werden andere Probleme als die Klammern haben, da shortcode_parse_atts Ihre Attribute bereits analysiert hat und die verschiedenen einfachen und doppelten Anführungszeichen den dafür verwendeten regulären Ausdruck verwechseln.

Wenn Sie die genaue Zeichenfolge benötigen, können Sie sie möglicherweise aus einem benutzerdefinierten Feld abrufen. Alternativ und besser können Sie eine Reihe von Attributen für Ihren Shortcode angeben (time1start, time1end, time1color, etc.) und Ihr Javascript am Backend neu aufbauen.