Задать вопрос

Wordpress. Почему в скрипте php постоянно вылетает Fatal error: Call to undefined function?

Всем привет, объясните, пжл., как в целом работает wordpress.

У меня такая проблема: я хочу написать свой скрипт на основе уже имеющихся скриптов (код в основном взят из general-template.php).

Сайт работает нормально - там всё рабочее. Но как только я что-то беру из general-template.php, напишу немного там своего - Fatal error: Call to undefined function.

Запускаю полностью рабочий general-template.php - Fatal error: Call to undefined function, ну и дальше какая функция.

То есть по отдельности вообще ничего работает, а в целом работает. Как так?

Но мне ж свои скрипты надо тестировать по отдельности.

И причем, в general-template.php нет ни одного include, и нигде нет ни одного includ'a. - и это работает нормально.

P.S может, я запускаю нет так (и это скорее всего):
php -S localhost:8000 имя_моего_скрипта.php
  • Вопрос задан
  • 2570 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
rOOse
@rOOse
Frontend developer
Нельзя просто взять и запустить типа wordpress/wp-includes/my_script.php )
Или делаете плагин, в нем создаете свою страницу(add_plugins_page) и в ней выводите что хотите, или в functions.php пишите код, а далее опять же или add_options_page или просто страницу на фронтенде и задаете ей свой шаблон в котором делаете что хотите.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@zuzzz
Может в general-template.php нет include, но сам по себе этот файл не выполняется, а подключается из какого то другого скрипта. В контексте которого уже подключены все необходимые функции.
Ответ написан
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Как вы запускаете файл???
Он часть системы и пишет что нет функций которые ему нужны. Я ногу оторву, кросовок надену и буду спрашивать почему она не бежит.
Разворачивайте сайт по нормальному полностью и тестируйте.

Запуск вордпресса описан в кодексе. Если хотите использовать его скрипты у себя в проекте то нужно подключать файл require_once("/wordpress/wp-load.php");
Ответ написан
В Wordpress не обязательно include, так могут быть м hook. Скорее всего вы фунцию написали, но не зарегестрировали её, она так не работает. Нужно зарегестрировать в functions.php для темы или в файле плагина. Если вы хакаете, то же самое.
Да и сколько говорить уже! Код в студию!
Ответ написан
iKapex
@iKapex Автор вопроса
Все функции, которые пишем сами, нужно писать в funcntion.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы