Tạo mã QR cho liên kết bài viết của website

Tạo mã QR cho liên kết bài viết của website - 1
Chia sẻ:

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. 

Tạo mã QR cho liên kết bài viết của website - 2

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ành ABSPATH . 'wp-content/uploads/qr-codes/' để lưu trong thư mục uploads 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ục uploads. Sử dụng content_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é).

Tạo mã QR cho liên kết bài viết của website - 3

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

Quét mã QR
Để xem nhanh bài viết trên điện thoại
QR Code
Tạo mã QR cho liên kết bài viết của website
Chia sẻ:
1 comment
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like
Tạo nút Scroll to Top cho trang Wordpress - 4

Tạo nút Scroll to Top cho trang WordPress

Bạn đã bao giờ lướt một trang web siêu dài và chợt nhận ra mình phải cuộn lên đầu trang? Vâng, ai cũng đã từng trải qua cảm giác đó.…
Cách tìm Post ID và Page ID trên WordPress - 8

Cách tìm Post ID và Page ID trên WordPress

WordPress, một nền tảng quản lý nội dung phổ biến, cho phép bạn dễ dàng quản lý các bài viết (posts) và trang (pages). Trong nhiều trường hợp, bạn cần…
Cách Tối Ưu SEO Cho Trang Blog WordPress - 11

Cách Tối Ưu SEO Cho Trang Blog WordPress

Tối ưu SEO (Search Engine Optimization) cho trang blog WordPress là bước quan trọng giúp nâng hạng trang web trên các công cụ tìm kiếm như Google. Việc tối ưu…