我正在尝试创建自己的侧边栏功能,如果未显示某个变量,则仅显示侧边栏。这适用于模板文件,但不适用于 functions.php 中的函数
function my_sidebar(){
if(($layout == 'left') || ($layout == 'right')){
get_sidebar();
}
}
这在使用时根本没有显示my_sidebar();
我只是想为我的模板创建一个可重用的函数。
我正在尝试创建自己的侧边栏功能,如果未显示某个变量,则仅显示侧边栏。这适用于模板文件,但不适用于 functions.php 中的函数
function my_sidebar(){
if(($layout == 'left') || ($layout == 'right')){
get_sidebar();
}
}
这在使用时根本没有显示my_sidebar();
我只是想为我的模板创建一个可重用的函数。
要回答我的问题,是的,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();
}
}
谢谢。