函数.php中的wordpress函数未从模板文件中调用

时间:2015-02-19 17:34:46

标签: php wordpress

我创建了一个儿童主题,最近安装了woocommerce。

我已将sidebar-shop.php文件添加到模板中,当我将虚拟内容放入其中时,该文件正常工作。

在我的函数文件中,我有:

function lls_woo_before_widget(){
    $content='<aside class="rightHandColumn">';
    return $content;
}
add_action('init','lls_woo_before_widget');

在sidebar-shop.php我有:

lls_woo_before_widget();

dynamic_sidebar('secondary-aside');

函数lls_woo_before_widget似乎不起作用,但侧栏很好。

为什么我不能在sidebar-shop.php中使用该函数?我怎么能(我知道我可以将代码编写到sidebar-shop.php文件中......)

由于

1 个答案:

答案 0 :(得分:1)

如果您的目标是将secondary-aside侧边栏包裹在<aside>标记中,您应该可以直接在sidebar-shop.php文件中执行此操作:

?>
<aside class="rightHandColumn">
    <?php dynamic_sidebar('secondary-aside'); ?>
</aside>
<?php

至于你上面提到的错误:

  • init现在为时太早,无法调用此函数,init挂钩不应生成任何输出,因为headers haven't been sent yetinit挂钩并不是#39} ; t修改the_content
  • the_content用于在循环中输出帖子,并且不会像您期望的那样在边栏中结束。
  • dynamic_sidebar() prints the sidebar markup。如果您想要在展示这个侧边栏中的小部件时对其进行操作,则has hooks
  • 如果要从另一个php文件中的一个文件调用php函数,则在尝试调用之前需要include包含该函数的文件。