首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改WordPress页面标题(<head></head>)

修改WordPress页面标题(<head></head>)
EN

WordPress Development用户
提问于 2020-07-29 09:19:26
回答 1查看 198关注 0票数 0

我正在尝试修改WordPress页面标题。不过,我对WordPress函数、钩子(过滤器和操作)等都相当陌生。

我可以实现的是更改和修改WordPress标题在中。我还可以更改为页面标题(),但不能修改它。例如:

原版标题:我的房子是红色的

修改后的页面标题(用于单独的示例):我的房子是绿色的,房子是红色和蓝色的

因此,我想要添加或删除特定的字符或数字/整数的网页标题。要弄清楚我到底想要达到的目标是:

我想挂起我(自定义的帖子类型)页面的原始页面标题,并“过滤”标题的前三个数字。

我的自定义帖子类型的标题编号如下:

  • 000主要类别X
  • 100第X类次B
  • 101次级类别01 X
  • 200次Y类
  • ..。诸若此类

我为WordPress更改了标题,因此我的自定义post类型为后退/前进导航正确排序。我使用的模块无法单独对自定义post类型进行排序。

所以我不希望任何数字(总是三个数字)在我的页面标题前面。我计划通过使用(这些php函数之一)来“过滤”它们:

  • $x = ltrim($x,'example123');
  • $b = substr($a,3);

据我所知,这些过滤器挂钩是实现的:

  • pre_get_document_title
  • document_title_separator
  • document_title_parts

另外,我使用了这些WordPress函数/过滤器挂钩:

代码语言:javascript
复制
function change_page_title( $title ) {
    return $title;
}
add_filter( 'pre_get_document_title', 'change_page_title' );

代码语言:javascript
复制
function change_page_title( $title ) {
    $title['title'] = 'Changed title';
}
add_filter( 'document_title_parts', 'change_page_title' );

+++所以我很抱歉,如果我的问题可能已经有一个解决方案,但我找不到任何一个,我目前无法解决如果我自己。所以我希望你能帮我。此外,如果你有一个很好的建议,以便更好地在WordPress开发(资源,如视频,课程等)我会很感激的。我知道HTML,CSS,JS,以及编程和PHP方面的基本知识。+++ --我试着修改上面的函数,就像这样(还有更多的,但是它没有工作):

代码语言:javascript
复制
function change_page_title( $title ) {
    return $title;                     // works as expected
    // return ' test';                 // works as expected
    // return $title . ' new title';   // doesn't work

    // $new = $title;
    // $new2 = $title . ' test2';
    // return $new;                    // seem also to work
    // return $new2;                   // doesn't work
}
add_filter( 'pre_get_document_title', 'change_page_title' );

所以这些都是我试着让它起作用的东西,或者更确切地说是为了测试我是否能够修改标题。我相信有一个简单的解决方案,我犯了一个愚蠢的错误。

谢谢您抽时间见我。

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2020-07-29 09:41:26

阅读过滤器的文档是很重要的。pre_get_document_title的文档说(强调我的):

过滤文档标题before,它是生成的

$ title (字符串)文档标题。Default空字符串

因此,在使用pre_get_document_title时,标题尚未设置,因此当您执行以下操作时:

代码语言:javascript
复制
return $title . ' new title';

如文档所示,$title是一个空字符串,因此结果是:

代码语言:javascript
复制
' new title'

因此,如果您想修改现有的标题,则需要使用document_title_parts,其中您将修改$title['title']

代码语言:javascript
复制
add_filter(
    'document_title_parts',
    function( $title ) {
        $title['title'] = substr( $title['title'], 4 ); // This needs to be 4, to account for the space.

        return $title;
    }
);
票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/372007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档