Một cách đơn giản mà mình mới tìm hiểu được, là có thể tạo QR cho từng liên kết của bài viết, điều này giúp ích cho người đọc khi họ có thể quét nhanh mã QR của bài viết ở trên máy tính, và vào nhanh thông qua điện thoại.
Dưới đây mình sẽ hướng dẫn cho bạn đoạn code có thể sử dụng để tạo mã QR cho trang wordpress, hay link sản phẩm mà bạn muốn gán vào.

Sử dụng cho QR cho trang bài viết trên WordPress
Cách 1: sử dụng API qrserver.com
<img src="https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=<?php the_permalink(); ?>" />
Ở code trên bạn sẻ sử dụng API của qrserver.com để tạo mã QR cho link bài viết của bạn.
Size=150×150 là kích thước hình ảnh mã QR sẽ hiển thị.
data= sẽ là đường dẫn mà bạn muốn đặt để nó tạo ra mã QR cho bạn.
Vậy với mã trên chúng ta sẻ sử dụng để làm gì?
Cách tạo ra QR cho liên kết mà bạn muốn, thường được sử dụng để tạo mã QR cho bài viết tương tự như cách mà mình đang sử dụng, ở mục chia sẻ cuối bài.
Dưới đây là một ví dụ để hiển thị mã QR vào cuối bài viết thông qua file function.php.
/**
* QR cuoi bai viet
*/
function maqr($content) {
if(is_singular()) {
ob_start();
?>
<div class="qr-bottom">
<div class="tt">
Quét mã QR
</div>
<div>
Để xem nhanh bài viết trên điện thoại
</div>
<img src="https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=<?php the_permalink(); ?>" alt="QR: <?php the_title(); ?>" />
<div>
<span><?php the_title(); ?></span>
</div>
</div>
<?php
$hienqr = ob_get_clean();
return $content . $hienqr;
} else {
return $content;
}
}
add_filter( 'the_content', 'maqr');
Sau khi sử dụng mã trên, ở cuối bất kỳ bài viết nào của bạn, cũng sẽ hiển thị một mã QR, bạn có thể sử dụng điện thoại quét mã QR đó để xem kết quả nhé.
Cách 2: sử dụng phpqrcode (tối ưu hơn)
Có nhiều thư viện PHP mã nguồn mở cho phép bạn tạo mã QR một cách dễ dàng. Một thư viện phổ biến là – phpqrcode – Đây là một thư viện phổ biến và dễ sử dụng, cho phép bạn tạo mã QR với nhiều tùy chọn tùy chỉnh.
Hướng dẫn này sẽ giúp bạn cài đặt và sử dụng thư viện phpqrcode
để tạo QR đồng thời lưu vào hosting, nhầm tránh tình trạng request api tạo qr trùng nhiều lần gây lãng phí.
Bạn có thể tải xuống thư viện và tích hợp vào code của mình. Dưới đây là một ví dụ cách để sử dụng thư viện phpqrcode/qrlib.php
trên hosting của bạn, bạn cần thực hiện các bước sau:
Tải thư viện:
Truy cập trang web hoặc kho lưu trữ của thư viện <a href="https://sourceforge.net/projects/phpqrcode/files/" target="_blank" rel="noreferrer noopener">phpqrcode</a>
. Tải xuống phiên bản mới nhất của thư viện. Thường thì bạn sẽ nhận được một file zip hoặc tar.
Giải nén thư viện:
Sau khi tải xuống, giải nén file zip hoặc tar. Bạn sẽ nhận được một thư mục chứa các file của thư viện.
Tải lên hosting:
Kết nối vào hosting của bạn bằng FTP client (ví dụ: FileZilla) hoặc trình quản lý file có sẵn trên hosting. Tạo một thư mục trong thư mục gốc của website (ví dụ: /libraries
hoặc /includes
).
Tải lên thư mục phpqrcode
đã giải nén vào thư mục bạn vừa tạo trên hosting.
Sử dụng thư viện trong code:
Trong file code PHP của bạn (ví dụ: file chứa code tạo mã QR), bạn cần include file qrlib.php
để sử dụng các hàm của thư viện.
Lưu ý:
- Đường dẫn tới file
qrlib.php
trong code phải chính xác với vị trí bạn đã tải lên trên hosting. - Đảm bảo rằng hosting của bạn hỗ trợ PHP và các extension cần thiết cho thư viện
phpqrcode
.
Ví dụ cấu trúc thư mục trên hosting:
/home/your_username/public_html/
├── libraries/
│ └── phpqrcode/
│ ├── qrlib.php
│ ├── ... các file khác của thư viện
├── your_website_file.php
└── ... các file khác của website
Trong ví dụ này, đường dẫn tới file qrlib.php
trong code của bạn sẽ là 'libraries/phpqrcode/qrlib.php'
.
include 'path/to/phpqrcode/qrlib.php'; // Đường dẫn tới file qrlib.php trên hosting
function generate_qr_code($url, $size = 150, $level = 'L', $margin = 2) {
$path = ABSPATH . 'wp-content/uploads/qr-codes/'; // Đường dẫn thư mục lưu QR code
if (!file_exists($path)) {
mkdir($path, 0755, true); // Tạo thư mục nếu chưa tồn tại
}
$filename = md5($url) . '.png'; // Tên file QR code (md5 để tránh trùng lặp)
$filepath = $path . $filename;
if (!file_exists($filepath)) { // Kiểm tra xem file đã tồn tại chưa
QRcode::png($url, $filepath, $level, $size, $margin);
}
$image_url = content_url('/uploads/qr-codes/' . $filename); // URL của ảnh QR code
return '<img src="' . $image_url . '" alt="QR Code">';
}
function maqr($content) {
if (is_singular()) {
$qr_code = generate_qr_code(get_permalink());
ob_start();
?>
<div class="qr-bottom">
<div class="tt">
Quét mã QR
</div>
<div>
Để xem nhanh bài viết trên điện thoại
</div>
<?php echo $qr_code; ?>
<div>
<span><?php the_title(); ?></span>
</div>
</div>
<?php
$hienqr = ob_get_clean();
return $content . $hienqr;
} else {
return $content;
}
}
add_filter('the_content', 'maqr');
Giải thích các thay đổi:
Include thư viện:
Đã thêm include 'path/to/phpqrcode/qrlib.php';
để sử dụng thư viện phpqrcode. Bạn cần thay thế path/to/phpqrcode/
bằng đường dẫn chính xác đến thư mục phpqrcode trên hosting của bạn. Ví dụ: '/home /your_username /public_html/ libraries/ phpqrcode/ qrlib.php'
.
Dùng Hàm generate_qr_code()
:
- Hàm này chịu trách nhiệm tạo và lưu mã QR.
$path
: Đường dẫn tuyệt đối đến thư mục lưu QR code. Đã sửa thànhABSPATH . 'wp-content/uploads/qr-codes/'
để lưu trong thư mụcuploads
của WordPress. Bạn có thể thay đổi nếu muốn lưu ở vị trí khác.- Kiểm tra sự tồn tại của thư mục và tạo nếu cần.
- Sử dụng
md5(get_permalink())
để tạo tên file duy nhất, tránh ghi đè. - Kiểm tra xem file QR code đã tồn tại chưa. Nếu chưa tồn tại thì mới tạo để tiết kiệm tài nguyên.
$image_url
: Tạo URL của ảnh QR code dựa trên đường dẫn trong thư mụcuploads
. Sử dụngcontent_url()
để đảm bảo URL đúng.- Trả về thẻ
<img>
với đường dẫn URL của ảnh.
Hàm maqr()
:
- Gọi hàm
generate_qr_code()
để tạo mã QR và lấy thẻ<img>
. - Sử dụng
echo $qr_code;
để in mã QR vào HTML.
Các bước thực hiện:
Tải và cài đặt phpqrcode: Làm theo hướng dẫn ở các câu trả lời trước để tải và đặt thư viện phpqrcode vào đúng vị trí trên hosting. Đặc biệt quan trọng là đường dẫn include phải chính xác.
Tạo thư mục lưu QR code: Đảm bảo thư mục wp-content/uploads/qr-codes/
tồn tại và có quyền ghi (755 hoặc 777). Nếu thư mục uploads
chưa tồn tại, bạn cần tạo nó trước.
Đặt code vào functions.php: Copy code đã sửa và dán vào file functions.php
của theme bạn đang sử dụng.
Kiểm tra: Truy cập một bài viết trên website của bạn và kiểm tra xem mã QR có hiển thị ở cuối bài viết hay không.
Lưu ý quan trọng:
- Đường dẫn: Đảm bảo các đường dẫn trong code (đường dẫn đến
qrlib.php
, đường dẫn thư mục lưu QR code) là chính xác với cấu trúc thư mục trên hosting của bạn. - Quyền ghi: Thư mục lưu QR code cần có quyền ghi để script có thể tạo và lưu file ảnh.
- Kiểm tra lỗi: Nếu mã QR không hiển thị, hãy kiểm tra nhật ký lỗi của PHP để xem có lỗi nào xảy ra không. Bạn cũng có thể bật chế độ debug của WordPress để xem các thông báo lỗi.
Với code đã được chỉnh sửa này, mã QR sẽ được tạo và lưu trên hosting của bạn, giúp website của bạn hoạt động ổn định và nhanh hơn. Chúc bạn thành công!
Bonus
Thử xem bạn scan được QR này của tôi không nhé. (Có thể dùng ứng dụng camera của điện thoại hoặc app Zalo để scan QR nhé).

Và đây là hướng dẫn cách tạo QR giống như vậy

1 comment
ngon lanh