我尝试根据用户访问的页面显示不同的标题图像。除了is_archive(listing)
之外,下面的代码效果很好出于某种原因,它想要使用is_archive(team)
中的图像<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 } ?>
对于它的价值,我正在使用Advanced Custom Fields PRO。因此,我为自定义帖子类型设置了一个选项页面:team&amp;列表。在每个帖子类型菜单中都有一个设置面板,可以上传图像。
单数列表&#39;从每个帖子中提取图像然后当然is_home(默认博客)有一个选项面板,上面还有一个要上传的图像。
总的来说,如果我没有宣布&#39; listing&#39;的归档页面?假设显示团队形象,那么它不应该显示任何内容,对吧?
这里是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 :(得分:0)
您缺少一些分号,也在listings
之前的elseif语句中。也许这就是你的问题。
语法正确:
<?php } elseif (is_singular('team')) { ?>
<img src="<?php the_field('header_image_team', 'options'); ?>" class="img-responsive bkg" />
答案 1 :(得分:0)
如果您没有archive.php或achive-your_custom_post.php,Wordpress会使用index.php来显示该页面。
然后,如果您没有看到正确的图像,这是正常的。 因为你的情况是is_home()。