В WordPress не работают: Код (PHP): require 'admin.php'; require_once 'admin.php'; include 'admin.php'; include_once 'admin.php'; Конкретно эти функции не работают с именем файла 'admin.php', кто знает с чем это связано?
ты гонишь. в какой папке лежит подключающий скрипт и в какой подключаемый? про инклуды и текущую директорию
Оба в одной папке. Только переименовал файл из admin.php в admin1.php и всё работает. Глюк именно с именем admin.
Возможно они запретили использование этого имени. Взламывают часто панель на этом движке, так как пароли относительно лёгкие используют и линк на панель не меняют.
Возможно они хотели запретить доступ к файлу wp-admin/admin.php что бы админку не кто не инклудил))) Не много перетрудились и случись вот такая фигня. Пакамись у меня других соображений нету по этому поводу.
соображения из области фантастики. и вообще, где сообщение об ошибке? ты или опечатался и сделал неверные выводы, или успешно инклудишь, только не тот файл, про который думаешь. сделай Код (PHP): <?php echo ini_get('include_path'); узнаем откуда берутся файлы, когда ты не указал путь до них. и так Код (PHP): <?php include 'admin.php'; // не забудь переименовать, если надо include 'testxxx.php'; // какой-нибудь еще существующий файл $included_files = get_included_files(); foreach ($included_files as $filename) { echo "$filename\n"; }
Мне тоже это интересно, так не чего не было. Всё правильно было написано, я минут тридцать проверял. Ну я не такой дебил. Обязательно сделаю что ты написал. Добавлено спустя 18 минут 35 секунд: ini_get не чего не дала. D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\admin.php - Путь к файлу. Тест: Код (PHP): include 'admin.php'; include 'blabla.php'; // И ещё несколько фалов foreach (get_included_files() as $filename) echo $filename . '<br>'; exit; Тест и все файлы были в папке D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\, вот его результат: Код (PHP): D:\OpenServer\domains\wordpress\wp-admin\index.php D:\OpenServer\domains\wordpress\wp-admin\admin.php D:\OpenServer\domains\wordpress\wp-load.php D:\OpenServer\domains\wordpress\wp-config.php D:\OpenServer\domains\wordpress\wp-settings.php D:\OpenServer\domains\wordpress\wp-includes\load.php D:\OpenServer\domains\wordpress\wp-includes\default-constants.php D:\OpenServer\domains\wordpress\wp-includes\version.php D:\OpenServer\domains\wordpress\wp-includes\compat.php D:\OpenServer\domains\wordpress\wp-includes\random_compat\random.php D:\OpenServer\domains\wordpress\wp-includes\random_compat\byte_safe_strings.php D:\OpenServer\domains\wordpress\wp-includes\random_compat\cast_to_int.php D:\OpenServer\domains\wordpress\wp-includes\random_compat\error_polyfill.php D:\OpenServer\domains\wordpress\wp-includes\random_compat\random_bytes_mcrypt.php D:\OpenServer\domains\wordpress\wp-includes\random_compat\random_int.php D:\OpenServer\domains\wordpress\wp-includes\functions.php D:\OpenServer\domains\wordpress\wp-includes\option.php D:\OpenServer\domains\wordpress\wp-includes\class-wp.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-error.php D:\OpenServer\domains\wordpress\wp-includes\plugin.php D:\OpenServer\domains\wordpress\wp-includes\pomo\mo.php D:\OpenServer\domains\wordpress\wp-includes\pomo\translations.php D:\OpenServer\domains\wordpress\wp-includes\pomo\entry.php D:\OpenServer\domains\wordpress\wp-includes\pomo\streams.php D:\OpenServer\domains\wordpress\wp-includes\wp-db.php D:\OpenServer\domains\wordpress\wp-includes\cache.php D:\OpenServer\domains\wordpress\wp-includes\default-filters.php D:\OpenServer\domains\wordpress\wp-includes\l10n.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-walker.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-ajax-response.php D:\OpenServer\domains\wordpress\wp-includes\formatting.php D:\OpenServer\domains\wordpress\wp-includes\capabilities.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-roles.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-role.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-user.php D:\OpenServer\domains\wordpress\wp-includes\query.php D:\OpenServer\domains\wordpress\wp-includes\date.php D:\OpenServer\domains\wordpress\wp-includes\theme.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-theme.php D:\OpenServer\domains\wordpress\wp-includes\template.php D:\OpenServer\domains\wordpress\wp-includes\user.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-user-query.php D:\OpenServer\domains\wordpress\wp-includes\session.php D:\OpenServer\domains\wordpress\wp-includes\meta.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-meta-query.php D:\OpenServer\domains\wordpress\wp-includes\general-template.php D:\OpenServer\domains\wordpress\wp-includes\link-template.php D:\OpenServer\domains\wordpress\wp-includes\author-template.php D:\OpenServer\domains\wordpress\wp-includes\post.php D:\OpenServer\domains\wordpress\wp-includes\class-walker-page.php D:\OpenServer\domains\wordpress\wp-includes\class-walker-page-dropdown.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-post.php D:\OpenServer\domains\wordpress\wp-includes\post-template.php D:\OpenServer\domains\wordpress\wp-includes\revision.php D:\OpenServer\domains\wordpress\wp-includes\post-formats.php D:\OpenServer\domains\wordpress\wp-includes\post-thumbnail-template.php D:\OpenServer\domains\wordpress\wp-includes\category.php D:\OpenServer\domains\wordpress\wp-includes\class-walker-category.php D:\OpenServer\domains\wordpress\wp-includes\class-walker-category-dropdown.php D:\OpenServer\domains\wordpress\wp-includes\category-template.php D:\OpenServer\domains\wordpress\wp-includes\comment.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-comment.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-comment-query.php D:\OpenServer\domains\wordpress\wp-includes\class-walker-comment.php D:\OpenServer\domains\wordpress\wp-includes\comment-template.php D:\OpenServer\domains\wordpress\wp-includes\rewrite.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-rewrite.php D:\OpenServer\domains\wordpress\wp-includes\feed.php D:\OpenServer\domains\wordpress\wp-includes\bookmark.php D:\OpenServer\domains\wordpress\wp-includes\bookmark-template.php D:\OpenServer\domains\wordpress\wp-includes\kses.php D:\OpenServer\domains\wordpress\wp-includes\cron.php D:\OpenServer\domains\wordpress\wp-includes\deprecated.php D:\OpenServer\domains\wordpress\wp-includes\script-loader.php D:\OpenServer\domains\wordpress\wp-includes\class.wp-dependencies.php D:\OpenServer\domains\wordpress\wp-includes\class.wp-scripts.php D:\OpenServer\domains\wordpress\wp-includes\functions.wp-scripts.php D:\OpenServer\domains\wordpress\wp-includes\class.wp-styles.php D:\OpenServer\domains\wordpress\wp-includes\functions.wp-styles.php D:\OpenServer\domains\wordpress\wp-includes\taxonomy.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-term.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-tax-query.php D:\OpenServer\domains\wordpress\wp-includes\update.php D:\OpenServer\domains\wordpress\wp-includes\canonical.php D:\OpenServer\domains\wordpress\wp-includes\shortcodes.php D:\OpenServer\domains\wordpress\wp-includes\embed.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-embed.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-oembed-controller.php D:\OpenServer\domains\wordpress\wp-includes\media.php D:\OpenServer\domains\wordpress\wp-includes\http.php D:\OpenServer\domains\wordpress\wp-includes\class-http.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-http-streams.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-http-curl.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-http-proxy.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-http-cookie.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-http-encoding.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-http-response.php D:\OpenServer\domains\wordpress\wp-includes\widgets.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-widget.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-widget-factory.php D:\OpenServer\domains\wordpress\wp-includes\nav-menu.php D:\OpenServer\domains\wordpress\wp-includes\nav-menu-template.php D:\OpenServer\domains\wordpress\wp-includes\admin-bar.php D:\OpenServer\domains\wordpress\wp-includes\rest-api.php D:\OpenServer\domains\wordpress\wp-includes\rest-api\class-wp-rest-server.php D:\OpenServer\domains\wordpress\wp-includes\rest-api\class-wp-rest-response.php D:\OpenServer\domains\wordpress\wp-includes\rest-api\class-wp-rest-request.php D:\OpenServer\domains\wordpress\wp-includes\vars.php D:\OpenServer\domains\wordpress\wp-content\plugins\demo-data-creator\demodata.php D:\OpenServer\domains\wordpress\wp-content\plugins\demo-data-creator\plugin-register.class.php D:\OpenServer\domains\wordpress\wp-content\plugins\rus-to-lat-advanced\ru-translit.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\wp-seo.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\wp-seo-main.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\vendor\autoload_52.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\vendor\composer\autoload_real_52.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\vendor\composer\ClassLoader52.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\vendor\composer\autoload_namespaces.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\vendor\composer\autoload_classmap.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\onpage\class-onpage.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\onpage\class-onpage-option.php D:\OpenServer\domains\wordpress\wp-includes\pluggable.php D:\OpenServer\domains\wordpress\wp-includes\pluggable-deprecated.php D:\OpenServer\domains\wordpress\wp-includes\default-widgets.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-pages.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-links.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-search.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-archives.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-meta.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-calendar.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-text.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-categories.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-recent-posts.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-recent-comments.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-rss.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-widget-tag-cloud.php D:\OpenServer\domains\wordpress\wp-includes\widgets\class-wp-nav-menu-widget.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\wpseo-functions.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-options.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option-wpseo.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option-permalinks.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option-titles.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option-social.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option-rss.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option-internallinks.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option-xml.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-option-ms.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\options\class-wpseo-taxonomy-meta.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\class-wpseo-meta.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\class-wpseo-utils.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\class-sitemaps.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\class-sitemap-timezone.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\wpseo-non-ajax-functions.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-customizer.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-admin-init.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-admin.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\google_search_console\class-gsc.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-yoast-dashboard-widget.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\inc\class-wpseo-statistics.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-sitemaps-admin.php D:\OpenServer\domains\wordpress\wp-content\languages\ru_RU.php D:\OpenServer\domains\wordpress\wp-includes\locale.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\functions.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\core.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\wp_bootstrap_navwalker.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\index.php D:\OpenServer\domains\wordpress\wp-admin\includes\admin.php D:\OpenServer\domains\wordpress\wp-admin\includes\admin-filters.php D:\OpenServer\domains\wordpress\wp-admin\includes\bookmark.php D:\OpenServer\domains\wordpress\wp-admin\includes\comment.php D:\OpenServer\domains\wordpress\wp-admin\includes\file.php D:\OpenServer\domains\wordpress\wp-admin\includes\image.php D:\OpenServer\domains\wordpress\wp-admin\includes\media.php D:\OpenServer\domains\wordpress\wp-admin\includes\import.php D:\OpenServer\domains\wordpress\wp-admin\includes\misc.php D:\OpenServer\domains\wordpress\wp-admin\includes\options.php D:\OpenServer\domains\wordpress\wp-admin\includes\plugin.php D:\OpenServer\domains\wordpress\wp-admin\includes\post.php D:\OpenServer\domains\wordpress\wp-admin\includes\class-wp-screen.php D:\OpenServer\domains\wordpress\wp-admin\includes\screen.php D:\OpenServer\domains\wordpress\wp-admin\includes\taxonomy.php D:\OpenServer\domains\wordpress\wp-admin\includes\template.php D:\OpenServer\domains\wordpress\wp-admin\includes\class-walker-category-checklist.php D:\OpenServer\domains\wordpress\wp-admin\includes\class-wp-internal-pointers.php D:\OpenServer\domains\wordpress\wp-admin\includes\class-wp-list-table.php D:\OpenServer\domains\wordpress\wp-admin\includes\list-table.php D:\OpenServer\domains\wordpress\wp-admin\includes\theme.php D:\OpenServer\domains\wordpress\wp-admin\includes\user.php D:\OpenServer\domains\wordpress\wp-admin\includes\class-wp-site-icon.php D:\OpenServer\domains\wordpress\wp-admin\includes\update.php D:\OpenServer\domains\wordpress\wp-admin\includes\deprecated.php D:\OpenServer\domains\wordpress\wp-admin\menu.php D:\OpenServer\domains\wordpress\wp-admin\includes\menu.php D:\OpenServer\domains\wordpress\wp-includes\class-wp-admin-bar.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-yoast-notification-center.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-plugin-conflict.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-yoast-plugin-conflict.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\import\class-import-wpseo-hooks.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\import\class-import-hooks.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\import\class-import-aioseo-hooks.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\import\class-import-robots-meta-hooks.php D:\OpenServer\domains\wordpress\wp-content\plugins\wordpress-seo\admin\class-yoast-notification.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\blabla.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\pagination.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\posts_pagination.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\post_pagination.php D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\comments_pagination.php Я заметил ещё что этот глюк происходит только с админкой, почему blabla.php подгружается, а admin.php нет? Добавлено спустя 3 минуты 11 секунд: Тот же самый тест на клиентской части успешно пишет строку D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\admin.php, в админке не в какую.
вот кто тебя за язык тянет! не дала? охохо, похоже ты таки дебил. ты успешно подключаешь admin.php, поэтому реквайр не выдает ошибки, хотя вроде должен. ты подключил admin.php, только это не твой файл. и причина этому include_path! я тебе в первом своём каменте дал ссылку на описание как на самом деле работает инклуд/реквайр. ты х забил. чтобы настройка include_path не влияла на выбор файла, надо указать папку явно: например как __DIR__.'/admin.php' или './path-to/admin.php' — здесь "." соответствует папке точки входа, не факт, что это папка с файлом который делает include.
Похоже, но она мне не чего не вернула. Я не заметил, сейчас почитаю. Кстати include __DIR__ . '/admin.php'; заработала. А почему точка входа не соответствует директории с файлом? И почему файл D:\OpenServer\domains\wordpress\wp-content\themes\bootstrap\inc\pagination\admin.php надо было искать в D:\OpenServer\domains\wordpress\wp-admin\admin.php?
"ничего не вернула" слитно через и. "смотреть нечего" слитно через е. "не чего" syntax error! про папки просто запомни, понимать необязательно.
А как указать относительно какой директории должен грузиться файл? Хочу написать функцию что бы грузила файлы относительно текущей директории с файлами, что бы в следующий раз таких глюков не было, вот что получилось: Код (PHP): function inc ($path) { $path = __DIR__ . DIRECTORY_SEPARATOR . trim( $path, ' /\/' ); if ( file_exists($path) ) { return include($path); } return false; } Есть несколько минусов основной нельзя писать ../dir/file.php, только dir/file.php. Как допилить функцию что бы правильно работало?
а зачем так усложнять! где надо, ставь __DIR__ непосредственно в строку. в wordpress есть еще миллион функций-хелперов для ссылок на что угодно: https://codex.wordpress.org/Determining_Plugin_and_Content_Directories твоя миллион первая не добавит понятности )) Добавлено спустя 4 минуты 3 секунды: P.S. DIRECTORY_SEPARATOR нахуй не нужен. тошнит от этого просто. пиши везде юниксовый разделитель "/" и живи спокойно. и file_exists, и include поймут слеш даже на винде!