我有一个作者页面,显示该作者上传的所有媒体。每个介质可以有tag1、tag2或tag3。我想添加一个选项,我可以在同一页上只显示tag1媒体,而不必设置新的网站结构。所以我可以想出使用查询字符串的主意。
我的想法是:传递http之类的查询字符串。。。。url/作者/姓名?MediaTag=tag1
在我的查询中使用这个<?php query_posts(\'cat=1&author=\' . $post->post_author . \'&order=DESC&tag=\' . $tag1 .\'&posts_per_page=12\' . \'&paged=\' . get_query_var(\'paged\')); ?>
如果没有查询字符串,它将使用我现在使用的查询字符串<?php query_posts(\'cat=1&author=\' . $post->post_author . \'&order=DESC&posts_per_page=12\' . \'&paged=\' . get_query_var(\'paged\')); ?>
我还需要做什么吗?比如捕获查询字符串?这样行吗?但从未使用过这个,任何帮助都是非常受欢迎的。也许还有另一种方法。
最合适的回答,由SO网友:Rishabh 整理而成
根据给定的urlhttp....url.../author/name?MediaTag=tag1
, 下面的代码可能有用。。。
if(isset($_GET[\'MediaTag\'])) //It will check the value of MediaTag (from address bar after ?)
{
$tag1 = $_GET[\'MediaTag\']; //Assigning value of MediaTag to the variable
if($tag1) //Checking if variable have some value or not
{
query_posts(\'cat=1&author=\' . $post->post_author . \'&order=DESC&tag=\' . $tag1 .\'&posts_per_page=12\' . \'&paged=\' . get_query_var(\'paged\'));
} else {
query_posts(\'cat=1&author=\' . $post->post_author . \'&order=DESC&posts_per_page=12\' . \'&paged=\' . get_query_var(\'paged\'));
}}