PHP在特定页面上隐藏div?

时间:2012-08-31 21:35:41

标签: php wordpress

我的网站位于:http://math.pixelworklab.com/home-study

我希望仅在两页上隐藏导航栏

Checkout

Cart

基本上可以防止用户在结账时被其他链接分心。

如何使用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()
}

5 个答案:

答案 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>