为啥 WP_CONTENT_URL 基于选项 `siteurl` 而不是 `home`
Posted
技术标签:
【中文标题】为啥 WP_CONTENT_URL 基于选项 `siteurl` 而不是 `home`【英文标题】:Why WP_CONTENT_URL is based on option `siteurl` instead of `home`为什么 WP_CONTENT_URL 基于选项 `siteurl` 而不是 `home` 【发布时间】:2018-01-02 10:47:54 【问题描述】:只是想知道为什么通过阅读default-constants.php
中的源代码:
function wp_plugin_directory_constants()
if ( !defined('WP_CONTENT_URL') )
define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content'); // full url - WP_CONTENT_DIR is defined further up
我的网站有一个别名,我的 home
address 与我的 site_url
address 不同,导致 CORS 问题。
使它指向home
的最佳方法是什么?
【问题讨论】:
定义 WP_CONTENT_URL ? 是的,我希望是get_option('home')
不,它是(如代码所示) get_option('siteurl') 。 '/wp-content'(注意 wp-content)
那你为什么能解释一下?
【参考方案1】:
默认使用的值,即 WordPress 地址 (siteurl
),涵盖了两种最常见的 WordPress 配置。
-
WordPress URL 和站点 URL 相同
WordPress 正在其他文件夹中运行
如果您改用站点 URL (home
),任何希望在不同文件夹中运行 WordPress 的人都必须手动设置内容目录常量或移动其 wp-content 目录。
由于您没有运行 WordPress 的标准配置,您只需要自己覆盖常量。
get_option()
在wp-config.php
中不起作用,因此您需要手动输入 URL 或使用其他检测方法。在我看来,您可能最好手动输入它,但这将取决于上下文。
define( 'WP_CONTENT_URL', 'https://example.com/wp-content' );
【讨论】:
我错误地认为,要让我的别名起作用,我只需要更改站点 URL(请参阅 ***.com/a/37017037/1073786)。最后,我将两个 URL 与我的别名对齐,并且不再有 CORS 问题。谢谢以上是关于为啥 WP_CONTENT_URL 基于选项 `siteurl` 而不是 `home`的主要内容,如果未能解决你的问题,请参考以下文章
为啥 GCP“Memorystore for Redis”不允许添加公共 IP 的选项?