【问题标题】:Using custom wordpress url link parameter instead of GET value in url在 url 中使用自定义 wordpress url 链接参数而不是 GET 值
【发布时间】: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


【解决方案1】:

在 admin->settings->permalinks 中将永久链接结构更改为“帖子名称”。

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

【讨论】:

    猜你喜欢
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    相关资源
    最近更新 更多