代码实现wordpress重复文章检测

代码实现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。

提示:仅供参考