2012-08-31 17 views
5

Moja witryna znajduje się tutaj: http://math.pixelworklab.com/home-studyPHP ukryj div na konkretnych stronach?

szukam, aby ukryć pasek nawigacyjny tylko na dwóch stronach

Checkout

Cart

Zasadniczo uniemożliwić użytkownikowi odrywając się z innymi łączy natomiast Sprawdzać.

Jak ukryć ten element na tych stronach za pomocą instrukcji JEŻELI?

UPDATE:

/* Nawigacja */

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() 
} 

Odpowiedz

4

Jak o tobie tylko wyświetla nawigacji jeśli nie jest to te strony:

<?php if (strpos($_SERVER['REQUEST_URI'],'/checkout/') === false 
     || strpos($_SERVER['REQUEST_URI'],'/cart/') === false):?> 
<div ... navigation ...</div> 
<?php endif;?> 
+0

Więc zawinąłem nav div w tym i to ukrywa go na wszystkich stronach .. Kod dodany powyżej .. – js111

+0

logika była w rzeczywistości odwrotnie zaktualizowałem mój kod, patrz wyżej, '! ==' jest teraz '=== ' – Ibu

+0

ya widzę, że .. nadal nie działa hmm – js111

0

No Chyba może zrobić coś takiego:

<?php if (!in_array($post->ID, array(id_of_checkout_page, id_of_cart_page)) { ?> 
    <div>...</div> 
<?php } ?> 
0

Czy możesz użyć różnych plików css dla tych stron? Jeśli można następnie dodać klasę do swojego div, powiedzmy optional_hide i dodać do pliku css dla tych dwóch plików:

div.optional_hide {display:none;} 

dla stron odpoczynku ta linia może zabraknąć.

+0

i nie znajdujesz jej w nagłówku. – js111

1

Można użyć warunkowego tag is page

ta sprawdza, czy strony są wyświetlane, czy nie. Zawiń kod menu nawigacji w wariancie 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> 

} 
?> 

Mam nadzieję, że to ci pomoże. Twoje zdrowie!!!

0

Myślę, że @Grzegorz dał bardzo proste i eleganckie rozwiązanie!

W każdym przypadku można używać podwójnego klasa div:

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

z kodem, co chcesz zobaczyć/ukryte i wezwanie do CSS do konkretnych stron Szablon:

<style> 
.to_be_seen {color:red;...} 
.invisible {display:none;} 
</style> 
Powiązane problemy