使用自定义wordpress url链接参数而不是url中的GET值

时间:2016-11-30 11:00:53

标签: php wordpress .htaccess url

我会保持这么短。

我已经阅读了一些关于更改Wordpress的以下网址的教程:

  

本地主机/ mysite的/ werkvorm?项目=测试

  

本地主机/ mysite的/ werkvorm /测试

所以我可以获得搜索引擎的干净链接。并且页面加载就像只读取hu<Enter><Enter> 的值,但更容易阅读。

通过以下代码,我试图实现我的目标:

的functions.php:

$_GET['item']

在werkvorm页面上我可以使用:

/**
 * 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;
});

现在,当我使用网址时:$test = get_query_var( 'item' ); // to retrieve the data 我得到的是404.但是当我使用localhost/mysite/werkvorm/test时,只有网址没有改变才能正常工作。对此有任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

将永久链接结构更改为&#39;帖子名称&#39;在admin-> gt。settings-&gt; permalinks。

根据您的网址结构要求,您可能需要编写一些代码。但是帖子名称结构设置可以解决这个问题。