2012-08-31 16 views
5

Sitem burada yer alır: Sadece iki sayfa PHP belirli sayfalarda div'i gizler mi?

Checkout

Cart

gezinme çubuğunu gizlemek için arıyorum http://math.pixelworklab.com/home-study

Temelde başka bağlantılar da birlikte avunma engel olacak kontrol etmek.

Bu sayfadaki bir bölümü IF deyimini kullanarak nasıl gizlerim?

GÜNCELLEME:

/* Navigasyon */

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

cevap

4

Nasıl bu sayfaların değilse sadece navigasyon görüntüler hakkında:

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

Yani bu benim nav div sarılmış ve onu .. eklendi yukarıdaki kod .. – js111

+0

mantık aslında ben ', yukarıya bakınız, kodumu güncellenen tersi oldu tüm sayfalarda saklıyor! ==' === 'şimdi – Ibu

+0

ya görüyorum .. hala çalışmıyor hmm – js111

0

Ben sana tahmin gibi bir şey yapabilir:

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

Bu sayfalar için farklı css dosyaları kullanabilir misiniz? sonra senin div içine bir sınıf ekleyebiliyorsanız, en optional_hide diyelim ve bu iki dosyalar için css dosyasına ekleyin: Bu satırı eksik olabilir dinlenme sayfaları için

div.optional_hide {display:none;} 

. Sayfalar görüntülenen veya değil ediliyor ise

+0

no'lu iğnenin başlığını üst üste getirip getirmediğini görün. – js111

1

Sen Koşullu etiketle'yi is page

Bu kontrolleri kullanabilirsiniz. Navigasyon menü kodunuzu başka bir koşul içinde sarın.

<?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> 

} 
?> 

Bu yardımcı olur umarım. Alkış !!!

0

Ben @Grzegorz çok basit ve zarif bir çözüm verdiğini düşünüyorum! Her durumda

çift sınıf div kullanabilirsiniz: istediğinin koduyla

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

görülecek/gizli ve belirli sayfaları şablonuna CSS için bir çağrı:

<style> 
.to_be_seen {color:red;...} 
.invisible {display:none;} 
</style> 
İlgili konular