我使用UnderScore主题,下面是主要的page.php模板文件。我的目标是,如果侧边栏中有活动小部件,则使用带侧边栏的模板,但如果没有活动小部件或内容,则使用主要内容为960px但没有侧边栏的模板。我也使用ACF(高级自定义字段)是侧边栏,所以需要检查它。感谢任何帮助。我想也许可以使用“is_active_sidebar”但不确定如何正确地实现它,因为模板部件已经被检查。
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_sidebar();
get_footer();
也低于sidebar.php
if ( ! is_active_sidebar( 'sidebar-1' ) ) {
return;
}
?>
<aside id="secondary" class="widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
<?php the_field('sidebar_info'); ?>
</aside><!-- #secondary -->
答案 0 :(得分:0)
也许我没有完全理解你的问题,但你可以使用一个简单的if语句。请参阅下面的伪代码。
IDataSet databaseDataSet = getConnection().createDataSet();
ITable actualTable = databaseDataSet.getTable("TYPES");
FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder();
flatXmlDataSetBuilder.setColumnSensing(true);
FileInputStream fileInputStream = new FileInputStream(xml);
IDataSet expectedDataset = flatXmlDataSetBuilder.build(fileInputStream);
ITable expectedTable = expectedDataset.getTable("TYPES");
SortedTable sortedExpected = new SortedTable(expectedTable, new String[]{"ID"});
sortedExpected.setUseComparable(true);
SortedTable sortedActual = new SortedTable(actualTable, new String[]{"ID"});
sortedActual.setUseComparable(true);
Assertion.assertEqualsIgnoreCols(sortedExpected, sortedActual, new String[] {"ID"});