有没有办法在函数中使用get_sidebar?

时间:2013-05-20 21:34:57

标签: wordpress

我正在尝试创建自己的侧边栏功能,只显示侧栏,如果未显示某个变量。这适用于模板文件,但不适用于functions.php

中的函数
    function my_sidebar(){
        if(($layout == 'left') || ($layout == 'right')){
            get_sidebar();
        }
    }

使用my_sidebar();

时,这根本不显示任何内容

我只是想为我的模板创建一个可重用的函数。

1 个答案:

答案 0 :(得分:1)

要回答我的问题,是的,get_sidebar将在functions.php中的函数中工作。我遇到的问题是,即使我在global $post调用之前在模板中使用my_sidebar();,我的元数据也无法使用。解决方案是将全局post对象添加到我的函数以及布局变量。

function my_sidebar(){
global $post;
  $layout = get_post_meta( $post->ID, '_my_page_layout', true );
  if(($layout == 'left') || ($layout == 'right')){
  get_sidebar();
}
}

为了使其更简洁,我更改了if语句:

function my_sidebar(){
global $post;
  $layout = get_post_meta( $post->ID, '_my_page_layout', true );
  if($layout !='none'){
  get_sidebar();
}
}

感谢。