将URL上的查询字符串传递给过滤媒体

时间:2016-05-04 作者:AKNL

我有一个作者页面,显示该作者上传的所有媒体。每个介质可以有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\')); ?>

我还需要做什么吗?比如捕获查询字符串?这样行吗?但从未使用过这个,任何帮助都是非常受欢迎的。也许还有另一种方法。

1 个回复
最合适的回答,由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\'));
 }}

相关推荐

Upload media only to DB

我使用的是最新的WordPress(5.6),据我所知,没有将媒体直接上传到DB的可见设置。是否有这样一个隐藏的选项,或者WordPress不支持DB作为媒体存储而不是wp-content/uploads?我希望使用DB作为优先(或唯一,如果可能的话)存储,而不是文件系统,然后直接从DB加载媒体(如post映像)。