Trang chủPluginBài viết
Plugin

🚀 Cách debug nhanh nhất khi WordPress không hiện nút cập nhật plugin

05/12/2025 44 lượt xem admin Cập nhật: 23/04/2026
5/5 - (2 bình chọn)

 

Khi WordPress bị mất nút “Cập nhật plugin”, nhiều người nghĩ do lỗi hệ thống. Nhưng thực tế, nguyên nhân thường nằm ở quyền user, cấu hình hoặc server.

Bài viết này giúp bạn debug nhanh – đúng bệnh – không đoán mò.


🎯 Mục tiêu

Xác định 3 vấn đề chính:

  • User có quyền update plugin không?
  • WordPress có bị khóa update không?
  • Server có cho phép update không?

🔍 Bước 1: Kiểm tra quyền user (quan trọng nhất)

👉 Tạo file test

Tạo file check-permission.php:

<?php
require_once('wp-load.php');
if (current_user_can('update_plugins')) {
    echo '✅ Có quyền update plugin';
} else {
    echo '❌ KHÔNG có quyền update plugin';
}
👉 Truy cập:
https://domain.com/check-permission.php

📌 Kết quả

  • ✅ Có quyền → chuyển bước 2
  • ❌ Không có quyền → đây là nguyên nhân

🧠 Nguyên nhân mất quyền

  • Role admin bị sửa
  • Plugin security chặn
  • Website dùng custom role

🔍 Bước 2: Kiểm tra WordPress có bị khóa update không

Mở wp-config.php, tìm:

define('DISALLOW_FILE_MODS', true);
define('AUTOMATIC_UPDATER_DISABLED', true);

📌 Ý nghĩa

Config Tác dụng
DISALLOW_FILE_MODS ❌ Chặn toàn bộ update plugin/theme
AUTOMATIC_UPDATER_DISABLED ❌ Tắt auto update

👉 Nếu có DISALLOW_FILE_MODS = truechắc chắn mất nút update


🔍 Bước 3: Test quyền ghi file (CỰC KỲ QUAN TRỌNG)

🧠 Vì sao?

WordPress cần ghi file để:

  • tải plugin
  • giải nén
  • cập nhật

👉 Không ghi được = mất nút update


✅ Test nhanh bằng code

Tạo file check-write.php:

<?php
require_once('wp-load.php');
$test_file = WP_CONTENT_DIR . '/test-write.txt';
if (file_put_contents($test_file, 'test')) {
    echo '✅ Có quyền ghi file';
    unlink($test_file);
} else {
    echo '❌ KHÔNG có quyền ghi file';
}

🔍 Test chuẩn WordPress (khuyến nghị)

<?php
require_once('wp-load.php');
global $wp_filesystem;
require_once(ABSPATH . 'wp-admin/includes/file.php');
WP_Filesystem();
if ($wp_filesystem->put_contents(WP_CONTENT_DIR . '/test.txt', 'hello')) {
    echo '✅ WP có thể ghi file';
} else {
    echo '❌ WP KHÔNG ghi được file';
}

❌ Nếu lỗi → fix ngay

1. Fix permission

chmod -R 755 wp-content
chmod -R 644 *.php

2. Fix owner (rất quan trọng trên VPS)

chown -R www-data:www-data public_html
👉 Có thể là:

  • apache
  • nginx
  • nobody

3. Check PHP user

Nếu:

  • file thuộc root
  • PHP chạy www-data

→ chắc chắn lỗi


💡 Dấu hiệu nhận biết

Hiện tượng Nguyên nhân
Mất nút update Không ghi được file
Bắt nhập FTP Permission lỗi
Update fail Không ghi được

🌐 Bước 4: Kiểm tra kết nối API WordPress

🧠 Vì sao?

WordPress cần gọi:

https://api.wordpress.org
để:

  • kiểm tra version
  • tải plugin
  • update

✅ Test nhanh

Tạo file check-api.php:

<?php
require_once('wp-load.php');
$response = wp_remote_get('https://api.wordpress.org');
if (is_wp_error($response)) {
    echo '❌ Lỗi kết nối: ' . $response->get_error_message();
} else {
    echo '✅ Kết nối API OK';
}

🔍 Test chi tiết hơn

<?php
require_once('wp-load.php');
$response = wp_remote_get('https://api.wordpress.org', [
    'timeout' => 10
]);
if (is_wp_error($response)) {
    echo '❌ ERROR:<br>';
    print_r($response);
} else {
    echo '✅ HTTP CODE: ' . wp_remote_retrieve_response_code($response);
}

❌ Nếu lỗi → nguyên nhân

1. Hosting chặn outbound

  • Shared hosting
  • Server bảo mật cao

2. Firewall chặn port

  • 80 (HTTP)
  • 443 (HTTPS)

3. DNS lỗi

ping api.wordpress.org

4. Thiếu cURL / OpenSSL

Check bằng:

phpinfo();

🔥 Test nhanh bằng SSH

curl https://api.wordpress.org
👉 Fail = server lỗi


💡 Dấu hiệu

Hiện tượng Nguyên nhân
Không thấy update API bị chặn
Không cài plugin API lỗi
Update fail Không connect được

🔍 Bước 5: Kiểm tra plugin bảo mật

Một số plugin có thể chặn:

  • update plugin
  • quyền admin

👉 Test nhanh:

  • Tắt toàn bộ plugin → kiểm tra lại

⚡ Checklist debug nhanh (chuẩn pro)

  1. ✅ Test quyền user
  2. ✅ Check wp-config.php
  3. ✅ Test ghi file
  4. ✅ Test API WordPress
  5. ✅ Tắt plugin bảo mật

🎯 Kết luận

👉 Mất nút update plugin không phải lỗi random

90% do:

  • ❌ thiếu quyền user
  • ❌ bị khóa bằng config
  • ❌ server không cho ghi file
  • ❌ API WordPress bị chặn

 

Chào ! Bạn thấy nội dung này thế nào?
Chia sẻ ↗

Bài liên quan

×