php
  • jquery
  • wordpress
  • shortcode
  • 2017-09-12 4 views 1 likes 
    1

    hat Wenn ich das → habeneinen String zurück, die eine Variable in einem Wordpress Short

    <input type="hidden" name="meta_adtracking" value="custom form" /> 
    

    dann kann ich diese einfach in einen String Mehrweg umwandeln →

    $output = '<input type="hidden" name="meta_adtracking" value="custom form" />' 
    

    Natürlich wird die Ausgabe später zurückgegeben werden:

    return $output; 
    

    Aber das wird für mich eine Herausforderung, wenn es eine jQuery oder einen Wordpress Lokalisierte hat Funktion.

    Wordpress Lokalisierte Funktion

    <input type="submit" class="one" name="aweber_submit" value="<?php _e("Subscribe", 'text-domain');?>" /> 
    

    Wie die oben in eine Mehrweg-Zeichenfolge konvertieren? [P.S. → Die PHP-Tags sind eigentlich nicht erforderlich, da die Shortcode-Funktion in einer Datei mit der Endung .php liegt], aber wenn ich nur ein PHP-Tag entferne, wäre das in Ordnung?

    $output = '<input type="submit" class="one" name="aweber_submit" value="_e("Subscribe", 'text-domain');" />' 
    

    Ist das Ok?

    Antwort

    4

    Fast. Versuche dies!

    Sie müssen aus der Zeichenfolge ausbrechen und verketten, was auch immer die Funktion zurückgibt.

    $output = '<input type="submit" class="one" name="aweber_submit" value="'._e("Subscribe", 'text-domain').'" />'; 
    
    +0

    Warum sollte OP dies versuchen? Können Sie den Unterschied zwischen Ihrer Antwort und dem OP-Versuch erklären? – Tolios

    +0

    bearbeitet, ist das besser? – delboy1978uk

    +0

    Ja, das ist besser :-) obwohl es ein Zitat fehlt, um das Wertattribut zu schließen, haben Sie jetzt '..value =" something /> ', was einen Syntaxfehler bei PHP und ungültigem HTML verursacht – Tolios

    1

    Sie müssen Folgendes verhindern, dass die PHP-Funktion ändern, als Teil des Strings oder in diesem Fall gespeichert werden, was zu einem Parse-Fehler wegen der Anführungszeichen.

    $output = '<input type="submit" class="one" name="aweber_submit" value="_e("Subscribe", 'text-domain');" />' 
    

    zu

    $output = '<input type="submit" class="one" name="aweber_submit" value="'._e("Subscribe", 'text-domain').'" />'; 
    

    Beachten Sie auch, dass die _e Funktion ein Wert für die erwartete Verhalten Rückkehr benötigen.

    +0

    Du meinst das → 'return $ output ';' – somethingnow

    Verwandte Themen