Hauptmenü

Werkzeuge

Kategorien

Archiv

Tineco nass und trockensauger Einhell Kaffeemaschinen Vergleich Ladekabel Shelly H&T Gen3 Liste von RTSP URLs für gängige Kameras Freischneider Test 2026 Test Wärmepumpentrockner 2026 USB Adapter Vergleich Ladekabel Staubsauger Vergleich Ladekabel lubluelu CHYW201 im Test: Fensterputzroboter ganz ohne Netzkabel Mammotion YUKA mini 2 1000 im Test: Mähroboter ganz ohne Begrenzungsdraht Welcher Wasserkocher ist der Beste? Unser ehrlicher Vergleich 2026 Einhell GP-LB 36/210: Der Power-X-Change-Laubbläser im Test

Problem zwischen wpShopGermany und dem awake Theme

Erstellt in Wordpress am 12. August 2014 vom Daschmi

Es gibt bis Version 3.4.2 ein Problem beim Einsatz von wpShopGermany mit dem WordPress awake Theme. Das awake Theme versucht die Namen der Input Felder als Shortcodes zu interpretieren, was zum einen zu einer merkwürdigen Darstellung der Shop Templates führt und zum anderen die Formularfelder nicht korrekt gespeichert werden.

Im awake Theme gibt es eine nicht dokumentierte Funktion, um das parsen der Shortcodes zu verhindern. Alles was zwischen [raw] und [/raw] steht wird nicht als Shortcode interpretiert. Eine Möglichkeit wäre nun alle phtml Templates in [raw] und [/raw] einzuschließen, was aber einen erheblichen Aufwand bedeutet. Ab der wpShopGermany Version 3.4.3 gibt es unter wpShopGermany -> Konfiguration -> Erweitert eine neue Funktion, die automatisch alle Frontendtemplates in [raw] und [/raw] einschließt ohne die Templates zu modifizieren.

Leider gibt es im awake Theme noch eine weitere Funktion, die offenbar den Inhalt für die Verarbeitung der Shortcodes vorbereiten soll:

function mysite_texturize_shortcode_before($content) {
$content = preg_replace(‚/\]\[/im‘, "]\n[", $content);
return $content;

Diese Funktion ersetzt aber zum Beispiel:

<input type="text" id="email" name="wpsg[checkout][email]" value="" />

durch

<input type="text" id="email" name="wpsg[checkout]
[email]" value="" />

Dies führt dann dazu, dass die Variablen nicht korrekt übergeben und gespeichert werden.

Abhilfe schafft die Änderung der mysite_texturize_shortcode_before function durch:

function mysite_texturize_shortcode_before($content) {

$pattern_full = ‚{(\[raw\].*?\[/raw\])}is‘;
$pattern_contents = ‚{\[raw\](.*?)\[/raw\]}is‘;

$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
$new_content = “;

foreach ($pieces as $piece)
{

if (preg_match($pattern_contents, $piece, $matches))
{

// [raw](.*)[/raw]
$new_content .= $piece;

}
else
{

$new_content .= preg_replace(‚/\]\[/im‘, "]\n[", $piece);

}

}

return $new_content;

}

so wird die Ersetzung zwischen den [raw] und [/raw] Tags nicht mehr durchgeführt.