通过Require_Once()包含在函数.php中的文件不会回显吗?

时间:2011-07-04 作者:N2Mystic

我试图通过require\\u once()加载一个文件,以处理主题中的一些增强功能。我可以将所有代码直接放在函数中。php,但我正在尝试将此代码隔离到它自己的脚本中。

该文件是widget\\u context。php(见下面的代码),现在我只是想把一些文本回显到每个小部件上。当我直接从调用该文件的函数执行echo时,效果很好。

但是,我无法在小部件中显示echo或return(来自widget\\u context.php文件)。

我错过了什么?

此函数位于函数内部。php

add_filter(\'in_widget_form\', \'widget_context\');

function widget_context(){
    //echo works here:
    //echo \'in widget form\'; 
    $widgets_context_file = TEMPLATEPATH . "/widget_context.php";
    require_once($widgets_context_file);
}
以下是widget\\u上下文的内容。php

<?php
    echo \'place the checkboxes here\';
    return \'place the checkboxes here\';
?>

2 个回复
SO网友:Ian Dunn

我不知道为什么,但出于某种原因,你必须使用include()require() 在…内form(), 而不是include_once()require_once(). 我猜form()被多次调用,因此外部视图文件只在第一次被包含。include_once()require_once() 内部工作正常widget(), 但还是用它更好include()require() 如果小部件有多个实例。

SO网友:Matthew Boynes

如果您曾经解决过这个问题,请与其他人分享答案。你所经历的一个潜在原因是,如果你在儿童主题中。TEMPLATEPATH引用父主题,STYLESHEETPATH引用子主题。

结束

相关推荐

Why use widgets?

我对使用WordPress很陌生,我想知道使用小部件的好处是什么?看here 这听起来像是为那些不是程序员的人准备的,他们想在他们的网站上添加插件。对吗?或者小部件是否在某种程度上使站点更加健壮?