Đồng bộ giá WooCommerce trong bản xem trước WhatsApp
Đồng bộ giá WooCommerce trong bản xem trước WhatsApp nghĩa là con số trên thẻ được lấy từ danh mục của bạn tại thời điểm thẻ được tạo — không phải được đóng cứng vào một bức ảnh ai đó đã làm một lần. Khi điều đó đúng, câu hỏi duy nhất còn lại là khi nào WhatsApp đọc lại liên kết, và đó chính là điều mà không cửa hàng nào có thể kiểm soát.
Câu trả lời ngắn gọn
Giá chỉ có thể xuất hiện trong bản xem trước nếu hình ảnh được tạo từ dữ liệu sản phẩm trực tiếp. Một featured image tĩnh không bao giờ có giá để hiển thị; một card được thiết kế một lần sẽ mang mức giá của ngày hôm đó. WooCommerce không cung cấp sẵn hình ảnh nào được gắn thẻ giá theo mặc định, vì vậy khiếu nại "giá cũ trong bản xem trước" thực chất là hai câu hỏi:
- Card có biết giá hiện tại không? — đây là một quyết định thiết kế, và là điều bạn có thể khắc phục.
- Nền tảng đã đọc lại trang kể từ khi giá thay đổi chưa? — đây là đồng hồ của WhatsApp, không phải của bạn.
Vì sao giá bị cũ
| Nguyên nhân | Những gì bạn thấy | Vì sao lại xảy ra |
|---|---|---|
| Thẻ trỏ vào ảnh đại diện | Không có giá nào cả | Ảnh sản phẩm không chứa giá |
| Thẻ được tạo một lần | Giá từ ngày thiết kế | Không có gì tạo lại nó |
| Một đợt giảm giá đã kết thúc | Gạch ngang cho mức giảm giá đã hết | Ảnh vẫn mang huy hiệu cũ |
| Bộ nhớ đệm trang đang phục vụ HTML cũ | Lại là thẻ cũ | Trình thu thập dữ liệu không bao giờ thấy URL og:image mới |
Chỉ ba nguyên nhân đầu liên quan đến thẻ. Nguyên nhân thứ tư liên quan đến lớp bộ nhớ đệm của bạn, và nhìn từ bên ngoài thì trông giống hệt — đó là lý do thứ tự kiểm tra trong Instant WhatsApp Image Update for WooCommerce lại quan trọng.
Thẻ được đồng bộ thực sự hiển thị những gì
FastOG ký một URL ảnh bìa cho mỗi yêu cầu, và các prop được lấy từ sản phẩm trực tiếp:
| Thành phần thẻ | Nguồn | Ghi chú |
|---|---|---|
| Giá | get_price() |
Trên sản phẩm đang giảm giá, đây chính là giá khuyến mãi |
| Giá so sánh ("giá cũ") | giá thông thường | Chỉ được gửi khi sản phẩm thực sự đang khuyến mãi — một "giá cũ" bằng với giá hiện tại là một gạch ngang không ai có được |
| Nhãn khuyến mãi | trạng thái khuyến mãi của sản phẩm | Xuất hiện và biến mất cùng với chương trình khuyến mãi |
| Tồn kho | trạng thái tồn kho | Phản ánh danh mục tại thời điểm render |
| Ảnh | ảnh đại diện trước, sau đó đến thư viện ảnh | Được dàn dựng bên trong thẻ, không bị nền tảng cắt xén |
Đó là sự khác biệt giữa "động" và thực sự động: các giá trị không phải là chỗ giữ chỗ do nhà thiết kế điền vào, mà được đọc từ cửa hàng của bạn mỗi lần một thẻ được tạo.
Cách "đồng bộ" hoạt động theo cả hai chiều
Danh mục → thẻ. Mọi giá trị ở trên đều được đọc tại thời điểm render. Thay đổi giá và lần render tiếp theo sẽ hiển thị giá mới; không có bước xuất nào và không có tệp nào cần tải lên lại.
Thẻ → bộ nhớ đệm. Mỗi giá trị cũng được truyền bên trong URL ảnh bìa đã ký. Vì vậy, việc sửa giá sẽ thay đổi URL — nghĩa là ảnh cũ không còn được định địa chỉ, CDN không còn gì cũ để phục vụ, và không cần làm mới bộ nhớ đệm. Không có sản phẩm nào khác trong danh mục này hoạt động theo cách này, bởi vì một plugin tự lưu trữ sẽ gắn khóa ảnh của nó vào một tên tệp không bao giờ thay đổi.
Thẻ → Facebook. Khi lưu một sản phẩm, webhook product.updated gốc của WooCommerce sẽ được kích hoạt, và FastOG xếp hàng một yêu cầu quét lại Meta cho permalink của sản phẩm đó, để Facebook thay thế thẻ đã lưu trong bộ nhớ đệm thay vì chờ đợi hàng tuần. Xem Buộc làm mới bộ nhớ đệm Facebook Open Graph.
Thẻ → WhatsApp. Không thể đẩy bất cứ điều gì. Thẻ đúng đang chờ ở lần đọc tiếp theo.
Trường hợp biên của đợt giảm giá theo lịch
Một đợt giảm giá bắt đầu vào nửa đêm mà không ai chạm vào sản phẩm sẽ không kích hoạt webhook nào cả — một chi tiết làm hỏng mọi thiết kế kiểu "chúng ta làm mới khi lưu", kể cả cú ping Facebook của chúng ta.
Điều cứu được tấm thẻ là nó không được tạo sẵn: ảnh bìa được dựng theo yêu cầu từ dữ liệu danh mục hiện tại, nên lần tải đầu tiên sau nửa đêm đã hiển thị giá giảm và huy hiệu. Con số cũ chỉ có thể tồn tại trong bộ nhớ đệm xem trước của nền tảng, nơi nó sẽ được thay thế theo lịch riêng của nền tảng đó. Một tấm thẻ được kết xuất, thay vì xuất ra, là kiểu duy nhất sống sót qua một đợt giảm giá mà không ai lưu.
Xác minh giá đã đồng bộ
Giá hiển thị ngay trong chính URL ảnh bìa, nhờ đó có thể kiểm tra mà không cần trình gỡ lỗi:
# What the page is serving right now
curl -s https://your-store.com/product/example | grep -o 'og:image[^>]*' | head -1
# Open that cover URL in a browser and compare the number against the product page.
Nếu các tham số trong URL và thẻ được render đều mang giá hiện tại, đồng thời trang sản phẩm cũng hiển thị cùng mức giá đó, thì phía cửa hàng đã đồng bộ và mọi tình trạng lỗi thời còn lại đều do bộ nhớ đệm (cache) của nền tảng. Nếu URL vẫn mang giá cũ, thì bộ nhớ đệm trang đang phục vụ HTML trước khi chỉnh sửa — hãy xóa bộ nhớ đệm đó.
Để xem toàn bộ luồng từ đầu đến cuối, hãy dán URL sản phẩm vào See Your Links The Way Buyers Do: công cụ này đọc các thẻ trực tiếp và render ảnh bìa từ chính dữ liệu sản phẩm, đặt cạnh nhau với những gì các nền tảng sẽ hiển thị hiện tại.
Câu hỏi thường gặp
Làm thế nào để hiển thị giá trên bản xem trước liên kết WhatsApp?
Hãy phục vụ một og:image có chứa giá — nghĩa là một hình ảnh được tạo từ danh mục sản phẩm của bạn, không phải ảnh tĩnh. WhatsApp hiển thị bất kỳ hình ảnh nào mà thẻ trỏ tới, ở kích thước 1200×630; giá chỉ xuất hiện nếu nó được vẽ vào chính hình ảnh đó.
Tại sao bản xem trước vẫn hiển thị giá cũ sau khi tôi kết thúc đợt giảm giá?
Có hai nguyên nhân khả dĩ: hình ảnh mà trang phục vụ chưa thay đổi (bộ nhớ đệm trang, hoặc hình ảnh tĩnh), hoặc WhatsApp đang hiển thị bản xem trước đã được lưu trong bộ nhớ đệm từ trước khi chỉnh sửa. Trước tiên hãy kiểm tra URL og:image hiện tại — nếu giá trong đó cũng cũ, thì vấn đề nằm ở cửa hàng; nếu giá đã cập nhật, thì vấn đề nằm ở WhatsApp.
Thẻ hiển thị giá khuyến mãi hay giá thường?
Giá khuyến mãi — đây là giá mà WooCommerce báo cáo là giá hiện tại — kèm theo giá thường bên cạnh làm giá so sánh, và chỉ khi sản phẩm thực sự đang được giảm giá.
Tất cả các gói đều vẽ giá và huy hiệu giảm giá phải không?
Đúng vậy. Các trường của mẫu không bị giới hạn theo gói trên FastOG: giá, giá so sánh và huy hiệu tồn kho đều có sẵn ở mọi gói. Các gói khác nhau ở loại trang, hạn mức số mục và độ phong phú của mẫu, chứ không khác ở những gì ảnh bìa có thể hiển thị.
Giá có được cập nhật cho những liên kết đã được chia sẻ trước đó không?
Với Facebook, FastOG yêu cầu quét lại sau khi sản phẩm được cập nhật. Với WhatsApp, LinkedIn và X, lần đọc tiếp theo diễn ra theo lịch trình riêng của từng nền tảng; không có cam kết công khai nào về thời gian hay API làm mới lập trình được cho các nền tảng đó.
Nếu tôi thay đổi giá mà không thay đổi mẫu thì sao?
Đó là trường hợp thông thường và nó vẫn hoạt động: mẫu định nghĩa bố cục, danh mục sản phẩm cung cấp các giá trị. Không cần thiết kế lại gì cả và không cần xuất lại hình ảnh nào.
Một liên kết được chia sẻ trong đợt giảm giá có tiếp tục hiển thị giá khuyến mãi sau khi đợt giảm giá kết thúc không?
Chỉ chừng nào bản xem trước trong bộ nhớ đệm của nền tảng còn tồn tại. URL ảnh bìa thay đổi theo danh mục sản phẩm, nên lần đọc mới đầu tiên sẽ nhận được thẻ sau giảm giá.
Có gói miễn phí không?
Có. Gói Community miễn phí bao gồm tối đa 100 mục trên các trang sản phẩm, danh mục, cửa hàng và bài viết blog với năm mẫu cơ bản cùng các mẫu sản phẩm Black Friday và Seasonal Offer. Ảnh bìa của gói này sạch — không gói nào có hình mờ, kể cả Community. Community kết xuất trên máy chủ Community dùng chung và bị giới hạn bởi hạn mức tốc độ theo cửa hàng/IP thay vì bởi thương hiệu. Các gói trả phí sử dụng máy chủ riêng tách biệt với Community, nâng hạn mức số mục và mở khóa thêm mẫu cùng khả năng (huy hiệu đánh giá từ Starter, ánh xạ metafield từ Pro, quy tắc theo phạm vi và kết xuất ưu tiên từ Scale). Các gói trả phí bao gồm bản dùng thử 14 ngày không yêu cầu thẻ tín dụng.
Liên quan
Dùng thử miễn phí — không cần đăng ký
Xem trước và kiểm tra hình ảnh OG động trong vài giây.
Mở Trình kiểm tra hình ảnh OG miễn phí