让这个页面可以动态输出内容,我们可以去注册新的查询参数,然后在页面的模板文件里动态获取到参数的值,再根据参数的值来显示对应的内容。
比如,我们要在页面里显示指定的电影内容的,相关的人物内容 ... 我们需要得到电影内容的 id ,然后根据这个 id 在页面中输出电影内容所相关的人物内容。
这个电影内容的 id 就可以是某个查询参数的值 ...
打开当前主题的 functions.php .. 先输入一小段注释 ... /* 注册查询参数 */
然后定义一个函数 ... 函数的名称可以用主题的名称开始 ... 函数里需要一个参数 ...
function movietalk_query_vars( $vars ) {
}
在这个自定义的函数里,我们可以添加想要注册的查询参数 ... 参数的名称我们可以随便怎么命名 ... WordPress 的查询参数会在一个数组里 ... 我们需要把想要的注册的查询参数添加到这个数组里 ..
$vars[] = 'related_content_id';
related_content_id 就是我们注册的查询参数的名称 ... 我们希望这个查询参数的值是电影内容的 id ...
另起一行,再添加一个查询参数 ... $vars[] = 'related_type';
我们可以根据这个查询参数的值来显示不同类型的相关的内容 ... 比如我们可以设置,当 related_type 的值是 people 的时候,在页面上显示相关的人物内容 ,当这个值是 news 的时候,可以在页面上显示相关的新闻 等等 ....
怎么样去利用这些查询参数,完全取决于你自己的设计。
另起一行,再输入 return $vars; 返回 $vars 参数的值 ...
在我们定义的函数的下面,可以使用 add_filter() ,把我们的函数挂载到 WordPress 的 query_vars() 函数上 ...
add_filter( 'query_vars','movietalk_query_vars' );
这样 WordPress 就会认识我们新添加的这两个查询参数 ... 保存 ...
回到相关内容这个页面,我们可以试验一下 ... 在 ?pagename=related 后面 ... 先输入一个 & .. 然后是我们注册的查询参数的名称 ... related_content_id ... 等号后面是参数的值 ... 先随便输入一个数字 5 ...
再添加一个 & 符号来连接其它的查询参数 ... related_type=people ... 回车 ...
在 $wp_query 的里面, query 这里,你可以看到 related_type 还有 related_content_id 这两个查询参数 ... 另外还有相应的值 ...
下面我们就根据这些查询参数,来设计一下这个相关内容页面 ...