alexsancho/wp-readonly-options

在您的代码中预定义WordPress选项并强制get_option()的结果。

此包的官方仓库似乎已消失,因此该包已被冻结。

安装: 271

依赖: 1

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:wordpress-muplugin

v1.0.2 2018-03-28 17:05 UTC

This package is auto-updated.

Last update: 2021-10-14 13:10:06 UTC


README

Build Status

您是否曾希望将所有选项设置为 define('PLUGIN_OPTION','some_value')wp_config.php 中?

有时您需要使用只能提供这些选项的第三方插件,现在您无法像您希望的那样使用git进行设置版本控制。

此插件可以帮助您在代码中设置所有设置,并无需强制您转到管理页面。

工作原理

它通过允许您强制将get_option()的结果设置为预定义值来工作。

这还会将一小部分JavaScript添加到管理页面中,以便它可以设置只读属性到您的选项:<input readonly>。这使得用户更容易理解这些选项不能更改。

由于我们使用数组来定义常量,并且喜欢使用标量类型提示,因此这仅在php7.0版本或更高版本中工作。对于旧项目,我们感到抱歉:(:

安装

首选安装方式是使用composer

{
    "require": {
        "alexsancho/wp-readonly-options": "^v1.0.0"
    },
    "extra": {
        "installer-paths": {
          "web/app/mu-plugins/{$name}/": ["type:wordpress-muplugin"]
        }
    }
}

代码示例

我的选项页面看起来如此空旷和孤独

Before

我会查找来自 /wp-admin/options.php 的键,我看到它们是 sm_bucketsm_key_json

您也可以通过使用Google Chrome检查器来查看名称。键名与输入元素ID相同。

我可以使用这些键与 WP_READONLY_OPTIONS,并将以下代码添加到我的 wp-config.php

php7.0

define( 'WP_READONLY_OPTIONS', array(
    'sm_bucket' => 'my-bucket.example.com'
    'sm_key_json' => '{
      "type": "service_account",
      "project_id": "XXXXXXXXXXXXXXXXXXXXXXX",
      "private_key_id": "XXXXXXXXXXXXXXXXXXXX",
      "private_key": "-----BEGIN PRIVATE KEY-----\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -----END PRIVATE KEY-----
    }'
));

php5.X

define( 'WP_READONLY_OPTIONS', serialize( array(
    'sm_bucket' => 'my-bucket.example.com'
    'sm_key_json' => '{
      "type": "service_account",
      "project_id": "XXXXXXXXXXXXXXXXXXXXXXX",
      "private_key_id": "XXXXXXXXXXXXXXXXXXXX",
      "private_key": "-----BEGIN PRIVATE KEY-----\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -----END PRIVATE KEY-----
    }'
)));

之后,我可以看到只读模式下的值

After

配置

禁用只读属性设置器的JavaScript黑客技巧。它可能与某些内容不兼容。

define('WP_READONLY_OPTIONS_NO_JS',true);