Как использовать action-xhr и admin-post для отправки электронного письма формы AMP

У меня есть веб-сайт в WordPress, и я делаю некоторые страницы в AMP, но мне нужно сделать совместимую форму с AMP, Вот У меня есть документация, у меня есть некоторые трудности, связанные с подключением «action-xhr» к WordPress. Я пытался создать вечный файл, но у меня возникла ошибка при отправке.
введите описание изображения здесь

<form target="_top" action-xhr="https://mywebsite.com/wp-admin/admin-post.php" method="post" name="test">
<input type="text" name="name" value="Name">
<input type="submit"/>
</form>

1

Решение

Используйте этот код, если у вас возникнут проблемы с интеграцией, пожалуйста, дайте мне знать ..

   <?php
if(!empty($_POST))
{
$name = $_POST['name'];

/*/ this is the email we get from visitors*/
$domain_url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]";

/*//-->MUST BE 'https://';*/
header("Content-type: application/json");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: *.ampproject.org");
header("AMP-Access-Control-Allow-Source-Origin: ".$domain_url);/*/ For Sending Error Use this code /*/
if(!mail("email@example.com" , "Test submission" , "email: $name <br/> name: $name" , "From: $name\n ")){
header("HTTP/1.0 412 Precondition Failed", true, 412);

echo json_encode(array('errmsg'=>'There is some error while sending email!'));
die();
}
else
{
/*/--Assuming all validations are good here--*/
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");

echo json_encode(array('successmsg'=>$_POST['name'].'My success message. [It will be displayed shortly(!) if with redirect]'));
die();
}
}?>
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector