Wordpress:如何在每个页面上显示不同的标题图像

时间:2020-12-28 15:57:15

标签: php wordpress

我想使用 php 在 wordpress 网站上显示不同的标题图像。尽管我找到了许多与我的问题标题相同的主题,但没有一个明确说明这是如何完成的。

我尝试过的 first one 没有成功。这是我添加到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
   

This one 没有解释代码的去向以及函数 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 一无所知的人的回答,也没有提到正在编辑哪个文件,我什至没有尝试 this

对于实际运行的代码,我最有希望here。但是,没有说明如何确定您所在的页面。没有 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

1 个答案:

答案 0 :(得分:0)

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

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

这是我的代码:

//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');