Создание пользовательских форм в WordPress - PullRequest
1 голос
/ 17 января 2020

Я создал пользовательскую форму в WordPress, используя метод POST. Однако при отправке я получаю сообщение об ошибке «Страница не существует» ... Я добавил пользовательскую страницу «custompage1. php» в каталог тем, который я использую в действии формы. Будет здорово, если вы посмотрите на код.

<html>
<head>
    <title>Meal Planner</title>
</head>
<body>
    <?php function checkregion($Region) 
    { 
   SWITCH ($Region) 
   { case "North": 
    echo "test1"; 
  break; 
 case "South": 
 echo "test2"; 
 break; 
 case "East": 
 header( 'location:https://www.test3.com/'); 
 break; 
 case "West": 
header( 'location: https://www.test4.com/'); 
break; 
} } 
 checkregion($Region); ?>
    <form action="../custompage1.php " method="POST">
        <method="POST">
            <p>Name</p>
            <input type="text" name="name">
            <p>Email</p>
            <input type="text" name="email">
            <p>Phone</p>
            <input type="text" name="phone">
            <p>Dropdown Box</p>
            <select name="Region" size="1">
                <option value="North">North</option>
                <option value="South">South</option>
                <option value="East">East</option>
                <option value="West">West</option>
            </select>
            <br />
            <input type="submit" value="SUBMIT">
            <input type="reset" value="CLEAR">
    </form>
</body>
</html>

1 Ответ

1 голос
/ 17 января 2020

Вы можете использовать get_template_directory_uri(), чтобы получить путь к каталогу темы, доступный через браузер. https://developer.wordpress.org/reference/functions/get_template_directory_uri/

<form action="<?= get_template_directory_uri() ?>/custompage1.php" method="post">
    ...
</form>

Стоит отметить, однако, что если вы используете дочернюю тему, вы должны использовать get_stylesheet_directory_uri() вместо.

...