首页CMS2个方法解决WordPress内容重复问题(检测标题是否重复)

2个方法解决WordPress内容重复问题(检测标题是否重复)

时间2024-05-22 21:10:03发布访客分类CMS浏览1069
导读:最近老蒋发现一个问题,如果网站多个编辑更新的话容易出现内容重复的问题。以前我们采用的办法是一人负责几个企业网站的更新,这样不容易出错,但是随着内容的增加也会出现现在的内容和以前的内容重复。这里我们准备采用办法来检测是否重复的问题。这里我们最...

最近老蒋发现一个问题,如果网站多个编辑更新的话容易出现内容重复的问题。以前我们采用的办法是一人负责几个企业网站的更新,这样不容易出错,但是随着内容的增加也会出现现在的内容和以前的内容重复。这里我们准备采用办法来检测是否重复的问题。

这里我们最为直接的办法还是检测标题是否重复,内容检测重复基本上不可能的,不可能文章都一模一样。这里老蒋找到插件和无插件实现办法。

文章目录 隐藏 第一、Duplicate Title Validate 插件 第二、无插件代码模式

第一、Duplicate Title Validate 插件

只要我们想要的功能,基本上都可以找到合适的插件,这里我们可以使用Duplicate Title Validate插件来解决这个问题,插件下载地址。

插件地址:https://downloads.wordpress.org/plugin/duplicate-title-validate.zip

我们插件下载即可安装。

第二、无插件代码模式

这里我们也可以使用代码方式。

// 发表文章页面,前端抓取标题并使用AJAX发送请求add_action( 'admin_print_footer_scripts', 'duplicate_titles_enqueue_scripts', 100 );
function duplicate_titles_enqueue_scripts() {
    ?>
    script>
jQuery(function($){
       function checkTitleAjax(title, id,post_type) {
        var data = {
            action: 'title_checks',            post_title: title,            post_type: post_type,            post_id: id        }
    ;
        $.post(ajaxurl, data, function(response) {
                $('#message').remove();
                $('#poststuff').prepend('div id=\"message\" class=\"updated below-h2 fade \">
    p>
    '+response+'/p>
    /div>
    ');
        }
    );
     }
    ;
    $('#title').change(function() {
            var title = $('#title').val();
            var id = $('#post_ID').val();
            var post_type = $('#post_type').val();
            checkTitleAjax(title, id,post_type);
    }
    );
 }
    );
    /script>
?php}
        // 接收前端ajax参数add_action('wp_ajax_title_checks', 'duplicate_title_checks_callback');
function duplicate_title_checks_callback(){
     	global $wpdb;
                	$title = $_POST['post_title'];
    	$post_id = $_POST['post_id'];
     	$titles = "SELECT post_title FROM $wpdb->
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 "span style='color:red'>
    ". _( '此标题已存在,请换一个标题!' , '' ) ." /span>
    ";
	}
 else {
    echo 'span style="color:green">
    '._('恭喜,此标题未与其他文章标题重复!' , '').'/span>
    ';
	}
     	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 ){
    	   ?>
    	   div class="updated">
    	   p style='color:red' >
    ?php _e('貌似已经存在相同标题的文章,若您使用了文章别名作为固定链接,则可以通过修改本文的固定链接来使标题不再重复!' , '') ?>
    /p>
    	   /div>
	   ?php	}
}
           // 禁用自动保存add_action( 'wp_print_scripts', 'disable_autosave' ) ;
function disable_autosave(){
    	wp_deregister_script( 'autosave' ) ;
}
    

参考地址:https://www.inlojv.com/5431.html

这里,如果我们发布文章的时候标题重复会提醒的。这个就可以解决这个问题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 2个方法解决WordPress内容重复问题(检测标题是否重复)
本文地址: https://pptw.com/jishu/665848.html
简单代码实现WordPress隐藏内容用密码才可显示(提高复制采集难度) spark中mlib的用法是什么

游客 回复需填写必要信息