日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

wordpress怎么防止发表重复标题的文章

發布時間:2023/11/23 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 wordpress怎么防止发表重复标题的文章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網站新聞是通過采集器進行發布的,有時會發布同樣標題的文章,這個給時候就可以通過這串代碼來進行一個簡單的預判了。

注意:推薦在傳統編輯器下使用。

可以在您發布文章的時候,進行一個文章標題重復的檢查

將此函數放在主題根目錄下的functions.php?文件的?<?php下面保存即可

/**
 * 發表文章時禁止與已存在的標題相重復
 * Version: 1.0
*/

// 發表文章頁面,前端抓取標題并使用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>'._('恭喜,此標題未與其他文章標題重復!' , '').'</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' ) ;

}

總結

以上是生活随笔為你收集整理的wordpress怎么防止发表重复标题的文章的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。