WordPress 5.5+ 如何正确定义和识别站点环境

断断续续的烟雨给江南披上了一件白色的纱衣,这件飘若浮云,清净如水的嫁纱,迷蒙了往昔,模糊了过去。我开始在其中憧憬,永远的置身于这种氛围中,让世俗的纠缠远离。

WordPress 5.5 引入了一个新wp_get_environment_type()功能,可以检索网站的当前环境类型。这使插件和主题作者可以更轻松地以标准化方式区分他们在生产和开发站点之间处理特定功能的方式。

默认情况下,此函数将返回production。默认情况下支持的其他值为developmentstaging

下面是如何使用此新功能确定站点的环境类型的示例。

switch ( wp_get_environment_type() ) {
    case 'development':
        do_nothing();
        break;
     
    case 'staging':
        do_staging_thing();
        break;
     
    default:
        do_production_thing();
        break;
}

当然,应注意使用这种功能来测试所有可能的路线。请记住,网站所有者和主机总是可以随时根据需要添加更多类型。

设置环境类型

有三种方法可以设置站点的环境类型。按照以下顺序处理它们,每个顺序选项将覆盖所有先前的值:WP_ENVIRONMENT_TYPEPHP环境变量,WP_ENVIRONMENT_TYPE常量和wp_get_environment_type过滤钩子。

对于所有三个环境,如果环境值不在允许的环境列表中,production则将返回默认值。

最简单的方法可能是通过定义常量:

define( 'WP_ENVIRONMENT_TYPE', 'staging' );

注意:如果developmentwp_get_environment_type()返回,当站点wp-config.php文件中未定义WP_DEBUG,那么WP_DEBUG将会被设置为true

指定批准的环境类型

与设置环境类型相似,有三种方法可以指定批准的环境类型。它们的处理方式与上述类型相同,每个顺序选项都覆盖了先前的值:WP_ENVIRONMENT_TYPESPHP环境变量,WP_ENVIRONMENT_TYPES常量和wp_environment_types过滤器。

假定站点希望支持test环境类型。下面是定义常量的示例:

define(
    'WP_ENVIRONMENT_TYPES',
    array(
        'production',
        'staging',
        'development',
        'test',
    )
);

注:这两个wp_get_environment_typewp_environment_types过滤器通过插件来使用,运行很早,并且被设计用于非网络运行时,如直接修改$wp_filter全局。

对所有主机和开发环境的要求

请求所有支持设置暂存环境的主机,在这些暂存环境上将此功能设置为staging。同样,我们要求具有开发环境的所有开发人员将此值设置为development适当的值。

插件和主题开发人员还应该添加对此功能的支持,并根据指定的环境适当地调整功能。


要了解更多信息,请参阅:#33161

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

本文WordPress 5.5+ 如何正确定义和识别站点环境到此结束。脆弱的心灵创伤太多,追求才是愈合你伤口最好的良药。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress做公司官网好吗?会不会显得档次很低?

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?