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钩子可以很方便地修改、添加或删除评论的重写规则。无论您想要实现何种需求,都可以使用此钩子来满足要求。