显示页面标题问题


Displaying page title issue

我有一个Wordpress应用程序,可以根据页面显示标题:

<?php
    if (is_404()) {
      echo "404. Page not found.";
    } elseif (is_page('46')) {
      echo "NOT WORKING";
    } elseif (the_subtitle("","", false) == "") {
        the_title();
    } else {
        the_subtitle();
    }
?>

基本上,在特定页面上(第 46 页,我已经通过打印出页面 ID 确认),我想显示一个特定的标题。但是由于某种原因,当我访问第 46 页时,我得到的是页面的标题,而不是"不工作"?

如果此代码位于 functions.php 文件中,则需要操作或筛选器才能使其在适当的时间运行。下面是一个示例,说明您可以添加到 functions.php 文件中以实现所需的结果:

function to_update_title( $title, $id = null ) {
    if (is_404()) {
        return "404. Page not found.";
    } elseif (is_page('46')) {
        return "NOT WORKING";
    } elseif (the_subtitle("","", false) == "") {
        return get_the_title();
    } else {
        return get_the_subtitle();
    }
    return $title;
}
add_filter( 'the_title', 'to_update_title', 10, 2 );