devgeniem/wp-readonly-options

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

安装数: 48,258

依赖: 1

建议者: 0

安全: 0

星标: 9

关注者: 12

分支: 4

开放问题: 2

类型:wordpress-muplugin

1.2.2 2019-11-14 08:21 UTC

This package is auto-updated.

Last update: 2024-09-20 15:35:15 UTC


README

geniem-github-banner

WP插件:只读选项

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

您是否希望像在 wp_config.php 中使用 define('PLUGIN_OPTION','some_value') 一样设置所有选项?

有时您需要使用只能通过管理页面和GUI提供选项的第三方插件。现在您无法像您希望的那样使用git对设置进行版本控制。

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

它的工作原理

它通过允许您强制 get_option() 的结果为预定义的值来实现。

这还在管理页面中添加了少量的javascript,以便可以设置只读属性到您的选项: <input readonly>。这使得用户更容易理解这些选项不能被更改。

由于我们在定义常量时使用数组,因此这仅在 php7.0 版本或更高版本上有效。我们还喜欢使用标量类型提示。对不起,旧项目 :(

安装

建议使用composer进行安装

{
    "require": {
        "devgeniem/wp-readonly-options": "^1.1"
    },
    "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);

许可证

GPLv2

维护者

@onnimonni

@villepietarinen