Code gợi ý các bài viết tương tự khi viết bài mới wordpress
16/01/2024 808
Khi bạn viết bài mới wordpress, với số lượng bài viết nhiều có thể Bạn không biết được đã viết bài viết tương tự trước đó hay không? Đoạn code sau sẽ giúp bạn gợi ý ra các bài viết tương tự giống tiêu đề bạn nhập.
function js_check_bai_viet_tuong_tu_inline() {
if (get_current_screen()->base === 'post' && get_current_screen()->post_type === 'post') {
wp_enqueue_script('jquery-ui-autocomplete');
wp_enqueue_style('jquery-ui-autocomplete');
wp_localize_script('jquery', 'check_bai_tuong_tu_act', array('ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('autocomplete-nonce')));
wp_add_inline_script('jquery', '
jQuery(document).ready(function($) {
$("#title").autocomplete({
source: function(request, response) {
$.ajax({
url: check_bai_tuong_tu_act.ajaxurl,
dataType: "json",
data: {
action: "autocomplete",
term: request.term,
nonce: check_bai_tuong_tu_act.nonce,
},
success: function(data) {
response(data);
}
});
},
minLength: 3,
open: function(event, ui) {
$(".ui-autocomplete").addClass("check_trung");
$("<style>.ui-front{z-index: 9999!important;}</style>").appendTo("head");
},
});
});
');
}
}
add_action('admin_enqueue_scripts', 'js_check_bai_viet_tuong_tu_inline');
function auto_check_bai_tuong_tu() {
check_ajax_referer('autocomplete-nonce', 'nonce');
global $wpdb;
$title = sanitize_text_field($_GET['term']);
$results = $wpdb->get_col($wpdb->prepare("SELECT post_title FROM $wpdb->posts WHERE post_title LIKE %s AND post_type = 'post'", '%' . $wpdb->esc_like($title) . '%'));
echo json_encode($results);
wp_die();
}
add_action('wp_ajax_autocomplete', 'auto_check_bai_tuong_tu');