在一页的 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 逻辑都应该包含在模板文件中。
我正在一个经销商网站上工作,但是 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 逻辑都应该包含在模板文件中。