2012-12-13 38 views
5

我想知道是否有可能在插件中使用永久链接设置,而不是使用默认非永久链接网址。WordPress的插件:如何添加自定义SEO友好的URL处理

例如我使用的插件Flickr照片是下载从这里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我希望这些网址与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

回答

1

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

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

参考:htaccess url rewrite