WordPress使用自定义动态更改标题

时间:2021-08-01 作者:Wordprez

我创建了一个自定义php模板文件,用于根据用户选择过滤结果。我使用以下代码获得用户的选择

$bla=$wp_query->query_vars[\'something\'];
因此,我想将wordpress标题改为类似“而不是wordpress面板中的模板名称”;“我的模板名称动态-网站名称”;

我找到了这个

add_filter(\'pre_get_document_title\', \'custom_title\');
function custom_title($title) {
     return \'Test New Title\';
}
它改变了标题,但是它没有显示$bla的内容。如果你在代码中重复几行,它就会工作。我认为这是因为我必须将此过滤器放在模板文件的get\\u header()之前。有什么建议吗?

1 个回复
最合适的回答,由SO网友:bosco 整理而成

将查询变量的检查移动到标题过滤器中:

add_filter(\'pre_get_document_title\', \'wpse392764_qv_template_title\' );

function wpse392764_qv_template_title( $title ) {
  $foobar = get_query_var( \'foobar\' );

  if( empty( $foobar ) )
     return $title;

  return sprintf(
    __( \'%s Dynamic - %s\', \'wpse392764\' ),
    esc_html( $foobar ),
    get_bloginfo( \'name\' )
  );
}

相关推荐

Updating modified templates

我想调整一些。php模板文件在我的WordPress主题中,我知道正确的过程是将相关文件复制到子主题文件夹中并在那里编辑文件,这样我的修改就不会在将来的主题更新中丢失。但这是否意味着我将无法从主题更新中获益,因为我将文件放在了我的子主题文件夹中?这可能不是一件好事,因为主题更新可能添加了一些有用的特性,甚至修复了我最初需要对代码进行调整的问题!这方面的常见解决方案是什么?有人推荐了一款Diff应用程序——这是人们常用的吗?