Intereting Posts
Каков предпочтительный способ добавления пользовательских файлов javascript на сайт? База данных взломана – изменены случайные сообщения Последние сообщения виджет без заголовка Как добавить разбивку на страницы в мой код? Пользовательский шаблон страницы, как проверить is_page из functions.php? Показывать только последние липкие сообщения, отображать другие сообщения в хронологическом порядке Проверьте, выполняется ли PHP-документ WordPress или напрямую CMB2 условная логика обмена Как изменить поле в базе данных через кнопку отправки или флажок? Подключиться к серверу с помощью SFTP вместо FTP / FTPS в WordPress Backup Как создать виртуальные страницы с информацией из полей мета-профиля пользователя? Пользовательский список таксономии, выбор поплавков вверх Как добавить атрибуты к таксономии, которые могут отличаться от должности для публикации? WordPress Update Plugin Hook / Action? Начиная с 3,9 Импорт XML-файлов для вложений или изображений

Как вы обнаружите, установлен ли WordPress в подкаталоге (не root)?

Я хочу проверить, работает ли установка WordPress из подкаталога.

Общие методы для этого перечислены здесь: https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

они обычно включают в себя изменение файла индекса и требующий от него основного файла WordPress, возможно, изменение правил в htaccess при использовании Apache – нет настройки констант из того, что я могу видеть

так, как бы вы надежно обнаруживали, если WordPress не запущен из корня каталога?

Вам нужно проверить, отличается ли сайт от исходного URL:

if ( get_option( 'siteurl' ) !== get_option( 'home' ) ) { // whatever 

Это также работает, если home является подкаталогом корня, а WordPress установлен в другом подкаталоге. Например: domain.com/blog (URL) и domain.com/blog/wordpress (siteurl).

Я просто наткнулся на тот же вопрос и нашел другой способ понять это. Вы также можете использовать определенные константы из файла wp-config.php. SUBDOMAIN_INSTALL был бы ключевым.

Пример. Выдержка из wp-config для параметров Multisite будет

 define('WP_ALLOW_MULTISITE', true ); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', 'intern.cc.dev'); define('PATH_CURRENT_SITE', '/'); 

В вашем коде

 // only run condition, when we are in MS if( is_multisite() ): // check for subfolder installation flag if( SUBDOMAIN_INSTALL === false): // optional, check if you are on the home WP or a sub WP if( get_current_blog_id() > 1): // do whatever you need to to here endif; // end blog id check endif; // end subfolder installation endif; // end multisite check