在一页的 Wordpress 中使用 PHP 更改永久链接

Change permalink using PHP in Wordpress on one page

我正在一个经销商网站上工作,但是 URL/permalink 有问题。当您想要共享页面时,它不会使用实际的 URL,而是使用页面上设置的永久链接。我知道这听起来合乎逻辑,但 URL 是在外部 PHP 文件中创建的。这个 PHP 文件从数据库中获取汽车的信息并将其显示在页面上。实际的 URL 也在这个 PHP 文件中构建。所以 WordPress 中设置的永久链接是默认设置,实际 URL 是我想分享的。

在 WordPress 中设置的固定链接:

页面上的实际 URL:

因此,如果有人分享此页面,我想发送实际的 URL (https://www.prinsauto.nl/vakgarage-aanbod-details/audi-a6-avant...) 但不是永久链接。同样,实际的 URL 是在 PHP 文件中构建的。

我该怎么做?

WordPress 在自定义 URL 方面不是很容易。查看 template-loader.php 文件的 code,您可以使用模板文件 运行 您的页面功能。

如代码(第 77 行)所示,您可以在插件(或模板的 functions.php 文件)中使用 template_include 过滤器来检查特定的 "route" 和 return 要加载的模板文件。

示例:

add_filter('template_include', 'your_function_name', 0, 1);

function your_function_name($template) {
  $uri = $_SERVER['REQUEST_URI'];
  if (strpos($uri, 'vakgarage-aanbod-details') !== false) {
    return 'template-file-name.php';
  }
  else {
    return false;
  }
}

您在问题中描述的所有 PHP 逻辑都应该包含在模板文件中。