从函数php中获取php变量并在主题模板文件中回显它

时间:2012-05-04 作者:Joshc

这似乎是一个愚蠢的问题,但我无法理解。

我在函数中创建了一个变量。php——我正试图在我的模板文件中回显它。

我猜这是因为范围。

最简单的方法是回显变量或创建函数,以允许我在各种模板文件中输出此facebook ID。

这是我目前在函数中得到的。php。。。

$fb_app_id = \'68366786876786\';
这就是我试图回应它的方式。。。

<?php echo $fb_app_id; ?>

任何想法都会非常有用,非常感谢


3 个回复
最合适的回答,由SO网友:EAMann 整理而成

如果您没有访问该值的权限,则可能是范围问题。确保首先将其全球化:

<?php
global $fb_app_id;
echo $fb_app_id;
?>
或者,我不喜欢全局变量,所以我推荐使用WordPress的内置过滤机制。将过滤器添加到functions.php 归档并在需要时应用。

In functions.php:

add_filter( \'fb_app_id\', \'return_fb_app_id\' );
function return_fb_app_id( $arg = \'\' ) {
    return \'68366786876786\';
}
In your template files:

echo apply_filters( \'fb_app_id\', \'\' );
或使用动作挂钩In functions.php

add_action( \'fb_app_id\', \'echo_fb_app_id\' );
function echo_fb_app_id() {
    echo \'68366786876786\';
}

In your template files:

do_action( \'fb_app_id\' );
是否使用动作挂钩或过滤器完全取决于您。我建议使用过滤器,因为它可以返回值。这比仅仅注射要灵活得多echo 在模板中调用。

SO网友:fischi

最简单的方法就是创建一个可调用的函数,这里不需要挂钩

function get_fb_app_id() {
    $fb_app_id = \'68366786876786\';
    return $fb_app_id;
}
在模板中:

echo get_fb_app_id();

SO网友:nathangiesbrecht

在这种情况下,我会使用Wordpress选项。您可以使用add\\u option()或update\\u option()设置选项(可能更适合您的情况)。您将使用update_option(\'fb_app_id\', \'68366786876786\'); 在你的函数中的某个地方。php文件(init hook函数可能是一个好地方)。

然后,您可以使用在主题文件中显示此选项echo get_option(\'fb_app_id\');

我建议采用这种方式,而不是使用globals(ick)或action/filter挂钩的原因是,如果你计划向公众发布你的主题,这将更容易fb_app_id 主题选项页面中的可编辑选项。

结束

相关推荐

在我网站的不同部分使用不同大小的缩略图...使用Functions.php?

两年前,在StackOverflow中,有一个有趣的问题,关于在站点的不同部分使用特定的缩略图、小型、中型或大型图像。问题是,available here, 是well answered 其中一位用户Doug Neiner建议使用以下代码:<?php function get_attached_images(){ // This function runs in \"the_loop\", you could run this out of the loop but&#x