5

我想知道是否可以在插件中使用永久链接设置,而不是使用默认的非永久链接 url。

例如我正在使用插件 flickr photostream 可以从这里下载http://wordpress.org/extend/plugins/flickr-photostream,它是由其他人编写的,但我想知道我自己的插件和补丁这个是为了创建更好的永久链接,而不是http://www.domain.co.uk/?flickrps=2在页面之间前进和后退。

有人向我建议了这个 url,我试图将它修补到上面的插件中,但没有任何运气来实现我所追求的。

Wordpress 插件:如何添加自定义 URL 句柄

我设法通过谷歌找到了这个,看起来很容易做到,但没有得到我期望的结果。http://gabrielharper.com/blog/2012/09/wordpress-custom-urls-for-plugins/

而不是http://www.domain.co.uk/?flickrps=2我希望 url 类似于http://www.domain.co.uk/page/2.

遗憾的是,我想使用的上述链接不起作用并给出错误 404,但其中带有问号的链接确实有效,但我不想使用这些。

我知道这是由 WordPress 拍摄的,但在这样的事情之后,也许照片会更好。

add_action('parse_request', 'addFlickrPhotostreamURL');
function addFlickrPhotostreamURL() {
    global $flickrpsp;

    // Manually parse the URL request
    if (!empty($_SERVER['REQUEST_URI'])) {
        $urlvars = explode('/', $_SERVER['REQUEST_URI']);
    }

    // Check for querystring variables
    if ((!empty($urlvars[1])) && (!empty($urlvars[2]))) {
        $_REQUEST['page'] = $urlvars[1];
        $_REQUEST['flickrpsp'] = $urlvars[2];

        $flickrpsp = $urlvars[2];
    }

    // ... handle multiple types of URL by checking $urlvars[1] here
}

您可以在此处查看整个文件的代码http://pastebin.com/cPhzrJBF

4

1 回答 1

1

.htaccess您可以通过在文件中创建规则轻松实现此目的。例如,可以使用将 URL 重定向http://www.domain.co.uk/?flickrps=2http://www.domain.co.uk/page/2以下规则:

RewriteEngine on
RewriteRule ^page/([0-9]+)/$ ?flickrps=$1

参考:htaccess url 重写

于 2012-12-16T10:19:14.330 回答