2016-03-09 59 views
1

我試圖添加一個文本小部件只存檔頁面。下面的第一個代碼塊是主題的默認值。試圖添加一些代碼只在WordPress中存檔頁面

if (Bunyad::posts()->meta('featured_slider') == 'rev-slider' && function_exists('putRevSlider')) { 

    echo '<div class="main-featured"><div class="wrap cf">' 
     . do_shortcode('[rev_slider ' . esc_attr(Bunyad::posts()->meta('slider_rev')) .']') 
     . '</div></div>'; 

    return; 
} 

除了上面的代碼之外,我在它下面直接添加了第二個塊。唯一的區別是,我在第一行加入&& is_archive()定位到所有存檔頁面,也是三行代碼在第5行

if (Bunyad::posts()->meta('featured_slider') == 'rev-slider' && function_exists('putRevSlider') && is_archive() { 

    echo '<div class="main-featured"><div class="wrap cf">' 

     if (!dynamic_sidebar('categories')) : 
      _e('', 'bunyad'); 
     endif; 

     . do_shortcode('[rev_slider ' . esc_attr(Bunyad::posts()->meta('slider_rev')) .']') 
     . '</div></div>'; 

    return; 
} 

開始結果是一個空白頁,如此明顯的事情是錯在這裏。有沒有什麼方法可以將這兩個塊壓縮成更優雅的東西?

回答

0

由於語法錯誤,可能會出現白頁。 if塊位於回聲中間。嘗試這樣的:

if (Bunyad::posts()->meta('featured_slider') == 'rev-slider' && function_exists('putRevSlider') && is_archive()) { 

    echo '<div class="main-featured"><div class="wrap cf">'; 

    if (!dynamic_sidebar('categories')) : 
     _e('', 'bunyad'); 
    endif; 

    echo do_shortcode('[rev_slider ' . esc_attr(Bunyad::posts()->meta('slider_rev')) .']') . '</div></div>'; 

    return; 
} 
+0

我試着用我的第二個塊代替你的代碼,我仍然得到一個白頁。 – J82

+0

如果錯過了結束)我更新了我的答案中的代碼。 – MajicBob

+0

謝謝。它看起來像現在正在顯示的頁面,但是存檔頁面的三行代碼沒有顯示在DOM中。有任何想法嗎? – J82

相關問題