你的主要问题是is_page()
如果conditional包含在循环内部或之后,则它不会返回true。
你的另一个问题不一定与手头的问题相关,那就是你在侧边栏中的方式。WordPress附带了一个方便的小功能,名为get_sidebar()
. 如果有多个边栏,可以向函数传递一个参数,让它知道需要什么边栏。
您需要命名侧边栏sidebar-{sidebar_name}.php
. 因此,如果您想包含提要栏1,可以将文件命名为sidebar-sidebar1.php
包括它很简单get_sidebar( \'sidebar1\' )
解决您的is_page()
问题你可以打电话wp_reset_query()
在循环之后或将条件返回布尔值指定给循环之前的变量,然后在包含提要栏时使用它。
//Somewhere before the loop
$page_var = is_page( \'blog\' ) ? true : false;
//loop stuff
if ( $page_var ) {
get_sidebar( \'sidebar1\' );
} else { get_sidebar( \'sidebar2\' ); }