it-swarm-vi.tech

Đăng cập nhật plugin thông báo RSS

Bất cứ khi nào tôi cập nhật một bài đăng blog cũ hơn với thông tin mới thì tất cả người đọc truy cập vào trang web sẽ hiển thị. Độc giả của nguồn cấp dữ liệu RSS không nhận được bản cập nhật và bỏ lỡ thông tin mới.

Tôi đang tìm cách phát hành bài đăng trở lại nguồn cấp dữ liệu RSS như thể đó là một bài đăng mới (tốt nhất là đặt [Update] sau tiêu đề bài viết) Tuy nhiên, đây không phải là một bài viết RSS mới bất cứ khi nào tôi chỉ thực hiện một thay đổi nhỏ (như sửa lỗi chính tả). Sẽ thật lý tưởng nếu nó hỏi tôi liệu đây có phải là một thay đổi nhỏ mỗi khi tôi chỉnh sửa bài đăng hay không. Làm thế nào tôi có thể đạt được điều này?

1
neo

Đầu tiên, đây rõ ràng không phải là một lỗi. Nguồn cấp dữ liệu được tạo bởi WordPress được sắp xếp theo ngày xuất bản bài đăng, cả hai dự định và có ý nghĩa.

Khách hàng RSS thứ hai xác định duy nhất các mục. Trong trường hợp cụ thể của WP nguồn cấp định danh duy nhất là trường guid với permalink không đẹp (?p=xxx). Ngay cả khi bài đăng được thay đổi và đưa trở lại vào nguồn cấp dữ liệu, định danh của nó vẫn giữ nguyên và nó được xử lý như đã đọc bởi máy khách RSS.

Trong thực tế, một số khách hàng sẽ phát hiện là đã thay đổi, một số thì không. Trong mọi trường hợp tình huống sẽ mơ hồ và không đáng tin cậy.

Từ quan điểm khả năng sử dụng, các mục đã đọc trước đây xuất hiện lại trong nguồn cấp dữ liệu có thể gây khó chịu cho độc giả (đối với cá nhân tôi, nó gây phiền nhiễu như địa ngục).

Tóm lại những gì bạn muốn không phải là không thể nhưng (theo tôi) đi ngược lại cả cơ chế WordPress và RSS.

Với các điều kiện của bạn (và tôi giả sử số lượng đáng kể các chỉnh sửa như vậy) tôi sẽ đề xuất các bài viết tiêu hóa định kỳ với danh sách các mục được cập nhật. Có thể được tạo bằng tay hoặc bằng mã.

2
Rarst

Điều gì về việc tạo một hộp kiểm meta_field tùy chỉnh được gọi là cập nhật. Nếu hộp được chọn, nó có thể nối cụm từ [đã cập nhật] vào tiêu đề.

Ví dụ:

<?php if ( get_post_meta( $post->ID, _updated_post, true ) ) {  echo '[Updated]'; the_title();  }else{ the_title(); } ?>

Điều đó sẽ chăm sóc khách truy cập vào trang web

Sử dụng the_title_rss cho cùng một thứ trong nguồn cấp dữ liệu RSS của bạn

Bạn có thể muốn sử dụng wp_cron để tự động đặt lại giá trị của x x thời gian trừ khi bạn muốn quay lại thủ công và bỏ chọn hộp

1
Ashley G

Tôi nghĩ rằng bạn có thể đang nhìn điều này sai cách. Thông tin mới trong bài đăng cũ của bạn được hiển thị cho người xem của cả trang web và nguồn cấp dữ liệu RSS. Nghĩa là, bất kỳ ai truy cập vào nguồn cấp dữ liệu RSS sau khi bài đăng đã được cập nhật sẽ thấy phiên bản mới nhất.

Đúng là bất cứ ai truy cập vào nguồn cấp dữ liệu RSS trước khi bài đăng được cập nhật sẽ không biết khi nào có thông tin mới, nhưng điều tương tự có thể được nói cho khách truy cập vào trang web của bạn. Cách duy nhất để thông báo cho khách truy cập trang web của bạn và người tiêu dùng RSS rằng các bài đăng cũ đã được cập nhật là tạo một bài đăng mới có hiệu lực, "Này! Bài đăng của tôi về những thứ tương tự đã được cập nhật! Hãy xem."

1
Doug

Những gì về cơ bản bạn đang cố gắng làm là 'lừa' người đọc RSS nghĩ rằng đó là một bài viết khác, và không chỉ là một phiên bản cập nhật. Không giống như trang web WP gọi phiên bản nội dung gần đây nhất từ ​​cơ sở dữ liệu khi ai đó xem nó, RSS là phiên bản 'tĩnh' hơn và bất cứ khi nào các trình đọc nguồn cấp dữ liệu khác nhau kéo thông tin vào ứng dụng đọc , nó trở nên tĩnh bất kể bạn cập nhật lại bao nhiêu lần. Ngoài ra, hãy nhớ rằng bất kỳ trình tổng hợp bên thứ 3 nào (như Feedburner) sẽ lấy thông tin và sau đó phân phát từ bộ đệm của riêng họ.

Vì vậy, bạn có một vài lựa chọn:

  1. Thay đổi ngày đăng và sửa đổi sên permalink một chút trên mỗi lần chỉnh sửa để làm cho nó xuất hiện như một mục mới
  2. không xuất bản cho đến khi nó sẵn sàng

Mặc dù đây không phải là câu trả lời trực tiếp, tôi phải hỏi tại sao bạn muốn làm điều này để bắt đầu. Nếu bạn liên tục cập nhật cùng một bài đăng/nội dung, thì bạn sẽ thất bại trong việc sử dụng lý do tại sao mọi người đăng ký RSS để bắt đầu. Mặc dù tôi chắc chắn có những lý do để làm điều này, cá nhân tôi sẽ hủy đăng ký một trang web về cơ bản đã thổi bay độc giả của tôi với nhiều phiên bản của cùng một nội dung.

0
Norcross

Nguồn cấp dữ liệu RSS đang chạy qua FeedBurner hoặc đến ngay từ WP?

Tôi đã nghe nói rằng FeedBurner có thể cản trở ngay cả những kế hoạch được đặt ra tốt nhất của bạn để thực hiện công việc này.

Tại sao không chỉ đăng lại (như trong c-p) cái cũ vào một cái mới và đặt thẻ [CẬP NHẬT] trên đó nếu người đăng ký của bạn thực sự cần xem nó?

0
mitchellhislop

Một số giải pháp cho bạn sẽ hoặc có thể làm việc

Thay đổi ngày xuất bản khi bạn cập nhật một bài đăng - nó sẽ được thêm lại vào nguồn cấp dữ liệu RSS. Nếu cần, bạn có thể lưu trữ ngày đăng đầu tiên trong một trường tùy chỉnh.

Tuy nhiên, nội dung được cung cấp rất nhiều - điều thực sự cần thiết là một hình ảnh được tạo ra dựa trên ngày sửa đổi cuối cùng có liên kết đến permalink. Nếu bạn đang làm theo cách đó và đây không phải là điều tôi đã thử nghiệm, bạn có thể có một nguồn cấp dữ liệu dựa trên ngày sửa đổi cuối cùng thay vì ngày xuất bản. Nó có thể cần ping. Google Blogsearch chắc chắn giữ một bản sao của toàn bộ nội dung nguồn cấp dữ liệu ngay cả khi chúng được yêu cầu không hiển thị nó trong chỉ mục bằng cách sử dụng các điều khiển feedburner. Có khả năng chỉ mục dựa trên permalinks chứ không phải các mục nguồn cấp dữ liệu Atom.

Muốn thêm xảo quyệt và nhận được nhiều liên kết ngược hơn ... có thể là hợp lý để thêm một ngày vào cuối permalink khi bạn thay đổi ngày xuất bản bằng một tham số.

Một cách khác là lưu trữ lần sửa đổi cuối cùng và bất cứ khi nào một bài đăng nếu được xuất bản, bạn cũng quảng cáo các bài đăng được sửa đổi gần đây xuống cuối trong RSS và cũng có một cái gì đó tương tự trong thanh bên. Tôi thực sự thích tùy chọn đó vì nó thêm nhiều liên kết hơn.

0
AndyBeard

Tôi thấy giải pháp sau: Dòng bài đăng trong nguồn cấp dữ liệu nên được sắp xếp theo ngày cập nhật cuối cùng của bài đăng. Tôi không chắc đó có phải là trường hợp của thức ăn không. Nếu không phải là một plugin phải móc vào nguồn cấp dữ liệu truy vấn bài và thay đổi thứ tự sắp xếp.

Chỉnh sửa nhỏ WP (Plugin Wordpress) cung cấp một phần chức năng bạn đang tìm kiếm. Nó cũng sử dụng ngày cập nhật cuối cùng của bài viết bằng cách không thay đổi nó.

Nếu bây giờ một plugin khác móc vào nguồn cấp dữ liệu, hãy tạo loại nguồn cấp dữ liệu như tôi đã chỉ định và sau đó, trên mỗi tiêu đề của nguồn cấp dữ liệu, hãy kiểm tra xem dữ liệu bài đăng có phải là một số khác sau đó là ngày cập nhật cuối cùng của bài đăng không, nó chỉ cần thêm [CẬP NHẬT] đến tiêu đề.

Làm xong.

0
hakre