Cách tự động bình luận hàng loạt vào bài viết Wordpress

Tấn Giàu
Thành viên
Bài viết: 8
Ngày tham gia: 20:41 - 11/5/2018
Được thả tim: 19 lần

Cách tự động bình luận hàng loạt vào bài viết Wordpress

Mọi người giúp em với ạ, em muốn thêm bình luận vào toàn bộ bài viết trên website Wordpress của mình một cách tự động (hàng loạt) với nội dung em mong muốn. Bác nào chuyên về mã nguồn này có thể viết dùm em đoạn code được không ạ?

Admin, nga_lkt, lethuyvan, minhminh97, oniison12312, thangnguyen, hieu16005, Lê Hoàng, Phạm Tú Quyên, Nguyễn Văn Sơn và 5 người khác đã thả tim cho bài viết của Tấn Giàu (tổng 15).
Từ khóa:
Google Adsense
Đã xác thực
Quảng Cáo
phpBB Việt Nam
Đã xác thực
Thành viên
Bài viết: 34
Ngày tham gia: 20:37 - 4/1/2022
Đã thả tim: 62 lần
Được thả tim: 150 lần

Re: Cách tự động bình luận vào tất cả bài viết trong Wordpress

Bạn có thể sử dụng một đoạn script PHP để tự động thêm bình luận vào tất cả các bài viết trên website WordPress của mình. Đây là cách thực hiện:

Cách thêm bình luận hàng loạt cho toàn bộ bài viết trong website WordPress
- B1: Tạo một tệp PHP riêng:
Tạo tệp bulk-comments.php trong thư mục gốc của WordPress (hoặc một nơi an toàn).
- B2: Thêm đoạn mã sau vào tệp bulk-comments.php:

Mã: Chọn tất cả

<?php
require_once('wp-load.php'); // Tải các hàm WordPress

// Nội dung bình luận mẫu
$sample_comments = [
    'Bài viết rất hữu ích, cảm ơn bạn đã chia sẻ!',
    'Cảm ơn bài viết, thông tin rất chi tiết và rõ ràng.',
    'Bài viết này giúp tôi hiểu thêm nhiều điều, cảm ơn bạn.',
    'Thật tuyệt vời, cảm ơn bạn đã chia sẻ kiến thức.',
    'Tôi rất thích bài viết này, mong được xem thêm nhiều bài khác.'
];

// Lấy tất cả các bài viết
$args = [
    'post_type'   => 'post',
    'post_status' => 'publish',
    'numberposts' => -1 // Lấy tất cả bài viết
];
$posts = get_posts($args);

// Thêm bình luận vào từng bài viết
foreach ($posts as $post) {
    $comment_data = [
        'comment_post_ID'      => $post->ID,
        'comment_author'       => 'Admin', // Tên người bình luận
        'comment_author_email' => '[email protected]', // Email người bình luận
        'comment_content'      => $sample_comments[array_rand($sample_comments)], // Chọn ngẫu nhiên bình luận mẫu
        'comment_type'         => '', // Loại bình luận
        'comment_parent'       => 0, // Không phải trả lời bình luận nào
        'user_id'              => 1, // ID của người dùng (Admin thường là 1)
        'comment_approved'     => 1, // Duyệt tự động
    ];

    // Thêm bình luận
    wp_insert_comment($comment_data);
}

echo "Thêm bình luận hàng loạt thành công!";
?>
- B3: Truy cập tệp qua trình duyệt:
Mở trình duyệt và truy cập https://yourwebsite.com/bulk-comments.php.
Script sẽ thêm bình luận vào tất cả các bài viết.

Lưu ý:
- Bảo mật: Xóa hoặc đổi tên tệp sau khi sử dụng để tránh lạm dụng.
- Kiểm tra kỹ nội dung bình luận: Đảm bảo nội dung phù hợp với website của bạn.
- Tối ưu hóa hiệu suất: Với website lớn, script có thể mất thời gian để thực thi. Sử dụng cron job hoặc batch processing nếu cần.

Phương án thay thế:
Nếu bạn không muốn can thiệp vào mã, có thể sử dụng các plugin hỗ trợ tạo nội dung tự động như:
- WP All Import (kết hợp với file bình luận).
- Custom Bulk Comments (nếu bạn tìm thấy plugin này phù hợp).
nga_lkt, minhminh97, thangnguyen, hieu16005, Nguyễn Cao Cường đã thả tim cho bài viết của phpBB Việt Nam (tổng 5).
Tấn Giàu
Thành viên
Bài viết: 8
Ngày tham gia: 20:41 - 11/5/2018
Được thả tim: 19 lần

Re: Cách tự động bình luận vào tất cả bài viết trong Wordpress

Chuẩn rồi ạ, em muốn chỉ bình luận cho bài viết ở chuyên mục nhất định ví dụ: Chuyên mục "Thông tin" có ID=1 và không bình luận nếu trước đó đã có bình luận tương tự. Anh cho em xin code với ạ.
nga_lkt, phpBB Việt Nam đã thả tim cho bài viết của Tấn Giàu (tổng 2).
phpBB Việt Nam
Đã xác thực
Thành viên
Bài viết: 34
Ngày tham gia: 20:37 - 4/1/2022
Đã thả tim: 62 lần
Được thả tim: 150 lần

Re: Cách tự động bình luận vào tất cả bài viết trong Wordpress

Dưới đây là đoạn mã được cập nhật để bình luận vào chuyên mục bạn mong muốn và tránh tạo bình luận trùng lặp:

Mã: Chọn tất cả

<?php
require_once('wp-load.php'); // Tải các hàm WordPress

// Nội dung bình luận mẫu
$sample_comments = [
    'Bài viết rất hữu ích, cảm ơn bạn đã chia sẻ!',
    'Cảm ơn bài viết, thông tin rất chi tiết và rõ ràng.',
    'Bài viết này giúp tôi hiểu thêm nhiều điều, cảm ơn bạn.',
    'Thật tuyệt vời, cảm ơn bạn đã chia sẻ kiến thức.',
    'Tôi rất thích bài viết này, mong được xem thêm nhiều bài khác.'
];

// ID chuyên mục mà bạn muốn thêm bình luận (ví dụ: Chuyên mục "Thông tin" có ID = 1)
$target_category_id = 1;

// Lấy tất cả bài viết thuộc chuyên mục
$args = [
    'post_type'   => 'post',
    'post_status' => 'publish',
    'numberposts' => -1, // Lấy tất cả bài viết
    'category'    => $target_category_id // Lọc theo ID chuyên mục
];
$posts = get_posts($args);

// Thêm bình luận vào từng bài viết trong chuyên mục
foreach ($posts as $post) {
    // Kiểm tra xem bài viết đã có bình luận chưa
    $existing_comments = get_comments([
        'post_id' => $post->ID,
        'user_id' => 1, // ID của người dùng (Admin thường là 1)
    ]);

    if (empty($existing_comments)) {
        // Nếu chưa có bình luận, thêm bình luận mới
        $comment_data = [
            'comment_post_ID'      => $post->ID,
            'comment_author'       => 'Admin', // Tên người bình luận
            'comment_author_email' => '[email protected]', // Email người bình luận
            'comment_content'      => $sample_comments[array_rand($sample_comments)], // Chọn ngẫu nhiên bình luận mẫu
            'comment_type'         => '', // Loại bình luận
            'comment_parent'       => 0, // Không phải trả lời bình luận nào
            'user_id'              => 1, // ID của người dùng (Admin thường là 1)
            'comment_approved'     => 1, // Duyệt tự động
        ];

        // Thêm bình luận
        wp_insert_comment($comment_data);
        echo "Đã thêm bình luận vào bài viết: " . $post->post_title . "<br>";
    } else {
        echo "Bài viết đã có bình luận: " . $post->post_title . "<br>";
    }
}

echo "Hoàn thành!";
?>

Lưu ý:
- Xác định đúng ID chuyên mục: Bạn có thể kiểm tra ID chuyên mục trong phần "Chuyên mục" của WordPress Admin.
- Kiểm tra trước khi chạy: Hãy thử nghiệm trên một bản sao (staging) của website trước khi áp dụng vào website chính.
- Tùy chỉnh nội dung bình luận: Thay đổi nội dung bình luận mẫu để phù hợp với website của bạn.
nga_lkt, minhminh97, thangnguyen đã thả tim cho bài viết của phpBB Việt Nam (tổng 3).
Tấn Giàu
Thành viên
Bài viết: 8
Ngày tham gia: 20:41 - 11/5/2018
Được thả tim: 19 lần

Re: Cách tự động bình luận vào tất cả bài viết trong Wordpress

Em muốn thêm mốc thời gian bình luận cụ thể chứ không phải là thời gian hiện tại, làm phiền anh sửa code dùm em với ạ.
nga_lkt đã thả tim cho bài viết của Tấn Giàu (1).
phpBB Việt Nam
Đã xác thực
Thành viên
Bài viết: 34
Ngày tham gia: 20:37 - 4/1/2022
Đã thả tim: 62 lần
Được thả tim: 150 lần

Re: Cách tự động bình luận vào tất cả bài viết trong Wordpress

Để đảm bảo bình luận được thêm vào với thời gian cụ thể nhưng vẫn theo định dạng thời gian của website WordPress, bạn cần lấy định dạng thời gian từ cài đặt của WordPress (date_format và time_format). Sau đó, định dạng thời gian này sẽ được hiển thị chính xác.

Mã: Chọn tất cả

<?php
require_once('wp-load.php'); // Tải các hàm WordPress

// Nội dung bình luận mẫu
$sample_comments = [
    'Bài viết rất hữu ích, cảm ơn bạn đã chia sẻ!',
    'Cảm ơn bài viết, thông tin rất chi tiết và rõ ràng.',
    'Bài viết này giúp tôi hiểu thêm nhiều điều, cảm ơn bạn.',
    'Thật tuyệt vời, cảm ơn bạn đã chia sẻ kiến thức.',
    'Tôi rất thích bài viết này, mong được xem thêm nhiều bài khác.'
];

// ID chuyên mục mà bạn muốn thêm bình luận (ví dụ: Chuyên mục "Thông tin" có ID = 1)
$target_category_id = 1;

// Thời gian cụ thể cho bình luận
$custom_date = '2024-12-01 10:50:00'; // Thời gian bạn muốn (Y-m-d H:i:s)
$custom_date_gmt = get_gmt_from_date($custom_date); // Tự động chuyển đổi sang GMT

// Lấy định dạng thời gian từ WordPress
$date_format = get_option('date_format'); // Lấy định dạng ngày
$time_format = get_option('time_format'); // Lấy định dạng giờ

// Định dạng lại thời gian theo cài đặt WP để hiển thị
$formatted_date = date_i18n("$date_format - $time_format", strtotime($custom_date));

// Lấy tất cả bài viết thuộc chuyên mục
$args = [
    'post_type'   => 'post',
    'post_status' => 'publish',
    'numberposts' => -1, // Lấy tất cả bài viết
    'category'    => $target_category_id // Lọc theo ID chuyên mục
];
$posts = get_posts($args);

// Thêm bình luận vào từng bài viết trong chuyên mục
foreach ($posts as $post) {
    // Kiểm tra xem bài viết đã có bình luận chưa
    $existing_comments = get_comments([
        'post_id' => $post->ID,
        'user_id' => 1, // ID của người dùng (Admin thường là 1)
    ]);

    if (empty($existing_comments)) {
        // Nếu chưa có bình luận, thêm bình luận mới
        $comment_data = [
            'comment_post_ID'      => $post->ID,
            'comment_author'       => 'Admin', // Tên người bình luận
            'comment_author_email' => '[email protected]', // Email người bình luận
            'comment_content'      => $sample_comments[array_rand($sample_comments)], // Chọn ngẫu nhiên bình luận mẫu
            'comment_type'         => '', // Loại bình luận
            'comment_parent'       => 0, // Không phải trả lời bình luận nào
            'user_id'              => 1, // ID của người dùng (Admin thường là 1)
            'comment_approved'     => 1, // Duyệt tự động
            'comment_date'         => $custom_date, // Sử dụng thời gian chỉ định
            'comment_date_gmt'     => $custom_date_gmt, // Thời gian GMT
        ];

        // Thêm bình luận
        wp_insert_comment($comment_data);
        echo "Đã thêm bình luận vào bài viết: " . $post->post_title . " tại $formatted_date<br>";
    } else {
        echo "Bài viết đã có bình luận: " . $post->post_title . "<br>";
    }
}

echo "Hoàn thành!";
?>

Giải thích:
- Thời gian cụ thể:
+ custom_date: Bạn chỉ định thời gian cụ thể (ví dụ: '2024-12-01 10:50:00').
+ custom_date_gmt: Sử dụng get_gmt_from_date() để tự động chuyển đổi thời gian sang GMT.
- Định dạng thời gian theo WordPress:
+ get_option('date_format'): Lấy định dạng ngày từ cài đặt WordPress.
+ get_option('time_format'): Lấy định dạng giờ từ cài đặt WordPress.
+ Sử dụng date_i18n() để định dạng thời gian theo ngôn ngữ và định dạng của website.
- Hiển thị thời gian đã định dạng:
$formatted_date: Hiển thị thời gian theo cài đặt WordPress (ví dụ: 18/09/2019 - 10:50).

Kết quả:
- Bình luận sẽ được thêm vào với thời gian bạn chỉ định.
- Thời gian hiển thị trên giao diện sẽ theo định dạng thời gian trong cài đặt WordPress.
nga_lkt, minhminh97, oniison12312, thangnguyen, hieu16005, Thanh Nam đã thả tim cho bài viết của phpBB Việt Nam (tổng 6).
Tấn Giàu
Thành viên
Bài viết: 8
Ngày tham gia: 20:41 - 11/5/2018
Được thả tim: 19 lần

Re: Cách thêm bình luận vào toàn bộ bài viết Wordpress

Code chạy ngon bác ạ, em cảm ơn bác nhiều. Em xin số bác được không ạ, có gì em hỏi thêm và gửi bác chút xíu gọi là cảm ơn bác ạ!
phpBB Việt Nam đã thả tim cho bài viết của Tấn Giàu (1).
phpBB Việt Nam
Đã xác thực
Thành viên
Bài viết: 34
Ngày tham gia: 20:37 - 4/1/2022
Đã thả tim: 62 lần
Được thả tim: 150 lần

Re: Cách thêm bình luận vào toàn bộ bài viết Wordpress

Có việc gì bạn cứ nhắn tin riêng hoặc trao đổi ở đây nhé, không cần quà cáp cảm ơn gì đâu.
Tấn Giàu
Thành viên
Bài viết: 8
Ngày tham gia: 20:41 - 11/5/2018
Được thả tim: 19 lần

Re: Cách thêm bình luận vào toàn bộ bài viết Wordpress

Hỏi bác nhiều em cũng ngại, cơ mà phiền bác viết lại dùm em code với điều kiện là chỉ bình luận trong những bài nằm trong chuyên mục có ID=1 và thẻ có ID=213 nhé.
Đã khóa
  • Chủ đề tương tự
    Trả lời
    Lượt xem
    Bài viết mới nhất
Diễn đàn Công nghệ là nơi chia sẻ kiến thức, thảo luận về các xu hướng công nghệ mới, lập trình, bảo mật, trí tuệ nhân tạo và nhiều lĩnh vực khác, kết nối những người yêu thích công nghệ.