如何正确使用Pre_Option_{Option_Name}?

时间:2021-11-07 作者:user3574603

我使用一个过滤器来解密用加密存储的api\\U密钥。我已注册以下挂钩:

// Decrypt API key after it is retrieved
add_filter(\'pre_option_percify_api_key\', array( __CLASS__, \'decrypt_api_key\') );
问题是,我无法获取回调中的存储值:

public static function decrypt_api_key($encrypted) {
  // $encrypted is empty:

  echo($encrypted);
  // ...
我调用函数是否正确?如何访问的存储值percify_api_key 在内部decrypt_api_key?

1 个回复
最合适的回答,由SO网友:Petar Petrov 整理而成

这个pre_option_{$option} 钩子用于过滤选项的值before 它被找回了。您需要在检索到值后进行挂钩,以便可以对其进行操作。

在这种情况下,您可以使用option_{$option} 钩因此,您的代码如下所示:

add_filter(\'option_percify_api_key\', array( __CLASS__, \'decrypt_api_key\') );
有关更多信息,请查看get_option 作用here. 特别是生产线#225.

相关推荐

OOP development and hooks

我目前正在为Wordpress编写我的第一个OOP插件。为了帮助我找到一点结构,a boiler plate 这为我奠定了基础。在里面Main.php 有一种方法可以为管理员加载JS和CSS资产:/** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 0.1.0 * @access private