2012-02-03 8 views
0

Я новичок в Wordpress, и я хочу перенести данные с одной страницы на другую в wordpress. Я использовал php для отправки своих данных формы на страницу wordpress. Мой код:Как передавать данные между страницами Wordpress

<form method='post' action='http://www.example.com/www/create_website/'> 
..... 
<input type ='submit' value = 'OK'/> 
</form> 

Но каждый раз, когда я нажимал кнопку отправки, я не получил страницу с ошибкой. Почему это происходит потому, что ссылка загружает страницу в браузере, но не работает для сообщения формы. Как я могу решить проблему ???

+0

Работает ли URL в вашем браузере? –

+0

есть. Я работаю, я упомянул об этом в вопросительном посте ... – Rajat

+0

Ваша страница Wordpress, вероятно, делает переадресацию. Какой URL-адрес находится в панели браузера после нажатия кнопки «Отправить»? –

ответ

2

Если вам нужно перейти на одну из страниц вашего WordPress, пожалуйста, не помещайте прямую ссылку в действие. Вместо этого введите приведенный ниже PHP-код.

<form method='post' action='<?php bloginfo('url'); ?>/your-page-name/' > 

Если хочет перейти к конкретному файлу внутри каталога шаблона поместить приведенный ниже код

<form method='post' action='<?php bloginfo('template_url'); ?>/your-page.php' > 

Проверьте это WordPress codex page for more about bloginfo.

<?php bloginfo('url'); ?> 

будет генерировать URL-адрес базового сайта.

3

Проведя около дня, выясняя, как это сделать, я подумал, что это может быть полезно для других в сообществе stackoverflow.

ЦЕЛЬ: Чтобы получить результаты из поля формы и использовать его на другой странице. В этом примере мой клиент хотел, чтобы пользователи могли заполнить любую сумму в текстовом поле, чтобы оплатить Paypal. Я использую плагин S2Member для создания кнопок и подключения платежей Paypal, но они не предлагали эту функцию - только кнопки с жесткими проводными суммами. Вы можете увидеть это в действии здесь:
http://virginiabloom.com/?page_id=250. Но это ЖИТЬ. Если вы начнете платеж в PayPal, он будет вычитать деньги из вашей учетной записи. Это сделает Вирджинию очень счастливой. КАК Я РЕШЕН ЭТО: Во-первых, я создал форму только для этого поля. Введите Другую Сумму платежа $

Далее, я нашел очень простой плагин на StackOverflow и адаптировать его к моим потребностям:

<?php 
/* 
Plugin name: redirect on post 
Desciption: 

http://stackoverflow.com/questions/13686245/how-to-create-a-custom-url-based-on-dropdown-in-wordpress-form-submission 
I-changed-dropdown-to-field-input 
*/ 
function redirect_on_submit() { 
    // check if the post is set 
    if (isset($_POST['amount']) && ! empty ($_POST['amount'])) 

{ 
    header("Location: yourUrl.com/? 

page_id=542&amount=" . $_POST['amount']); 
    } 
} 
add_action('init', redirect_on_submit); 

ПРИМЕЧАНИЯ: Изменение URL страницы и идентификационной информации в заголовке, чтобы указать на Wordpress, на который вы хотите отправить информацию. Если вы не знаете, как вручную установить плагин, это очень просто. Сохраните фрагмент как .php-файл. Откройте свою учетную запись хостинга и найдите папку плагинов (ее в папке wp-content) Скопируйте файл в папку. Вернитесь к Wordpress и посмотрите на свои плагины. Вы должны увидеть это там. Если его не активировать, активируйте его.

Я установил еще один плагин: Разрешить PHP в почтах и ​​страницах (версия 3.0.4)

После его установки, плагин будет отображаться в меню Wordpress. Откройте его, и вы можете использовать их создатель фрагментов, который поместит php в ваш пост внутри короткого кода. Конфигурация:
Показать фрагмент не найдено сообщения: да (для отладки) Используйте старый (код pre.2.2: нет Используйте расширенный метод фильтра: да Удалить все данные плагина по установке: нет Вы должны увидеть в нижней части страницы появится фрагмент кода. Мой сниппет был прост. Я просто хотел повторить параметр «сумма» из URL-адреса страницы. Таким образом, это выглядело так:

echo $_GET['amount']?> 

Обратите внимание, что вы должны поместить конечный тег php, но не тег начала. Теперь вы просто используете короткий код [php function = 1] на странице, где бы вы ни захотели получить этот параметр.

Вот как это выглядит на странице моих результатов.

Чтобы убедиться, что пользователи могут вводить только десятичные числа, я использовал проверку jQuery в форме. Есть и другие способы сделать это, но это было очень просто. Просто поместите этот код на страницу с формой, которую я включил ниже.

<form id="myform" action="http://virginiabloom.com/?page_id=542" method="post"><span style="font-size:1.5em;">Enter Other Payment Amount $</span><input id="amount" class="left" name="amount" type="text" /><input type="submit" value="Submit" /></form> 

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script> 
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script> 
<script> 
$("#myform").validate({ 
    rules: { 
    amount: { 
     required: false, 
     number: true 
    } 
    } 
}); 
</script> 

Всё! Надеюсь, это поможет кому-то.

Смежные вопросы