在页面中使用自定义url参数

时间:2012-10-03 作者:Breezer

我正在尝试创建一个自定义图像galleri,从帖子中检索图像,如图所示

http://kurdaktuellt.se/galleri/

目前的问题是,我正试图让url变得更加用户友好,我在互联网上搜索了一个答案,我找到的最接近的答案是

add_action( \'init\', \'wpse12065_init\' );
function wpse12065_init()
{
    global $wp;
    $wp->add_query_var(\'images\');

    add_rewrite_rule(
        \'^galleri/images/([^/]*)/?\',
        \'index.php?pagename=galleri&images=$matches[1]\',
        \'top\'
    );

}
此url工作正常

http://kurdaktuellt.se/?pagename=galleri&images=1452

但是这个

http://kurdaktuellt.se/galleri/images/1598/

没有显示任何内容

非常感谢您的帮助

1 个回复
SO网友:Phil Erb

在无法进行进一步测试的情况下,我最初的想法是,您的自定义galleri页面正在查找URL参数,以便确定从哪个帖子中提取图像。然而,由于您正在重写URL,因此这些URL参数在技术上并不存在(我可能错了,我不在可以进行测试的地方,也不知道您的确切代码)。

如果您的目标是拥有用户友好的URL,那么可以使用与URL参数不同的方法。您可以获取$\\u SERVER[“REQUEST\\u URI”]变量的值,将其拆分到“/”上,并从中确定帖子。

[编辑]

<?php
$currentUrl = $_SERVER["REQUEST_URI"];
$arrUrlParts = explode( "/" , $currentUrl );

#Assuming that your URL is "http://kurdaktuellt.se/galleri/images/1598/", the variables would end up looking like this:

# $currentUrl contains "/galleri/images/1598/"
# $arrUrlParts[0] contains ""
# $arrUrlParts[1] contains "galleri"
# $arrUrlParts[2] contains "images"
# $arrUrlParts[3] contains "1598"
?>
在上述情况下,$arurlparts[3]将包含您要查找的数字。

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴