WordPress中的comments_rewrite_rules钩子是一个用于修改评论的重写规则的动作钩子。当WordPress生成评论重写规则时,可以使用此钩子来添加、修改或删除评论的重写规则。
下面是comments_rewrite_rules钩子的详细用法:
1. 添加评论重写规则:
您可以使用此钩子来添加自定义的评论重写规则。例如,您可以添加一个新的评论页面的重写规则,以便将评论页面的URL更改为自定义URL。
function custom_comments_rewrite_rules($rules) {
$new_rules = array(
'custom-comments/([^/]+)/?$' => 'index.php?pagename=custom-comments&post_slug=$matches[1]'
);
return $new_rules + $rules;
}
add_filter('comments_rewrite_rules', 'custom_comments_rewrite_rules');
在上面的示例中,我们添加了一个新的评论页面的重写规则,将评论页面的URL更改为custom-comments/post-slug的格式。请确保将custom-comments替换为您自己的自定义页面。
2. 修改评论重写规则:
您可以使用comments_rewrite_rules钩子来修改默认的评论重写规则。例如,您可以更改评论页面的URL结构,从而修改评论页面的URL格式。
function modify_comments_rewrite_rules($rules) {
// 修改评论页面的URL结构
$modified_rules = array();
foreach ($rules as $pattern => $rewrite) {
$modified_rules[$pattern] = str_replace('%pagename%', 'custom-comments', $rewrite);
}
return $modified_rules;
}
add_filter('comments_rewrite_rules', 'modify_comments_rewrite_rules');
在上面的示例中,我们将评论页面的URL结构修改为custom-comments的格式。请注意,这个示例仅适用于将%pagename%作为评论页面的标记使用的默认情况下。
3. 删除评论重写规则:
如果您希望完全删除评论的重写规则,可以使用此钩子。例如,您可能不希望有任何评论的重写规则,从而禁用评论页面的URL。
function remove_comments_rewrite_rules($rules) {
return array();
}
add_filter('comments_rewrite_rules', 'remove_comments_rewrite_rules');
在上面的示例中,我们将comments_rewrite_rules钩子返回一个空数组,从而删除所有评论的重写规则。
使用comments_rewrite_rules钩子可以很方便地修改、添加或删除评论的重写规则。无论您想要实现何种需求,都可以使用此钩子来满足要求。
0 个评论