1

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

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

这在使用时根本没有显示my_sidebar();

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

4

1 回答 1

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();
}
}

谢谢。

于 2013-05-21T00:25:43.247 回答