it-swarm.com.de

Vorbeigehen POST Daten von einem WP Post zu einem anderen

Ich versuche, Daten zwischen zwei Wordpress-Posts über die POST -Methode aus einem Formular/Link zu übertragen. Der zweite Beitrag scheint jedoch nicht in der Lage zu sein, die POST -Daten zu erfassen. Ich frage mich, ob es irgendetwas mit meiner Permalink-Struktur zu tun hat, die keine Dateinamen, sondern nur Verzeichnispfade enthält.

Seite 1 verwendet das folgende Formular, um eine Verknüpfung zu Seite 2 herzustellen, während Daten über die POST -Methode durch ein ausgeblendetes Feld gesendet werden:

 <form name="offer" action="http://themotoroilevaluator.com/members-blog/motor-oil-bible-special-offer/" method="post" style="padding: 0px; margin: 0px;">
    <input type="hidden" name="discount" value="yes">
    <INPUT TYPE="image" SRC="/members-blog/wp-content/uploads/2011/12/special-offer.png" HEIGHT="350" WIDTH="550" BORDER="0" ALT="Discount Plus Additional Special Bonus Downloads - Click Here">
</form>

Dann habe ich auf Seite 2 den folgenden PHP-Code, der die Daten aus diesem versteckten Feld aus dem Array POST abrufen soll:

$discount = $_POST['discount'];

Sollte einfach genug sein, aber es funktioniert nicht. Ich habe versucht, den exakt gleichen Code auf einer eigenständigen PHP-Seite zu platzieren, und das Formular als "Aktion" auf dieser Seite gepostet, und es hat einwandfrei funktioniert. Was muss ich tun, damit dies in Wordpress funktioniert?

das Echo von $ discount oder $ _POST ['discount'] ergibt nichts und print_r ($ _POST) ergibt ein leeres Array. Irgendwelche Gedanken?

2
Michael

Sie müssen die Abfragevariable registrieren, damit sie von WP nicht entfernt wird. Fügen Sie dies Ihrer functions.php-Datei hinzu.

function foo_add_query_var($vars) {
    $vars[] = 'discount';
    return $vars;
}
add_filter('query_vars', 'foo_add_query_var');

Um dies in Ihrer Vorlage aufzurufen, verwenden Sie einfach Folgendes:

$discount = get_query_var('discount');
2
Brian Fegter