我的网站位于:http://math.pixelworklab.com/home-study
我希望仅在两页上隐藏导航栏
基本上可以防止用户在结账时被其他链接分心。
如何使用IF语句在这些页面上隐藏此div?
更新
/ *导航* /
if ( ! function_exists( 'woo_nav' ) ) {
function woo_nav() {
global $woo_options;
woo_nav_before();
?>
<?php if (strpos($_SERVER['REQUEST_URI'],'/checkout/') === false
|| strpos($_SERVER['REQUEST_URI'],'/cart/') === false ):?>
<div id="navigation" class="col-full">
<?php woo_nav_inside(); ?>
<?php
if ( function_exists( 'has_nav_menu' ) && has_nav_menu( 'primary-menu' ) ) {
wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'main-nav', 'menu_class' => 'nav fl', 'theme_location' => 'primary-menu' ) );
} else {
?>
<ul id="main-nav" class="nav fl">
<?php
if ( get_option( 'woo_custom_nav_menu' ) == 'true' ) {
if ( function_exists( 'woo_custom_navigation_output' ) )
woo_custom_navigation_output( "name=Woo Menu 1" );
} else { ?>
<?php if ( is_page() ) $highlight = "page_item"; else $highlight = "page_item current_page_item"; ?>
<li class="<?php echo $highlight; ?>"><a href="<?php echo home_url( '/' ); ?>"><?php _e( 'Home', 'woothemes' ); ?></a></li>
<?php wp_list_pages( 'sort_column=menu_order&depth=6&title_li=&exclude=' ); ?>
<?php } ?>
</ul><!-- /#nav -->
<?php } ?>
<?php endif;?>
</div><!-- /#navigation -->
<?php
woo_nav_after();
} // End woo_nav()
}
答案 0 :(得分:4)
如果它不是那些页面,你只显示导航:
<?php if (strpos($_SERVER['REQUEST_URI'],'/checkout/') === false
|| strpos($_SERVER['REQUEST_URI'],'/cart/') === false ):?>
<div ... navigation ...</div>
<?php endif;?>
答案 1 :(得分:1)
您可以使用条件标记is page
检查页面是否正在显示。将导航菜单代码包含在else条件中。
<?php
if(is_page(array(42,43))) {
// Returns true when the Pages displayed is either page ID 42 or 43. Change it to the page id of cart and checkout.
} else {
<div ... navigation ...</div>
}
?>
希望这会对你有所帮助。干杯!!!
答案 2 :(得分:0)
好吧,我想你可以做点什么:
<?php if (!in_array($post->ID, array(id_of_checkout_page, id_of_cart_page)) { ?>
<div>...</div>
<?php } ?>
答案 3 :(得分:0)
您可以为这些页面使用不同的css文件吗?
如果您可以在div
中添加一个类,请说optional_hide
,并将这两个文件添加到css文件中:
div.optional_hide {display:none;}
对于其余页面,此行可能会丢失。
答案 4 :(得分:0)
我认为 @Grzegorz 提供了一个非常简单而优雅的解决方案!
在任何情况下,您都可以使用双等级 div :
<div class="to_be_seen invisible">Bla bla blah...</div>
使用您想要查看/隐藏的代码以及将CSS调用到特定页面模板中:
<style>
.to_be_seen {color:red;...}
.invisible {display:none;}
</style>