为啥 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

我的网站有一个别名,我的 homeaddress 与我的 site_urladdress 不同,导致 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`的主要内容,如果未能解决你的问题,请参考以下文章

为啥 find 命令的 -exec 选项需要反斜杠和分号?

为啥 GCP“Memorystore for Redis”不允许添加公共 IP 的选项?

为啥选项卡视图中的一个表视图可以正常工作,而另一个在导航栏下启动?

tomcat正常启动但是为啥不能访问页面

windows内核为啥不是文件

为啥我在基于文档的应用程序中收到无效上下文 0x0 错误?