如何在没有url重写规则的情况下动态更改wordpress post url

时间:2011-11-20 21:15:23

标签: php wordpress url url-rewriting

我有一个$postURL,它基本上包含一个wordpress post url。我按如下方式检索它:

$postURL = get_permalink($postID);

现在假设这个$ postURL是:

http://www.blogname.come/post-permalink/

我想将此更改为

http://www.blogname.come/post-permalink-1/

即。在$ postURL的末尾添加-1,并将其添加到新变量$newURL

//在头文件中包含必需的JS和CSS的函数 function wplikelockercss(){

// Include the CSS
echo "<link type=\"text/css\" rel=\"stylesheet\" href=\"".get_bloginfo('wpurl')."/wp-content/plugins/".basename(dirname(__FILE__))."/like-locker.css\"> \n";
//$postID = $_POST['post'];
$postID = get_the_ID();
$postURL = get_permalink($postID);
$newURL = substr($postURL, 0 -1). "-1";
//$newURL = "1-".$postURL;


// Echo our per page post ID callback from facebok, when the user clicks like this function will be triggerd and their IP will be stored in the databse with the post ID
echo "
<script type=\"text/javascript\">

    FB.Event.subscribe('edge.create', function(href){ 

        var data = { post: '".get_the_ID()."', action: 'fbjax' };

        jQuery.post('".admin_url( 'admin-ajax.php' )."', data, function(response) {

            //location.reload();
            //location.href='http://www.blogname.net/how-thing-work-1';
            location.href='$newURL';

        });

    });

</script> \n
";

}

上面提供了我所拥有的代码。我收到$ postID,获取$ postURL然后尝试创建newURL。然后,location.href使用此$ newURL将用户重定向到新页面。

但是,如果使用

$ newURL = substr($ postURL,0 -1)。 “-1”;

$ newURL是

http://www.blogname.net/e-1或-1之前的其他角色

如果我使用

$ newURL =“1 - ”。$ postURL;

location.href将页面重定向到

http://www.blogname.net/1-

2 个答案:

答案 0 :(得分:1)

使用htaccess,主机Linux:

RewriteEngine On    
RewriteBase /
RewriteRule post-permalink-1$ post-permalink

答案 1 :(得分:0)

$newUrl = substr($postUrl, 0 -1) . "-1/";