在unction.php中包含一些变量并回显它们是主题不起作用的几个地方

时间:2015-07-02 作者:Sahriar Saikat

我正在基于空白主题创建自定义主题。我创建了一个名为aa config的php文件。php和一组变量,然后<?php require get_template_directory() . \'/inc/aa-config.php\'; ?> 这将在WordPress中添加这些变量。然后,我尝试在页脚中添加一个变量。php使用<?php echo $fburl; ?> 但什么都没有表现出来。aa配置。php:

<?php
$fburl = \'vvv\';
?>
我读过an answer 但这对我没有帮助,因为我会在其中添加多个变量aa-config.php.

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

有几种方法可以做到这一点。如上所述,您可以致电global 每次需要值时:

global $fburl;
echo $fburl;
您可以将所有配置设置放在一个对象或数组中,然后将一个对象放在全局中,这样它在任何地方都可用(可行,但我不会选择)。

一种流行的方法是将配置设置封装在一个类中,然后在需要值时使用getter。这假设配置只设置一次,不需要动态修改。这里我特别不使用__get() 神奇的方法,但创建我自己的作为一个例子,它是如何工作的。

class My_Config {
    private static $config_vars = [
        \'fburl\' => \'vvv\',
    ];

    public static function get_config( $var_name ) {
        if ( array_key_exists( $var_name, self::$config_vars ) ) {
            return self::$config_vars[ $var_name ];
        }

        return null;
    }
}
现在,任何时候需要定义的设置的值时,都可以使用(当然,要进行适当的转义):

echo My_Config::get_config( \'fburl\' );

结束

相关推荐