我正在尝试修改WordPress页面标题。不过,我对WordPress函数、钩子(过滤器和操作)等都相当陌生。
我可以实现的是更改和修改WordPress标题在中。我还可以更改为页面标题(),但不能修改它。例如:
原版标题:我的房子是红色的
修改后的页面标题(用于单独的示例):我的房子是绿色的,房子是红色和蓝色的
因此,我想要添加或删除特定的字符或数字/整数的网页标题。要弄清楚我到底想要达到的目标是:
我想挂起我(自定义的帖子类型)页面的原始页面标题,并“过滤”标题的前三个数字。
我的自定义帖子类型的标题编号如下:
我为WordPress更改了标题,因此我的自定义post类型为后退/前进导航正确排序。我使用的模块无法单独对自定义post类型进行排序。
所以我不希望任何数字(总是三个数字)在我的页面标题前面。我计划通过使用(这些php函数之一)来“过滤”它们:
据我所知,这些过滤器挂钩是实现的:
另外,我使用了这些WordPress函数/过滤器挂钩:
function change_page_title( $title ) {
return $title;
}
add_filter( 'pre_get_document_title', 'change_page_title' );和
function change_page_title( $title ) {
$title['title'] = 'Changed title';
}
add_filter( 'document_title_parts', 'change_page_title' );+++所以我很抱歉,如果我的问题可能已经有一个解决方案,但我找不到任何一个,我目前无法解决如果我自己。所以我希望你能帮我。此外,如果你有一个很好的建议,以便更好地在WordPress开发(资源,如视频,课程等)我会很感激的。我知道HTML,CSS,JS,以及编程和PHP方面的基本知识。+++ --我试着修改上面的函数,就像这样(还有更多的,但是它没有工作):
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' );所以这些都是我试着让它起作用的东西,或者更确切地说是为了测试我是否能够修改标题。我相信有一个简单的解决方案,我犯了一个愚蠢的错误。
谢谢您抽时间见我。
发布于 2020-07-29 09:41:26
阅读过滤器的文档是很重要的。pre_get_document_title的文档说(强调我的):
过滤文档标题before,它是生成的。
和
$ title (字符串)文档标题。Default空字符串。
因此,在使用pre_get_document_title时,标题尚未设置,因此当您执行以下操作时:
return $title . ' new title';如文档所示,$title是一个空字符串,因此结果是:
' new title'因此,如果您想修改现有的标题,则需要使用document_title_parts,其中您将修改$title['title']:
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;
}
);https://wordpress.stackexchange.com/questions/372007
复制相似问题