/ / wordpress встановити печиво в короткому коді - php, wordpress, cookies, http-заголовки, шорт-код

wordpress set cookie в короткому коді - php, wordpress, cookies, http-заголовки, короткий код

Я пишу плагін WordPress, де у мене є короткий код. Цей короткий код формує та обробляє форму. Після надсилання форми значення зберігається у файлі cookie з:

$result = setCookie("cookieName","cookieValue");

Потім результат повертає помилковий, тобто файл cookie не встановлений. Це не дивно, оскільки заголовки вже надсилаються під час виконання короткого коду. Я шукаю спосіб вирішити цю проблему.

Тут я знайшов кілька подібних питань. Більшість відповідей були: встановити файли cookie раніше, але це для мене насправді не варіант.

Єдине, про що я міг придумати, - це вихідбуферизація всього, але я не впевнений, що це правильний спосіб зробити це у wordpress (який гачок, як зберегти речі, сумісні з іншими плагінами тощо). Мені також цікаво, чи є вбудоване рішення, оскільки мені здається, що я не буду єдиним із цією проблемою.

Відповіді:

0 для відповіді № 1

Так, дизайн WP не дозволяє цього зробити. Якщо використання ранньої дії на зразок "init" не підходить, єдине, про що я можу подумати - це зробити дзвінок AJAX, де для цього нормально використовувати setcookie для зворотного дзвінка, а також JavaScript може встановлювати файли cookie безпосередньо.

Якщо вам абсолютно потрібно обчислити це взворотний виклик короткого коду, то, можливо, ви можете спершу щось зберегти в $ _SESSION або прихованій формі або атрибуті даних і пізніше помістити його у файл cookie (використовуючи дію "init" або передаючи значення в javascript і використовуючи це для створення печиво)


0 для відповіді № 2

ну я просто написав відповідь на інше запитання, я сподіваюся, що це може найкраще визначити, як і де написати файл cookie, який ви хочете використовувати в короткому коді.

потрібен правильний спосіб встановити cookie в wordpress