Поддержка Плагины Передача параметров из формы в виджете в скрипт на стр

  • Делаю плагин.

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

    Вопрос в том, куда и как правильно передавать параметры из формы.

    Ну т.е. в рамках обычной связки php+html делается <form method=»get/post» action=»http://domain.com/scriptpage.php»&gt; и дальше уже скрипт на scriptpage.php делает всё, что ему нужно с параметрами. А как это всё правильно сделать в рамках вордпресса я не знаю, медитация на гугл и wordpress codex не помогла.

    Хелп плиз.

    P.S. можно передавать как в страницу, так и в пост — не критично. хотя лучше, наверное в страницу.

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Atrax

    (@atrax)

    Ethical engineer

    Если вы сделаете плагин, который вешается на какое-нибудь стартовое событие, то теоретически в нем вы можете получать GET/POST и делать с ним что угодно перед тем, как отработает сам WP. В том числе получать из формы данные.

    Как вариант — написать функцию и разместить ее в functions.php вашей темы.

    я прошу прощения, но я полный, почти что, ламер в этих вопросах.

    Как я себе это представляю:

    открывается по сабмиту адрес типа mydomain.com/?page_id=2&parameter1=a&parameter2=b&parameter3=c&panametern=z

    срабатывает какое-то событие, например «достать содержимое страницы page_id=2», вместо него (вместе с ним?) начинают работать функции моего скрипта выводя в контент-области шаблона результат работы скрипта. так?

    так, кажется нашел.

    Conditional tags, тэг is_page().

    Как я понимаю, в шаблоне в разделе контента:

    if ( is_page(‘моя_страница’) ) { myscriptmainfunction() };

    ну это если плагин под конкретный шабло 😉

    а если отдельный, простоинсталлируемый плагин…

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Пример фильтра:

    function form_results($content) {
    	$results = print_r($_POST, true);
    	return str_replace('[results]', $results, $content);
    }
    add_filter('the_content', 'form_results');

    Нужно создать страницу с текстом [results] и указать её в качестве адреса для формы. В эту же функцию можно добавить необходимую обработку. Здесь просто выводится массив $_POST как есть.

    Кажется нашел ещё одну реализацию, уже от шаблона незавизимую (как в плагине sidebar photoblog):

    делается функция инсталляции плагина, в которой создается страница с shortcode’ом и потом это шорткод обрабатывается.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Да, этот путь похож на правильный 🙂

    SergeyBiryukov, спасибо, классное решение.

    В Вашем решении получается, что функция будет запускаться каждый раз, когда происходит the_content?

    тогда всётаки через is_page() — лучше, как я понимаю, т.к. можно запускать только на определённой странице 😉

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Передача параметров из формы в виджете в скрипт на стр» закрыта для новых ответов.