如何在WordPress中进行URL重写(rewrite)
文 / @UTHEME
在WordPress中进行URL重写(rewrite)通常是通过使用add_rewrite_rule()
函数和add_rewrite_tag()
函数来实现的。以下是一些简单的步骤,用于设置WordPress URL重写规则:
- 在你的主题或插件的
functions.php
文件中,将以下代码添加到一个函数中:
php
function custom_rewrite_rules() {
// 添加自定义重写标签
add_rewrite_tag('%custom_var%', '([^&]+)');
// 添加自定义重写规则
add_rewrite_rule(
'^custom-path/([^/]*)/?', // 自定义URL路径和参数匹配规则
'index.php?custom_var=$matches[1]', // WordPress内部查询变量映射
'top' // 设置优先级为top,以便在其他规则之前应用此规则
);
}
add_action('init', 'custom_rewrite_rules');
上述代码示例向WordPress添加了一个URL重写规则,它将类似于/custom-path/your-value
的URL映射到一个名为custom_var
的查询变量。在此示例中,your-value
可以是任何你想要捕获的值。
- 刷新重写规则: 当你添加或修改重写规则时,需要刷新WordPress的重写规则。你可以通过访问WordPress后台的“设置”>“永久链接”页面来实现。只需打开页面,然后单击“保存更改”按钮即可。
- 使用重写变量: 现在,你可以在WordPress中使用这个新的查询变量。例如,可以在主题模板文件中使用
get_query_var()
函数获取变量的值:
php
$custom_var_value = get_query_var('custom_var');
或者,你可以在pre_get_posts
操作中修改查询以根据自定义查询变量值过滤或排序内容:
php
function custom_query_modifications($query) {
if (!is_admin() && $query->is_main_query() && get_query_var('custom_var')) {
// 根据custom_var的值修改查询
$query->set('orderby', 'title');
$query->set('order', 'ASC');
}
}
add_action('pre_get_posts', 'custom_query_modifications');
通过这种方式,你可以为WordPress添加自定义URL重写规则,使你的URL更具可读性和SEO友好性。在实际应用中,你需要根据实际需求修改示例代码以满足自己的需求。

相关文章
-
个人网站选择WordPress还是Typecho? 2023-05-28 23:33:13
-
盘点2023年最好用的三款wordpress知识库主题 2023-05-28 23:20:26
-
wordpress建外贸B2C独立站的五大优势 2023-05-28 23:05:49
-
盘点2023年依然好用的3款wordpress文档主题 2023-05-28 23:02:19
-
盘点2023年依然好用的3款wordpress外贸网站主题 2023-05-28 22:59:41
-
盘点2023年依然好用的3款wordpress轻社区主题 2023-05-28 22:57:54
-
盘点2023年依然好用的3款wordpress电商主题 2023-05-28 22:56:05
-
wordpress后台地址是多少(附:后台地址修改教程) 2023-05-28 22:54:15
-
盘点2023年依然好用的3款wordpress笔记主题 2023-05-28 22:51:13
-
开源wordpress主题:kratos 介绍 2023-05-28 22:47:46