2015-10-10 49 views
0

我試圖根據用戶訪問的頁面顯示不同的標題圖像。下面的代碼工作,除了is_archive(上市)如果使用ACF Pro的ELSE標題圖像顯示歸檔頁面的圖像錯誤

就是了從is_archive(隊)使用的圖像

<div class="header-images"> 
    <?php if (is_archive('team')) { ?> 
<img src="<?php the_field('header_image_team', 'options'); ?>" class="img-responsive bkg" /> 

    <?php } elseif (is_singular('team')) { ?> 
<img src="<?php the_field('header_image_team', 'options') ?>" class="img-responsive bkg" /> 

    <?php } elseif (is_archive('listings')) { ?> 
<img src="<?php the_field('header_image_listings', 'options'); ?>" class="img-responsive bkg" /> 

    <?php } elseif (is_singular('listings')) { ?> 
<img src="<?php the_field('header_image_single') ?>" class="img-responsive bkg" /> 

    <?php } elseif (is_home()) { ?> 
<img src="<?php the_field('header_image_ic', 'options') ?>" class="img-responsive bkg" /> 
    <?php } ?> 

對於什麼是值得某種原因,很大,我用這與先進的自定義字段PRO 。所以我爲自定義帖子類型設置了一個選項頁面:團隊&列表。在每個帖子類型菜單中都有一個可以上傳圖片的設置面板。

單數'列表'從每個帖子中拉出一個圖像,當然is_home(默認博客)也有一個選項面板和圖片上傳。總的來說,如果我沒有聲明「列表」的存檔頁面是假設要顯示團隊圖片,那麼它不應該顯示任何內容,對不對?

以下是ACF Pro選項的功能。

if(function_exists('acf_add_options_page')) { 
    acf_add_options_page(array(
    'page_title' => 'Theme General Settings', 
    'menu_title' => 'Theme Settings', 
    'menu_slug' => 'theme-general-settings', 
    'capability' => 'edit_posts', 
    'redirect' => false 
)); 

    acf_add_options_sub_page(array(
    'page_title' => 'Theme Header Settings', 
    'menu_title' => 'Header', 
    'parent_slug' => 'theme-general-settings', 
)); 

    acf_add_options_sub_page(array(
    'page_title' => 'Theme Footer Settings', 
    'menu_title' => 'Footer', 
    'parent_slug' => 'theme-general-settings', 
)); 

    acf_add_options_sub_page(array(
    'title'  => 'Team Settings', 
    'parent'  => 'edit.php?post_type=team', 
    'capability' => 'manage_options' 
)); 

    acf_add_options_sub_page(array(
    'title'  => 'Listings Settings', 
    'parent'  => 'edit.php?post_type=listings', 
    'capability' => 'manage_options' 
)); 

    acf_add_options_sub_page(array(
    'title'  => 'Industry Coverage Settings', 
    'parent'  => 'edit.php', 
    'capability' => 'manage_options' 
)); 
} 

回答

0

缺少幾個分號,也在listings之前的elseif語句中。也許這是你的問題。

有了正確的語法:

<?php } elseif (is_singular('team')) { ?> 
<img src="<?php the_field('header_image_team', 'options'); ?>" class="img-responsive bkg" /> 
+0

對不起,但回來添加這些分號並沒有解決任何問題。 – minemind

+0

嗯,好的。從我可以告訴你必須在你的選項頁面代碼中有一個錯誤。仔細閱讀ACF文檔,它看起來沒問題。 – danjah

+0

我已將選項頁面代碼功能添加到原始文章中。一切看起來都很好。也許你看到我沒有的東西。 – minemind

0

如果你沒有帶一個archive.php或achive-your_custom_post.php,WordPress的使用index.php來顯示頁面。

然後,如果您沒有看到正確的圖像,這很正常。 導致你在這種情況下is_home()。

+0

我確實有兩個「團隊」和「列表」的存檔頁面。這就是我在這些自定義帖子類型存檔頁面上顯示圖像的方式。 – minemind