将变量插入到单个页面的Wordpress页面标题中

时间:2015-10-13 09:09:04

标签: php wordpress

我有一个在Wordpress中使用单个页面的照片库页面。

图库显示是动态的,并且依赖于URL参数。参数本身是相关wordpress页面ID的整数。 (就像它的页面一样)。

以下是图库网址的示例:

http://www.bellavou.co.uk/gallery/?pid=238

出于搜索引擎优化的目的,我试图摆脱每个可能的图库URL组合,使页面标题为“图库”,如在Wordpress页面设置中设置的那样。

我一直在尝试这个,已经提到了几次:

function assignPageTitle(){
  return "Title goes here";
}
add_filter('wp_title', 'assignPageTitle');

但是由于我也在使用Yoast SEO插件,我认为这是覆盖它(即使我取消选中'强制标题重写',并将页面标题字段留空)。不确定为什么上述功能似乎不起作用。

在图库页面中,我能够正确显示h1标题,将PHP变量传递到代码中,但我想对页面标题执行相同操作,但是可以通过某种方式完成直接在页面模板上。

1 个答案:

答案 0 :(得分:0)

为什么每当我发布问题时,我似乎很快就会找到答案?

我读了一篇帖子说在wp_header调用之前放置一个wp_title函数是有帮助的,这就是我尝试过的,这似乎工作正常。

我可以使用PHP页面模板编辑单个页面的页面标题,并使用:

$procedure = isset($_GET['pid']) ? $_GET['pid'] : '';
add_filter( 'wp_title', 'wp_title_gallery', 100 );
function wp_title_gallery($title) {
    global $procedure;
    if(!$procedure) {
        $title = the_title();
    } else {
        $title = the_title(get_the_title($procedure).'&nbsp');
    }
    return $title;
}
get_header();

$procedure获取URL参数,然后该函数获取该ID,并从中获取相关页面,然后将页面标题打印到页面标题钩子中。最后,调用WP头。

(只是有人来这里寻找解决方案)