Не могу установить COOKIE на сайте Wordpress

S3
На сайте с 29.03.2012
Offline
342
3523

При попытке установить куки:

setcookie('sort', 'meta');

Получаю следуещее замечание об ошибке : Warning: Cannot modify header information - headers already sent by (output started at /home/rentalca/realby.info/wp-content/plugins/all-in-one-seo-pack/aioseop_class.php:1215) in /home/rentalca/realby.info/wp-content/themes/desert_new/page-scroll.php on line 23

Куки соответственно не устанавливаются.

в плагине в строке 1215 -

if (sizeof($active_handlers) > 0 &&

$this->strtolower( $active_handlers[sizeof( $active_handlers ) - 1] ) ==
$this->strtolower( 'All_in_One_SEO_Pack::output_callback_for_title' ) ) {
строка 1215 ob_end_flush();

В чем может быть дело? вообще при чем тут куки и изменение заголовка?

ДП
На сайте с 23.11.2009
Offline
203
#1

Дело в том, что куки передаются (устанавливаются) в заголовках. Ответ сервера состоит из заголовков и тела. Заголовки должны всегда идти перед телом. У вас плагин aioseop начинает вывод тела ответа, а вы после этого пытаетесь установить куки, поэтому php и ругается.

S3
На сайте с 29.03.2012
Offline
342
#2
Дикий пионер:
Дело в том, что куки передаются (устанавливаются) в заголовках. Ответ сервера состоит из заголовков и тела. Заголовки должны всегда идти перед телом. У вас плагин aioseop начинает вывод тела ответа, а вы после этого пытаетесь установить куки, поэтому php и ругается.

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

G
На сайте с 06.08.2012
Offline
59
#3

page-scroll.php загружается явно позже выдачи заголовков и после показа шапки. попробуйте в header.php посмотреть и до тега <html> добавить этот код

domen4you
На сайте с 08.03.2013
Offline
53
#4
Sly32:
Так а что делать? смешно, но на другом сайте с этим же набором плагинов, на этом же хостинге все работает. Попытался применить и получил эту бяку.

а темы на сайтах ведь разные? Там указано на строку из файла темы...

themes/desert_new/page-scroll.php on line 23

S3
На сайте с 29.03.2012
Offline
342
#5
domen4you:
а темы на сайтах ведь разные? Там указано на строку из файла темы...
themes/desert_new/page-scroll.php on line 23

В том-то и дело, что костяки тем одинаковы! При переносе даже упростил плагин, на турсайте у меня есть сложная выборка по куче параметров а тут нужно только отсортировать. по дате или просмотрам... А вообще там почти все взаимозаменяемо.

VulkanPartner
На сайте с 27.03.2014
Offline
91
#6

Sly32, какая разница выборка или не выборка... вам уже детально ответили почему так. И первым был PHP :)

aioseop_class.php:1215

вот здесь уже идет вывод информации, и отсылать заголовки уже не получится. Куки вам надо устанавливать ДО этого!

ob_end_flush();

судя по названию функции, там какой ты вывод инфы уже идет, а судя по условию

if (sizeof($active_handlers) > 0

можно предположить, что на одном сайте оно срабатывает, а на другом нет. Но суть не меняется - куки надо ставить ДО вывода какой-то информации!

Попробуйте поставить

setcookie('sort', 'meta');

в самом начале файла index.php :)

https://perestroika.team/ru/ (https://perestroika.team/ru/) Perestroika Affiliates- ведущая гемблинг-партнерка. RevShare - до 60%. CPA - до 150$.
S3
На сайте с 29.03.2012
Offline
342
#7

мне тогда в них смысла нет. Куки используются чтоб передать выбор пользователя по сортировке вывода. Сам вывод сделан через ajax так что и грузить page-scroll.php раньше времени смысла нет.

Чтоб не быть голословным открыл страницу где не работает -

http://www.realby.info/katalog/testovaya/

а тут все работает -

http://www.trutravel.ru/otdyx-v-belarusi/arenda-kottedzhej/

Mad_Man
На сайте с 10.11.2008
Offline
162
#8

Вы не можете установить куки средствами PHP после окончания формирования заголовка HTTP.

S3
На сайте с 29.03.2012
Offline
342
#9
Mad_Man:
Вы не можете установить куки средствами PHP после окончания формирования заголовка HTTP.

Я уже понял, спасибо, буду разбираться как правильно сделать

VulkanPartner
На сайте с 27.03.2014
Offline
91
#10
Sly32:
мне тогда в них смысла нет. Куки используются чтоб передать выбор пользователя по сортировке вывода. Сам вывод сделан через ajax так что и грузить page-scroll.php раньше времени смысла нет.

Так сразу бы и озвучили бы изначальную проблему! Куки можно и без PHP ставить.

Например, с помощью JQuery!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий