【老谭创业网】学习,提升,成长
创业改变人生,为网络创业者提供源动力!

【纯代码实现】WordPress自动检测重复标题内容

当网站文章内容多的时候,相同标题的文章就有可能出现了,特别是采集别的网站内容的时候,几千上万篇文章,不可能每一篇都查阅过的,特别是火车头采集的时候,特别容易出现重复发布的情况,怎么样避免重复标题的文章呢?今天就把我自用的代码贴出来,供大家参考,纯代码实现的。


//发表文章页面,前端抓取标题并使用AJAX发送请求
add_action('admin_print_footer_scripts', 'duplicate_titles_enqueue_scripts', 100 );
function duplicate_titles_enqueue_scripts() {
?>

posts WHERE post_status = 'publish' AND post_type = 'post' 
				AND post_title = '{$title}' AND ID != {$post_id} "; 
	$results = $wpdb->get_results($titles); 
	if($results) {
		echo "". _( '此标题已存在,请换一个标题!' , '' ) ." ";
	} else {
		echo ''._('恭喜,此标题未与其他文章标题重复!' , '').'';
	} 
	die();
}
 
// 检测后端标题并且避免同名文章更新草稿
add_action( 'publish_post','duplicate_titles_wallfa_bc' ) ;
function duplicate_titles_wallfa_bc( $post ){
	global $wpdb ;
	$title = $_POST['post_title'] ;
	$post_id = $post ; 
	$wtitles = "SELECT post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' 
						AND post_title = '{$title}' AND ID != {$post_id} " ; 
	$wresults = $wpdb->get_results( $wtitles ) ; 
	if ( $wresults ){
		$wpdb->update( $wpdb->posts, array( 'post_status' =>
				'draft' ), array( 'ID' => $post ) ) ;
        $arr_params = array( 'message' => '10', 'wallfaerror' => '1' )  ;      
		$location = add_query_arg( $arr_params , get_edit_post_link( $post , 'url' ) ) ;
		wp_redirect( $location  ) ;        
        exit ;
	}
}
 
 
 
/// 文章提交更新后的提示
add_action( 'admin_notices', 'not_published_error_notice' );   
function not_published_error_notice() {
    if(isset($_GET['wallfaerror']) == 1 ){
	   ?>
	   

上面代码不全,请直接下载附件
重复标题代码

这里,老谭在网上找到这段代码,可以解决我们发布相似文章,或者有采集文章相同标题。也只能做到标题的重复检测,内容相似度比对还是比较麻烦的。如果有出现重复标题,手工编辑的时候直接提示,以及进入草稿无法发布。

赞(0)
未经允许不得转载:老谭创业网 » 【纯代码实现】WordPress自动检测重复标题内容

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册