Wordpress:如何在每页上显示不同的页眉图像



我想使用php在wordpress网站上显示不同的标题图像。尽管我找到了许多主题与我的问题的标题,但没有一个能清楚地解释这是如何做到的。

我试过的第一个就是没用。这是我添加到functions.php的代码。我知道文件是执行的,因为我添加的文本显示出来了。

//12/28/2020 - START
define("HOME", "http://johnm5.sgedu.site/wp-content/uploads/2020/12/nyc-e1608682430748.png");
define("AWARD", "http://johnm5.sgedu.site/wp-content/uploads/2020/12/trophy-e1608681301876.jpg");
define("ERP", "http://johnm5.sgedu.site/wp-content/uploads/2020/12/IntuitiveERP-e1608681626647.png");
define("EVENT", "http://johnm5.sgedu.site/wp-content/uploads/2020/12/Calendar-scaled-e1608681638194.jpg");
function change_the_header($url_for_image) {
if (is_home()) 
$url_for_image = HOME;
else if (is_single())
$url_for_image = ERP;
else
$url_for_image = AWARD;
return $url_for_image;
}
add_filter('theme_mod_header_image', 'change_the_header');
//12/28/2020 - END

这篇文章没有解释代码的去向,也没有解释函数is_page是如何工作的。我试着填空,但最后失败了。

//12/28/2020 - START
if( is_page('About') ) echo HOME;
elseif( is_page('Events') ) echo EVENT;
elseif( is_page('Awards') ) echo AWARD;
else echo '-NONE-'; 
//12/28/2020 - END

一个对Wordpress一无所知的人给出了一个答案,也没有提到哪个文件正在编辑,我甚至没有尝试过。

有了实际运行的代码,我在这里有了最大的希望。然而,没有解释如何确定您所在的页面。没有is_about函数,也没有任何信息表明需要什么才能创建它。一旦我有了它,就没有什么可以指示它的去向。此外,将参数传递给get_header也没有任何作用。

//12/28/2020 - START
//12/28/2020 - OLD
//get_header(); 
//12/28/2020 - NEW
if (is_home())  {
echo '* HOME *';
get_header();
//} else if (is_about())  {
//  echo '# away #';
//  get_header('About');
} else {
echo '# away #';
get_header('About');
}
wp_head();
//12/28/2020 - END

我想明白了:当使用wordpress编辑页面时,id可以在body标签或浏览器中找到,它将是post id。

在以下链接中,页面id为62:johnm5.sgedu.site/wp-admin/post.php?post=62&action=编辑

这是我的代码:

//JPM - 12/28/2020 - START
define("ABOUT_ID", 6);
define("AWARD_ID", 64);
define("ERP_ID", 58);
define("EVENT_ID", 62);
define("ABOUT", "http://johnm5.sgedu.site/wp-content/uploads/2020/12/nyc-e1608682430748.png");//68
define("AWARD", "http://johnm5.sgedu.site/wp-content/uploads/2020/12/trophy-e1608681301876.jpg");//64
define("ERP", "http://johnm5.sgedu.site/wp-content/uploads/2020/12/IntuitiveERP-e1608681626647.png");//58
define("EVENT", "http://johnm5.sgedu.site/wp-content/uploads/2020/12/Calendar-scaled-e1608681638194.jpg");//62
function change_the_header($url_for_image) {
if (is_page(ABOUT_ID)) {
$url_for_image = ABOUT;
} else if (is_page(AWARD_ID)) {
$url_for_image = AWARD;
} else if (is_page(ERP_ID)) {
$url_for_image = ERP;
} else if (is_page(EVENT_ID)) {
$url_for_image = EVENT;
}
else {
echo "<script>alert('- NONE -');</script>";
}
return $url_for_image;
}
add_filter('theme_mod_header_image', 'change_the_header');

最新更新