将变量返回到模板中

时间:2013-06-12 作者:Jenski

如果我把一个我想在模板中使用的函数放进函数中,我可以把它放进函数中。php

function myfunction(){
echo \'My String\';
}

add_action(\'myfunction\',\'myfunction\');

并在模板文件中放入:

do_action(\'myfunction\');
这似乎只有在将某些内容写入屏幕时才起作用。如果我想将变量返回到页面。E、 g。

function myfunction(){
return \'My String\';
}

$string = do_action(\'myfunction\');
并捕获它而不是打印它。我该怎么做?

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

这有过滤器。

示例:

add_filter( \'template_filter\', \'wpse_102706_filter_callback\', 10, 2 );
function wpse_102706_filter_callback( $defaults, $case )
{
    $args = wp_parse_args( array(
        \'some_key\' => \'some_modified_value\'
    ), $defaults );

    return $args
}
然后在模板中添加默认值:

apply_filters( \'template_filter\', array( \'some_key\' => \'default_val\' ), \'single\' );
更多关于Plugins API.

结束

相关推荐

get all page templates

我正在一个单页WordPress网站上工作。这是我第一次尝试这个。我在第五个版本上取得了不同程度的成功。我正在启动一个新版本,我删除了主题文件夹中除标题之外的所有内容。php索引。php,函数。php,页脚。php、页面模板和样式。css当我在wp\\U Posteta中查看我的数据库时,我可以看到其中有几个页面分配了模板。我以前看过这段代码,所以我第一次尝试它,看看我能得到什么。在我的索引中。php文件。我有一个简单的标准循环。您可以看到,就在\\u post()之后,我尝试了get\\u post\\