Поддержка Проблемы и решения Переменная WP во внешний скрипт

  • Не столько проблема, сколько поиск решения.

    Как переменную определяемую в консоли WP сделать доступной для внешнего php-скрипта?

    Этот «внешний» скрипт находится в корне папки темы, но никак не подключен к WP, к нему я обращаюсь с помощью jQuery.ajax, с POSTом я передаю данные формы, а вот адрес на который они должны уйти я указываю в консоли. Но скрипт, (КО) не видит эту переменную $instance['email'], а постом таскать не хочу.

    Недавно читал описание как это сделать но так и не смог найти вновь. Решение заключалось в подключении через require_once какого-то из движковых файлов.

    Или может есть какой-либо другой способ, например не в базу сохранить, а в текстовый файлик или еще как-то?

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Модератор Yuri

    (@yube)

    Решение заключалось в подключении через require_once какого-то из движковых файлов.

    /wp-load.php

    А он за собой потащит весь движок. Есть ли смысл?

    Или может есть какой-либо другой способ, например не в базу сохранить, а в текстовый файлик или еще как-то?

    И так можно, и этак. По-любому серверу будет легче.

    Спасибо!
    Я надеялся на то, что не знаю какого-либо уже ранее реализованного способа решения подобной задачи. Хочется и умно и красиво сделать. Пока выходит, что варианты такие:

    1. Подключать wp-load.php
    2. Писать в базу и передавать через POST
    3. Писать в базу и скриптом читать из нее
    4. Писать во внешний файлик и скриптом его читать

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

    Думаю, что стоит или через POST но не явно, а как-то скрывать или по пути номер 4.

    Может что-то не учел?

    Модератор Yuri

    (@yube)

    Может что-то не учел?

    php-сессию 😉 Разумеется, если это всё происходит в пределах одного сеанса.

    Отлично, спасибо, @Юрий!

    Если вы таким образом пытаетесь работать с AJAX в WordPress, то это не совсем правильный способ. Есть API для работы с AJAX: http://codex.wordpress.org/AJAX_in_Plugins

    Если нет, то объясните чуть подробнее суть проблемы, что вы пытаетесь с чем скрестить и почему. Возможно есть и другие варианты решения 🙂

    Да, Константин, спасибо за ссылку.

    Суть идеи проста — есть один input на фронт-пейдже виджета, в консоли в этом виджете, я указываю адрес электронной почты на который поступает информация с указанного input. Т.е. аналог того, что на моей странице verha.net — оранжевое поле снизу с лэйблом «Укажите здесь Ваш email и я свяжусь с Вами».

    Этот скрипт не привязан к какой-либо CMS, позже, скорее всего, я сделаю из него плагин для WP, но сейчас мне нужно просто передать ему переменную из базы WP и я ищу разумные способы, пока сделал через POST вместе с пользовательскими данными, но светить адрес, мягко говоря, плохо.

    Мне нужен максимально простой способ передать внешнему скрипту значение переменной, которое я определяю в настройках виджета в консоли. Сделать это таким образом, чтобы эта переменная не была доступа извне.

    Ок, идея понятна, спасибо. Самый простой способ, это делать правильный AJAX запрос, и пользоваться функцией wp_mail для отправки сообщения. Вы так же можете проверить адрес на правильность функцией is_email, и выводить результат пользователю (мы вам перезвоним, или неверный адрес) используя ответ в формате JSON.

    Это всё ближе к WordPress, надёжнее да и проще, и уж тем более, если вы в дальнейшем собираетесь превратить это в плагин для WordPress 🙂

    Я понял, спасибо.
    Возможно, в попытке упростить задачу я усложнил ее для себя. Подумаю над реализацией средствами WordPress.

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Переменная WP во внешний скрипт» закрыта для новых ответов.