J'essaie de transmettre des données entre deux publications Wordpress via la méthode POST à partir d'un formulaire/lien. Toutefois, le deuxième message ne semble pas pouvoir saisir les données POST. Je me demande si cela a quelque chose à voir avec ma structure de lien permanent qui n'a pas de nom de fichier, seulement des chemins de répertoire.
La page 1 utilise le formulaire suivant pour "créer un lien" avec la page 2 lors de l'envoi de données via un champ masqué via POST Méthode:
<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>
Ensuite, à la page 2, j'ai le code php suivant qui est supposé récupérer les données de ce champ caché du tableau POST:
$discount = $_POST['discount'];
Ça devrait être assez simple, mais ça ne marche pas. J'ai essayé de placer exactement le même code sur une page php autonome et j'avais le formulaire post à cette page comme "action", et cela a bien fonctionné. Que dois-je faire pour que cela fonctionne dans Wordpress?
echoing $ discount ou $ _POST ['discount'] ne donne rien et print_r ($ _ POST) donne un tableau vide. Des pensées?
Vous devez enregistrer la requête var afin qu'elle ne soit pas supprimée par WP. Ajoutez ceci à votre fichier functions.php.
function foo_add_query_var($vars) {
$vars[] = 'discount';
return $vars;
}
add_filter('query_vars', 'foo_add_query_var');
Pour appeler cela dans votre modèle, utilisez simplement ce qui suit:
$discount = get_query_var('discount');