【发布时间】:2016-11-30 11:00:52
【问题描述】:
我会尽量简短。
我已经阅读了一些关于为 Wordpress 更改以下网址的教程:
localhost/mysite/werkvorm?item=test
收件人:
localhost/mysite/werkvorm/test
这样我就可以获得搜索引擎的干净链接。页面加载就像它只是读取 $_GET['item'] 的值一样,但具有更易于阅读的 url。
我尝试使用以下代码来实现我的目标:
函数.php:
/**
* For rewriting URLS on werkvorm
*/
add_action('init', function(){
add_rewrite_rule(
'^werkvorm/([^/]+)([/]?)(.*)',
'index.php?pagename=werkvorm&item=$matches[1]',
'top'
);
});
/**
* Retrieve the data from the get parameter for werkvorm page
*/
add_filter('query_vars', function( $vars ){
$vars[] = 'werkvorm';
$vars[] = 'item';
return $vars;
});
在 werkvorm 页面上我可以使用:
$test = get_query_var( 'item' ); // to retrieve the data
现在当我使用网址时:localhost/mysite/werkvorm/test
我得到了 404。但是,当我使用 localhost/mysite/werkvorm/?item=test 时,它工作正常,只有 url 没有改变。对此的任何帮助表示赞赏。
【问题讨论】:
-
将永久链接结构更改为“帖子名称”是否有效? (管理员->设置->永久链接)
-
@丹。哈哈,就是这样。谢谢,我不太喜欢 Wordpress,所以我真的不知道。
-
不用担心哈哈。根据您的 URL 结构要求,您可能需要编写一些代码。但是帖子名称结构设置在这里可以解决问题
-
@丹。是的,幸运的是我熟悉其余所需的代码哈哈,但感谢您的帮助,它为我节省了很多时间。如果您需要任何积分,我可以接受它作为下面的答案。
-
我不明白为什么不:)
标签: php wordpress .htaccess url