在wordpress永久链接的末尾添加一个SQL查询?

时间:2011-12-25 00:01:46

标签: wordpress permalinks

好的....所以我创建了一个新的wordpress主题,但仍然无法使我的自定义代码起作用。

我希望能够有一个页面输出数据库中的项目列表,每个项目都有这种URL格式:

www.site.com/category/subcategory/?id=XX

?id = XX查询应位于URL的末尾,并将用户从类别页面引导至子类别页面,该页面显示有关具有XX id的项目的特定数据。

列表中的每个项目都包含在类别模板页面中的标记中,子类别页面使用$ _GET。我有一个wordpress主题,但在我的其他网站上,我使用不同的主题,它不起作用。如果用户单击列表中的项目,则用户将被定向到子类别页面而不附加sql字符串。我不确定在wordpress中的functions.php文件中放入什么(或者无论处理函数的文件是什么),还是在htaccess中。任何帮助表示赞赏。

更新

@Niels - 我没有制作代码......我有两个人为我制作代码。他们俩都不是专业编码人员,但他们让它发挥作用,这就是我所关心的。我的网站以前从未被黑客攻击,但我需要找到如何使代码自己工作,因为现在创建代码的两个人都很忙。是的,我被告知sql注入。

我在类别页面(http://www.mysite.com/category)上有php代码,它定义了将在代码中使用的变量,连接到数据库,查询数据库表,然后选择并使用项目的ID输出数据库表中的项目。代码使用while循环输出项目,以便类别页面基本上是项目目录。输出的每个项目都以这种格式输出:$ itemname。就像我说的,代码已经在一开始就定义了这些变量,所以sql查询已经知道要查找什么。当用户点击类别页面中的任何项目时,链接应该将它们带到项目的配置文件页面,该页面基本上是子类别页面(即:http://www.mysite.com/category/subcategory/)。所以让我明确一下:当用户点击CATEGORY PAGE中的ITEM时,应该将用户定向到项目的个人资料页面,该页面基本上是SUBCATEGORY PAGE。这是/?id = $ id部分的来源。在从类别页面到子类别页面的过渡阶段,查询字符串应将自身附加到URL,子类别页面将根据数据库中的数据输出数据对于该特定项目。例如,如果用户点击了以下链接:www.mysite.com/category/subcategory/?id = 12,则应将用户定向到ID为12的项目的个人资料页面。 ,在我们的例子中,子类别页面,应该输出数据库中id为12的项目的数据。这就是它应该如何工作。子类别页面或项目概要文件页面将具有$ _GET代码,以便它知道它要输出的数据。

2 个答案:

答案 0 :(得分:1)

修订答案

查看WordPress'Rewrite API。这绝对是更“正确”的做法。

原始答案

不要使用网址查询,请尝试以下内容:

// URL: http://blahblahblah.com/category/pagetitle/15

preg_match_all('/[^\/]+/', $_SERVER['REQUEST_URI'], $matches);
$item_id = $matches[0][2];

echo 'Do whatever you want with Item ID ' . $item_id;

答案 1 :(得分:0)

  

如果用户点击列表中的某个项目,则会将用户定向到该列表   没有附加sql字符串的子类别页面。

你对“sql string”的意思是什么?

您能否尽可能详细地描述您拥有的链接,示例以及他们应该指向的页面以及这些页面应该做什么?

另外:我觉得你有点超出你的深度,你正在根据URL中的参数对数据库进行处理。您应该知道,操纵URL参数以获取对数据库的访问权是一种非常简单的方法来破解网站。请仔细阅读SQL Injection以及如何预防它。