Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не работает код php на Вордпрессе
Форумы портала PHP.SU » » Вопросы новичков » Не работает код php на Вордпрессе

Страниц (2): [1] 2 »
 

1. IvanBr - 05 Февраля, 2017 - 10:36:19 - перейти к сообщению
Доброго времени суток, уважаемые форумчане! Во-первых, прошу строго не судить, я начинающий. А вопрос такой: есть код php (по очереди отображает каждую строку файла klychi.txt). Код на ура работает на хостинге. Но когда ставлю его в functions.php своей темы на Вордпресс, то этот код не работает, просто ничего не отображается. Пробовал ставить в single.php - тоже ничего. Что не так? Права доступа на все файлы 777. Хоть куда копать? Заранее благодарен за помощь. Вот сам код:

PHP:
скопировать код в буфер обмена
  1.  $klychi = 'klychi.txt';
  2. $counter = 'counter.inf';
  3. Здесь был сам код, кто участвовал в обсуждении темы, знает о чем речь
  4.  
2. Heavenanvil - 05 Февраля, 2017 - 15:46:44 - перейти к сообщению
IvanBr пишет:
Код на ура работает на хостинге. Но когда ставлю его в functions.php своей темы на Вордпресс, то этот код не работает, просто ничего не отображается.

А этот хостинг, тот же, на котором стоит wordpress?
Включите отображение php-ошибок и посмотрите, на что ругается.
3. IvanBr - 05 Февраля, 2017 - 17:23:20 - перейти к сообщению
Heavenanvil пишет:
IvanBr пишет:
Код на ура работает на хостинге. Но когда ставлю его в functions.php своей темы на Вордпресс, то этот код не работает, просто ничего не отображается.

А этот хостинг, тот же, на котором стоит wordpress?
Включите отображение php-ошибок и посмотрите, на что ругается.


Да, хостинг тот же. И никакие php-ошибки не отображаются.
4. Heavenanvil - 05 Февраля, 2017 - 17:35:19 - перейти к сообщению
IvanBr, а вы включили отображение ошибок?


А зачем вообще вы пытаетесь добавить этот код в functions.php?
Попробуйте создать любой отдельный php-файл, а затем вывести его виджетом, например «этим».
5. Строитель - 05 Февраля, 2017 - 17:37:02 - перейти к сообщению
Heavenanvil пишет:
никакие php-ошибки не отображаются.
А вы включали их отображение?

А ещё проверьте адреса к файлам klychi.txt и counter.inf на хостинге.
(Добавление)
IvanBr пишет:
Но когда ставлю его в functions.php
Покажите код, как именно вы его вставляете в тело функции. Возможно у вас просто проблема с областью видимости переменных.
6. IvanBr - 05 Февраля, 2017 - 18:26:08 - перейти к сообщению
Heavenanvil пишет:
IvanBr, а вы включили отображение ошибок?


А зачем вообще вы пытаетесь добавить этот код в functions.php?
Попробуйте создать любой отдельный php-файл, а затем вывести его виджетом, например «этим».


Чтобы включить показ ошибок я в .htaccess файл в самое начало добавил строку
php_flag display_errors on

Этот код мне нужен для того, чтобы в каждой новой статье сайта на движке Вордпресс в самый низ статьи сразу после видео контента добавлялся новый ключ как раз из папки klychi.txt (ключ самой статьи я сумел добавить). Вот мой тестовый сайт и ссылка на начало кода functions.php:
7. Heavenanvil - 05 Февраля, 2017 - 18:35:38 - перейти к сообщению
IvanBr, попробуйте поставить плагин «Inline PHP», должно помочь.
После установки просто добавляете свой код в тегах между <exec>...</exec> или [exec]...[/exec] в любом месте шаблона.
8. IvanBr - 05 Февраля, 2017 - 18:44:27 - перейти к сообщению
Heavenanvil пишет:
IvanBr, попробуйте поставить плагин «Inline PHP», должно помочь.
После установки просто добавляете свой код в тегах между <exec>...</exec> или [exec]...[/exec] в любом месте шаблона.



Да, пробовал через установку плагина, размещал код между указанными вами тегами, не помогает
9. Строитель - 05 Февраля, 2017 - 19:13:56 - перейти к сообщению
IvanBr, я ваш рабочий код, для примера, прописал в теле функции foo() . Сохраните его в отдельный пхп-файл и посмотрите в браузере на результат его работы. Если работает, то свою функцию допиливайте по моему примеру.
Спойлер (Отобразить)

(Добавление)
IvanBr, только что обратил внимание, что у вас в этой строке

$klychi = file_get_contents($klychi);

переменная $klychi строчного типа, а внизу вы к ней обращаетесь, как к массиву

$klychi[$curent_position]

Если бы у вас был включён показ ошибок, то вы бы увидели соответствующее уведомление об этом.
10. IvanBr - 05 Февраля, 2017 - 19:24:22 - перейти к сообщению
Строитель пишет:
IvanBr, я ваш рабочий код, для примера, прописал в теле функции foo() . Сохраните его в отдельный пхп-файл и посмотрите в браузере на результат его работы. Если работает, то свою функцию допиливайте по моему примеру.
Спойлер (Отобразить)

(Добавление)
IvanBr, только что обратил внимание, что у вас в этой строке

$klychi = file_get_contents($klychi);

переменная $klychi строчного типа, а внизу вы к ней обращаетесь, как к массиву

$klychi[$curent_position]

Если бы у вас был включён показ ошибок, то вы бы увидели соответствующее уведомление об этом.


Спасибо огромное за участие и помощь, сейчас буду исправлять. При любом результате отпишусь.
(Добавление)
К сожалению ничего не получается. "Строитель" посоветовал протестировать код. В отдельном РНР файле он отлично работает, а на Вордпрессе нет - на месте результата светит bool(false). Скорее всего это из-за ошибки которую заметил "Строитель"

IvanBr, только что обратил внимание, что у вас в этой строке
$klychi = file_get_contents($klychi);
переменная $klychi строчного типа, а внизу вы к ней обращаетесь, как к массиву
$klychi[$curent_position]

Если возможно, подскажите, как исправить? Спасибо.
11. Строитель - 05 Февраля, 2017 - 21:37:47 - перейти к сообщению
IvanBr пишет:
на месте результата светит bool(false).
А вы передаёте в foo() параметры, когда тестируете код на ВП ? Какие именно параметры? (если передаёте)
12. IvanBr - 05 Февраля, 2017 - 21:42:59 - перейти к сообщению
Строитель пишет:
IvanBr пишет:
на месте результата светит bool(false).
А вы передаёте в foo() параметры, когда тестируете код на ВП ? Какие именно параметры? (если передаёте)


Я точно не знаю правильно или нет, но вызов функции прописываю так:
var_dump(foo('klychi.txt', 'counter.inf'));
13. Строитель - 05 Февраля, 2017 - 21:48:35 - перейти к сообщению
IvanBr пишет:
вызов функции прописываю так
А пути к файлам разве не нужно корректировать? Например, на тестовом сайте у вас эти два текст-файла "лежат" в той же папке, в которой и пхп файл с кодом. А когда вы переносите код в functions.php, то пути к файлам наверняка изменятся. Или вы эти файлы рядом с functions.php разместили?
14. IvanBr - 05 Февраля, 2017 - 21:50:11 - перейти к сообщению
Строитель пишет:
IvanBr пишет:
вызов функции прописываю так
А пути к файлам разве не нужно корректировать? Например, на тестовом сайте у вас эти два текст-файла "лежат" в той же папке, в которой и пхп файл с кодом. А когда вы переносите код в functions.php, то пути к файлам наверняка изменятся. Или вы эти файлы рядом с functions.php разместили?



да, пака тестирую именно рядом и разместил
15. Строитель - 05 Февраля, 2017 - 21:55:46 - перейти к сообщению
IvanBr пишет:
да, пака тестирую именно рядом и разместил
Ну тогда код должен работать ... А описание функции вы разместили корректно в коде файла functions.php?
Строго говоря, если функция foo() вам возвращает bool(false), то это свидетельствует о том, что скрипт не видит файла klychi.txt

 

Powered by ExBB FM 1.0 RC1