现在相关内容这个页面的标题是固定的,也就是不管我们访问哪个电影的相关内容页面,这个页面的标题永远都是 相关内容 这几个字 ... 对种统一的标题不利于搜索引擎优化 ... 这个视频我们一起来解决这个问题...
打开当前主题的 functions.php ... 然后定义一个函数 ... function movie_wp_title( $title, $sep ) {} ... 给这个函数添加两个参数 ...
$title 和 $sep ...
把这个函数挂到 WordPress 的 wp_title() 函数上 ... add_filter( 'wp_title', 'movietalk_wp_title', 10, 2 ); 这里的数字 10 是我们的函数执行的优先级 .... 默认是 10,这个数字低小,就越早执行 ... 后面的 2 表示接受的参数 ... 在我们函数里设置了两个参数 ... 所以这里是 2
下面我们再去设计一个这个函数 ... 我们要根据 related_content_id 这个查询参数获取到相应的内容的标题 ... 然后再去判断一下,页面的名称是否是 related ... 也就是相关内容页面 ... 并且 related_type 这个查询参数的值要是 people ...
想要获取到查询参数 ... 我们要在这个函数里使用 $wp_query 这个变量才能获取到查询参数 ... 所以先输入一个 global $wp_query;
然后使用 get_query_var() 获取到相应的查询参数 ...
$related_type = get_query_var( 'related_type' );
$related_content_id = get_query_var( 'related_content_id' );
下面我们可以再使用 get_the_title() ... 获取到内容的标题 ... $related_movie_title = get_the_title( $related_content_id ); 在 get_the_title() 里, 设置了参数的值是 $related_content_id ... 这样可以动态获取到对应的内容的标题 ...
再做一下判断,也就是让 WordPress 决定在什么条件下才使用我们设计的页面标题 ...
if ( is_page('related') && ( $related_type == 'people' ) && ( get_post_type( $related_content_id ) == 'movie' ) )
这里我们设置了三个条件,必须同时满足的时候,WordPress 才会使用我们设计的页面标题 ... 一个是页面的名称必须是 related ... 还有一个是 related_type 的值必须是 people ... 另外还有内容的类型必须是电影 ...
另起一行,再设计一下满足条件后的页面标题 ...
$title = "《 $related_movie_title 》相关人物 $sep " ;
书名号里是电影内容的标题 ... 后面再加上相关人物这几个字 ... $sep 是标题的分隔符 ...
最后,我们再返回标题的值 ... return $title; 保存 ...
回到前台的相关内容页面 ... 刷新 ....
当前是 盗梦空间 相关人物的页面 ... 在页面的标签上,会显示页面标题 ... 会显示为 盗梦空间 相关人物 ...
我们可以再看一下其它电影内容的相关人物页面 ...