代码实现wordpress重复文章检测
在WordPress中,可以使用内置函数wp_unique_post_slug
来检测和处理重复的文章。以下是一个PHP函数的示例,它使用WordPress内置功能来检测重复文章:
function is_duplicate_post($post_id) {
global $wpdb;
// 获取文章的title和content字段
$post_title = get_the_title($post_id);
$post_content = $wpdb->get_var("SELECT post_content FROM $wpdb->posts WHERE ID = $post_id");
// 使用WordPress内置函数生成slug
$post_name = sanitize_title($post_title);
// 构建SQL查询,检查是否有其他文章具有相同的slug
$query = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type = 'post' AND ID != %d", $post_name, $post_id);
// 执行查询并检查结果
$duplicate_post_id = $wpdb->get_var($query);
// 如果找到重复的文章,返回true
if ($duplicate_post_id) {
return true;
}
return false;
}
// 使用方法:
// $post_id 是你想要检查的文章的ID
$is_duplicate = is_duplicate_post($post_id);
if ($is_duplicate) {
echo "文章已存在,请避免发布重复内容。";
}
这个函数首先获取文章的标题和内容,然后生成一个slug,并检查数据库中是否已经存在具有相同slug的其他文章。如果找到重复的文章,它会返回true
,否则返回false
。在实际使用时,你需要替换$post_id
为你想要检查的文章的实际ID。
提示:仅供参考