5

我的网站位于: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()
}
4

5 回答 5

4

如果不是这些页面,您如何只显示导航:

<?php if (strpos($_SERVER['REQUEST_URI'],'/checkout/') === false 
       || strpos($_SERVER['REQUEST_URI'],'/cart/') === false ):?>
<div ... navigation ...</div>
<?php endif;?>
于 2012-08-31T21:39:56.927 回答
1

您可以使用条件标签 是页面

这将检查页面是否正在显示。将导航菜单代码包装在 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>

}
?>

希望这会帮助你。干杯!!!

于 2012-09-01T06:48:21.797 回答
0

您可以为这些页面使用不同的 css 文件吗?如果您可以将一个类添加到您的div的 中,比如说optional_hide,并为这两个文件添加到 css 文件中:

div.optional_hide {display:none;}

对于其余页面,此行可能会丢失。

于 2012-08-31T22:03:48.843 回答
0

我认为@Grzegorz提供了一个非常简单而优雅的解决方案!

在任何情况下,您都可以使用双类div

<div class="to_be_seen invisible">Bla bla blah...</div> 

使用您希望看到/隐藏的代码以及将 CSS 调用到特定页面模板中:

<style>
.to_be_seen {color:red;...}
.invisible {display:none;}
</style>
于 2013-05-24T12:33:07.170 回答
0

好吧,我想你可以这样做:

<?php if (!in_array($post->ID, array(id_of_checkout_page, id_of_cart_page)) { ?>
    <div>...</div>
<?php } ?>
于 2012-08-31T21:43:35.620 回答