TLDR:
При нестандартной установке вы можете разместить файлы WordPress в подкаталоге корня вашего сайта.
... и по-прежнему разрешать вашим посетителям посетителям получать доступ к вашему «веб-сайту» WordPress с доменного (корневого) URL вашего сайта без добавления имени подкаталога:
(то есть: www.example.com
vs www.example.com/wordpress
):
WP function | wp_options. | WP constant | what it represents | WP Settings Label | Example
-------------------------------------------------------------------------------------------------------------------------------------
`site_url()` | `siteurl` | `WP_SITEURL` | WordPress files location | WordPress Address | https://www.example.com/wordpress
`home_url()` | `home` | `WP_HOME` | browser address bar | Site Address | https://www.example.com
Где значение для константы WP имеет приоритет над значением wp_options / WP Settings.
Различные конфигурации для WordPress
В большинстве стандартных установок WordPress home_url
и site_url
будет иметь такое же значение.
Несмотря на это, они представляют собой две разные вещи.
При нестандартной установке они могут иметь разные значения.
ПРИМЕЧАНИЕ. Я опускаю протокол в своем ответе для удобства чтения.
В этом посте, снабдите КАЖДОГО URL с:
https://
, http://
или //
(если я не включил его уже).
( //
является relative
протоколом и будет работать либо на / на обоих, http://
либо https://
)
Стандартные установки (включая установку в один клик)
home_url
: является домашней страницей вашего (WordPress) веб-сайта, как указано в адресной строке пользователя.
site_url
: каталог, в котором находятся ваши файлы WordPress.
5-минутная установка WordPress устанавливает файлы WordPress. Эти два значения будут одинаковыми: файлы WordPress будут установлены в ту же папку, которую вы хотите, чтобы люди использовали для обращения к вашему сайту, или в WordPress (блог) часть сайта вашего сервера.
Пример 1:
пользователь получает доступ к блог по адресу: www.example.com
,
WordPress файлов , установленных по адресу: www.example.com
или в корневой папке веб - сайте сервера.
home_url
=== site_url
==="www.example.com"
Пример 2:
пользователь получает доступ к блог по адресу: www.example.com/blog
,
WordPress файлов , установленные по адресу: www.example.com/blog
или в blog
папке внутри корневого каталога вашего сайта.
home_url
=== site_url
==="www.example.com/blog"
В этом случае www.example.com
это основной сайт, и www.example.com/blog
это корень вашего блога.
Здесь ваш блог отделен от вашего основного веб-сайта и работает как подмножество.
В этом случае ваш основной веб-сайт не контролируется, не определяется и не разрабатывается WordPress.
Просто твой блог есть. Все URL в вашем блоге будут обработаныwww.example.com/blog
Примечание. В документации «сайт / сайт Wordpress» (в отличие от просто «сайт / сайт») относится к каталогу, в котором установлены файлы WordPress. В данном случае это www.example.com/blog
все внутри blog
папки. «Веб-сайт WordPress» в этом сценарии не совпадает с вашим доменом, вашим корнем или вашим основным веб-сайтом. Это подмножество вашего общего сайта. Вроде как сайт внутри сайта. Я упоминаю об этом, поскольку терминология может показаться неясной или запутанной, учитывая данную конкретную настройку.
Конфигурация альтернативной установки WordPress
Предоставление WordPress свой собственный каталог , раздел Method II (With URL change)
.
Например, многие люди не хотят забивать корневую папку своего сайта всеми файлами WordPress.
Они хотят установить WordPress в подкаталоге, * но имеют доступ к «блогу» или «веб-сайту WordPress», как если бы файлы были установлены в корне корневого каталога сервера для веб-сайта.
Это особенно верно, когда WordPress используется для создания и запуска целого веб-сайта, у которого даже нет «блога».
Пример 3:
пользователь получает доступ к вашему «блог» по адресу: www.example.com
,
WordPress файлов , установленных по адресу: www.example.com/wordpress
или в корневой папке веб - сайте сервера.
home_url
=== "www.example.com"
site_url
==="www.example.com/wordpress"
(Примечание: эта конфигурация не будет работать «из коробки», просто изменяя значения этих переменных. Для правильной работы требуются дополнительные изменения конфигурации).
См. Раздел « Предоставление WordPress собственного каталога» , раздел, озаглавленный, Method II (With URL change)
как это сделать.
В этом случае home_url
и site_url
должны иметь разные значения.
В этой установке, вы хотите , чтобы ваш сайт , чтобы работать точно так , как будто были установлены WordPress файлы в корневой директории сервера для вашего сайта ...
НО, для организационных целей на сервере,
вы на самом деле есть свои WordPress файлы в папке wordpress
в сервера корневой каталог для вашего сайта.
Таким образом, пользователь будет набирать, www.example.com
чтобы получить домашнюю страницу WordPress, а неwww.example.com/wordpress
функция wordpress <-> переменная базы данных <-> константа Wordpress
Этот раздел предполагает конфигурацию примера 3 выше.
URL адресной строки: www.example.com
WordPress файлы: / WordPress каталог
(Другие случаи тривиальны: все переменные / функции удерживают / возвращают одно и то же значение.)
Как установить значения для
site_url
и
home_url
Во-первых, позвольте мне заметить, что siteurl
и home
хранить значения, возвращенные функциями выше
1) Обычно вы устанавливаете эти значения на бэкэнд / панель инструментов / админ панель
Settings -> General ->
siteurl
WordPress: https://www.example.com/wordpress
home
Адрес WordPress: Адрес сайта: https://www.example.com
(не включайте косые черты здесь - это будет настроено в другом месте)
2) В качестве альтернативы, вы устанавливаете эти значения в вашей базе данных WordPress:
wp_options
таблица ->
`options_name` | `options_value`
----------------------------------------------------
`siteurl` | `https://www.example.com/wordpress`
`home` | `https://www.example.com`
(не включайте косые черты здесь - это будет настроено в другом месте)
3) Отредактируйте ваш wp-config.php
Определить эти конкретные константы, чтобы сохранить ваши значения
Определить WP_HOME
и WP_SITEURL
настройки, вставив эти строки в начало вашего wp-config.php
файла:
define('WP_SITEURL','http://example.com/wordpress'); // wordpress core files
define('WP_HOME','http://example.com'); // address bar url
// ** MySQL settings - You can get this info from your web host ** //
...
(не включайте косые черты здесь - это будет настроено в другом месте)
Ссылка: WP_SITEURL и WP_HOME
ПРИМЕЧАНИЕ: это сбивает с толку
(я действительно хотел бы, чтобы WordPress пометил настройки, похожие на их имена php,
такие как Wordpress Site Address
и Home Page Address
или что-то более явное, например, location of WordPress Site core files
и browser url to access WordPress home page
)
`WP_SITEURL` <--> `site_url()` <--> `siteurl` <--> Wordpress Address <--> /wordpress
`WP_HOME` <--> `home_url()` <--> `home` <--> Site Address <--> /
Теперь вот где это становится сложно!
Если вы определили эти константы в своемwp-config.php
файле, не имеет значения, какие значения вы используете на своей странице базы данных / настроек.
Фактически, вы не сможете изменить это значение через бэкэнд (оно будет выделено серым цветом). Вы все еще можете внести изменения, отредактировав свою базу данных, но это не повлияет на ваш сайт, в то время как константы существуют в вашем файле wp-config.
Ваш конфигурационный файл не изменит значения в вашей базе данных (или, следовательно, на странице настроек). Вместо этого значения вашей страницы базы данных / настроек будут игнорироваться . Значения в wp-config переопределяют или имеют приоритет над настройками вашей базы данных.
Итак ... подвести итог (TLDR):
WP function | wp_options. | WP constant | what it represents | WP Settings Label | Example
-------------------------------------------------------------------------------------------------------------------------------------
`site_url()` | `siteurl` | `WP_SITEURL` | WordPress files location | WordPress Address | https://www.example.com/wordpress
`home_url()` | `home` | `WP_HOME` | browser address bar | Site Address | https://www.example.com
Где значение для константы WP имеет приоритет над значением wp_options / WP Settings.
Значение записи wp_options и значение WP Settings совпадают.
Редактирование одного, по определению редактирование другого.
Это просто 2 разных способа доступа к одной и той же переменной.
С другой стороны, константы WordPress уникальны и независимы.
Внутренне константы WordPress (PHP) переопределяют свои аналоги в БД.
Если константа определена в wp-config, она не изменит базу данных.
Но внутренне WordPress всегда предпочитает / использует его значение вместо db.