Вопрос: WP плагин не работает после запуска сайта

Я пытаюсь понять плагины Wordpress, я сделал хороший маленький плагин, который позволяет загружать изображение на носитель.

Однако это работает только на локальном хосте, после того как я переместил файлы на свой хост, он перестал работать.

Кнопка моего плагина все еще работает, когда я нажимаю на него, он перенаправляет меня на пустую страницу.

Как мне решить эту проблему?

Вот мой индекс: https://pastebin.com/CU7AeGWD Вот кнопка: https://pastebin.com/bLG50tJp

Советы будут очень признательны.

Ответы и комментарии:

Добро пожаловать на сайт и разработку плагина в целом! "перестал работать" не очень много говорит, вы пытались отладить это дальше?
Создан 12-12-2018 11:11 kero

спасибо, да, я сделал что-то, и теперь единственная ошибка, которую я получаю, связана с этим: function _custom_menu_page (), так что я думаю, что я не связал это правильно, хотя я могу ошибаться
Создан 12-12-2018 11:17 Nls

Я получил это после установки его в true: pastebin.com/wNgfwrx9
Создан 12-12-2018 09:49 Nls

Это плагин, который вы используете для загрузки? Если нет, попробуйте отключить, чтобы проверить, может ли это изменить функциональность вашего собственного плагина.
Создан 12-12-2018 09:01 Jim

Спасибо, поэтому, если ни один из моих журналов отладки не связан с моим кодом, может ли это быть хост, блокирующий загрузчик файлов?
Создан 12-12-2018 09:16 Nls

Думаю, нет. Вы можете попробовать загрузить простое изображение в медиа и посмотреть, работает ли оно или нет. Вы пытались изменить действие с пустого значения на #?
Создан 12-12-2018 10:22 Hector

Я загрузил изображение в медиа, так что это сработало, и да, я изменил действие на '#'
Создан 12-12-2018 10:46 Nls

Пожалуйста, проверьте следующее

Вы проверили URL вашей установки Wordpress
Вы проверили, что ваш веб-хостинг совместим с загрузкой (права доступа к файлам, права пользователя)
Вы повторно сохранили постоянные ссылки (чтобы убедиться, что URL-адреса используются правильно)

Изменить: этот небольшой объем информации дает нам мало места для работы. Кроме того, убедитесь, что для WP Debug установлено значение true, поскольку оно может предоставить вам информацию, которую вы обычно не получаете.
Создан 12-12-2018 08:51 Jim311

Прежде всего, вам не нужно включать файлы WordPress из папки wp-admin, потому что вы используете media_handle_upload на стороне администратора. Они необходимы только тогда, когда вы хотите загрузить из front-end.
Таким образом, вы можете удалить эти строки кодов:
$ path = get_home_path ();

require_once ($ path. 'wp-admin / includes / image.php');
require_once ($ path. 'wp-admin / includes / file.php');
require_once ($ path. 'wp-admin / includes / media.php');

Затем попробуйте заполнить атрибут действия вашей формы, используя #, потому что пустое значение недопустимо и может привести к проблемам при отправке формы.
Также не ваш журнал отладки связан с вашими кодами.
Проверьте документацию media_handle_upload для примеров кодов.
Изменить: чтобы отладить ваш код и посмотреть, что является результатом загрузки, вы можете использовать функцию error_log после активации WP_DEBUG_LOG.
$ attachment_id = media_handle_upload ('fileToUpload', 0);
// Записать результаты.
ob_start ();
var_dump ($ attachment_id);
error_log (ob_get_clean ());

Затем вы можете проверить файл wp-content / debug.log, чтобы увидеть, что происходит.
Создан 12-12-2018 03:48

Спасибо всем за помощь и улучшение моего кода!
Это решение:
function _custom_menu_page () {
    include_once DIR. '/Index.php';
}
Это наконец работает!
Создан 12-12-2018 11:52 Nls12