wordpress - 将带有获取参数的 url 更改为带有路径的 url。WordPress 网站
问题描述
我有一个 wordpress 网站。
它有一个产品页面,根据给定的 GET 参数显示产品的一些修改。
https://www.officeshop.co.il/product/product-name-1/?build=product-572
https://www.officeshop.co.il/product/product-name-1/?build=product-573
我想让网址看起来像这样:
https://www.officeshop.co.il/product/product-name-1/build/product-572
或者
https://www.officeshop.co.il/product/product-name-1/product-572
我曾尝试使用 .htaccess 文件管理重定向,但没有成功。
每次“ https://www.officeshop.co.il/product/product-name-1/build/product-572 ”导致404页面。
看起来 .htaccess 文件中的重写规则根本没有效果。可能会被wordpress覆盖吗?或者我没有使用正确的规则......
我将 .htaccess 文件放在网站的根文件夹中。
解决方案
如何在 wordpress 网站中自定义 url
例如: http ://example.com/your-page-slug/?cat=categoryname&name=productname 看起来像这样:http ://example.com/your-page-slug/categoryname/productname/
1.创建页面模板 2.创建页面(您的页面名称)然后分配给创建的模板(第一点) 3.复制下面的代码并粘贴在 function.php 文件中
add_action( 'init', 'url_getparam_init' );
function url_getparam_init(){
// rewrite rule tells wordpress to expect the given url pattern
add_rewrite_rule( '^your-page-slug/(.*)/?', 'index.php? page_id=your_page_id&getparam=$matches[1]', 'top' );
}
add_filter('query_vars', 'view_getparam_from_url');
function view_getparam_from_url($vars) {
$vars[] = 'getparam';
return $vars;
}
4.然后保存永久链接(登录到 WordPress 仪表板 -> 设置 -> 永久链接设置) 5.然后从您创建的页面模板中获取参数 print_r(get_query_var( 'getparam' ));
推荐阅读
- python - 如何修复python中graphql查询中的“解析错误(VAR_SIGN)”
- box2d - 如何在box2d中查找矩形顶部是否碰撞
- ios - 提交到使用 iOS 12.1 SDK 构建的 App Store
- ios - 快速识别来自 weburl 的资源名称和扩展名
- java - 如何在 Spring Boot 1 应用程序中查找未使用的属性
- python - Python 中基于类的 AWS lambda
- java - 使用 JDBC 在 Mysql 中更新查询的问题
- c# - 格式化 DateTime,中间有文本
- sql-server - 根据星期几控制 SP 代码流
- azure - adfs 和 azure AD 的区别