2015-11-08 48 views
1

我在我的footer.php文件中有几行代码,我只想在网站的主页上激活。我已经尝试过使用我在网上找到的is_front_page的各种建议,但都没有成功。我显然不是一个PHP专家!无法获得is_front_page在Wordpress页脚中工作

This is the site,我正在使用静态页面作为主页。以下是我只想在主页上激活的代码。所有帮助表示赞赏!

<?php 
$display_brands_widget = false; 
if (isset($qode_options_flat['footer_brands_area'])){ 
    if ($qode_options_flat['footer_brands_area'] == "yes") $display_brands_widget = true; 
} 
if($display_brands_widget): ?> 
    <div class="carousel_slider_holder clearfix"> 
     <ul class="carousel_slider"> 
      <?php dynamic_sidebar('brands'); ?> 
     </ul> 
    </div> 
<?php endif; ?> 

回答

0

您是否尝试过使用is_home()

+0

我有,但没有运气。我甚至无法获得is_front_page,is_home或is_page来打印出一行简单的HTML代码。我不确定这是否与我的主题有关,或者如果我的代码错误。 –

+0

尝试** echo get_the_ID(); **并告诉我这是否与您的页面的ID相匹配(您可以通过单击Worpdress管理员的页面并查看URL中的ID来找到该ID)。你可能在外面引用这个[循环](https://codex.wordpress.org/The_Loop),这意味着你无法访问发布信息。 –

+0

啊...我想你已经找到了问题!所以,get_the_ID()为我确认了我用于主页的页面ID是正确的,但是当我加载任何其他页面时,它仍然表示页面ID是主页。问题似乎是我使用Ajax来加载页面,因为当我直接转到任何其他非主页(而不是使用主页上的链接)时,页面ID是正确的。 –

1

感谢来自@ chris-rogers的一些很棒的诊断帮助,我能够发现is_front_page在页脚内容中“不起作用”,因为我通过Ajax使用加载页面。简单的解决方案最终是将相关代码片段移动到新的页面模板,以便只在调用该页面内容时加载它。