【问题标题】:PHP class in WordPress: assign value using get_option()WordPress 中的 PHP 类:使​​用 get_option() 赋值
【发布时间】:2016-09-29 09:01:57
【问题描述】:

以下是另一个脚本的依赖项,在其当前形式下它工作得很好。这只是验证 API 调用所需的一些信息。

<?php
class getStuff {
    public $subdomain = 'somedomain';
    public $key = '123-456-789';
}
?>

但是,这些值是静态的。我想使用 get_option() 使这些值可以从 wp-admin 轻松更改。所以我认为这是有道理的......

<?php
class getStuff {
    public $subdomain = get_option( 'option_subdomain' );
    public $key = get_option( 'option_key' );
}
?>

当然,这行不通。我已经阅读并尝试了很多关于构造函数的示例,它们似乎正在解决不同的问题。我不确定要寻找什么...

顺便说一句,信息在 options.php 中的存储方式没有任何问题——它工作得很好。

【问题讨论】:

    标签: php wordpress class constructor


    【解决方案1】:

    您应该能够像这样在构造函数中设置类属性

    class getStuff {
        public $subdomain;
        public $key;
    
        public function __construct() {
            $this->subdomain = get_option( 'option_subdomain' );
            $this->key = get_option( 'option_key' );
        }
    }
    

    【讨论】:

    • 非常感谢,它有效!我应该提到这是我正在制作的插件,所以我还添加了 include_once("../../../wp-load.php");在顶部,以便脚本能够识别 WordPress 函数。
    • get_option 在插件加载时应该可用。您不应包含 wp-load.php。它最终会被 wordpress 收录。如果有没有准备好的 wordpress 功能,你应该使用 wordpress 钩子。 developer.wordpress.org/reference/functions/add_action/…。这是所有可用的 wordpess 钩子的完整列表codex.wordpress.org/Plugin_API/Action_Reference
    • @friendofdog 您能否发布一个示例,说明您如何为此使用钩子,或者您是否坚持上面的答案?
    • @ProEvilz 我最终还是坚持了上面的答案。最终无法使用钩子。
    猜你喜欢
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 2015-07-06
    • 2012-02-11
    • 1970-01-01
    相关资源
    最近更新 更多