it-swarm.asia

Güncelleme sonrası RSS bildirim eklentisi

Ne zaman eski bir blog yayınını yeni bilgilerle güncellersem, siteyi ziyaret eden tüm okuyucular tarafından görülebilir. RSS beslemesinin okuyucuları güncellemeyi almaz ve yeni bilgileri kaçırır.

Yazıyı yeni bir yazıymış gibi RSS akışına geri gönderen bir yol arıyorum (tercihen yazı başlığından sonra bir [Update] ile yazılır). Ancak küçük bir değişiklik yaptığımda (yazım hatası düzeltme gibi) yeni bir RSS gönderisi olmamalıdır. Bir yayını düzenlediğimde bunun küçük bir değişiklik olup olmadığını sorarsa ideal olur. Bunu nasıl başarabilirim?

1
neo

İlk önce bu açıkça bir hata değil. WordPress tarafından oluşturulan yayınlar, hem amaçlanan hem de anlamlı olan yayın tarihinden itibaren sıralanır.

İkinci RSS istemcileri öğeleri benzersiz şekilde tanımlar. Belirli bir WP beslemesinde, benzersiz tanımlayıcı, güzel olmayan (?p=xxx) kalıcı bağlantı içeren guid alandır. Gönderi değiştirilip beslemeye geri getirilse bile, kimliği aynı kalır ve RSS istemcisi tarafından okundu olarak kabul edilir.

Uygulamada bazı müşteriler tespit edeceği gibi değişmiştir, bazıları değişmeyecektir. Her durumda durum belirsiz ve güvenilmez olacaktır.

Kullanılabilirlik açısından daha önce okunan beslemede okunan öğeleri okuyucular için can sıkıcı olabilir (benim için cehennem gibi can sıkıcı).

Özetle, istediklerini özetlemek imkansız değildir (bence) hem WordPress hem de RSS mekaniğine karşı çıkıyor.

Koşullarınız göz önüne alındığında (ve bu tür düzenlemelerin büyük bir kısmını kabul ediyorum), güncellenmiş girişlerin listesini içeren periyodik özet yazılar öneririm. El ile veya kodla üretilebilir.

2
Rarst

Güncelleme adında özel bir meta_field onay kutusu oluşturmaya ne dersiniz? Kutu işaretliyse, [güncellenmiş] ibaresini başlığa ekleyebilir.

Örneğin:

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

Bu siteyi ziyaret edenlerin dikkatini çeker

RSS beslemenizde aynı şey için the_title_rss kullanın

El ile geri dönmek ve kutunun işaretini kaldırmak istemediğiniz sürece, muhtemelen x zamanın değerini otomatik olarak sıfırlamak için wp_cron kullanmak istersiniz

1
Ashley G

Sanırım buna yanlış yoldan bakıyor olabilirsiniz. Eski postanızdaki yeni bilgiler, web sitesinin ve RSS yayınının hem hem de izleyicileri tarafından görülebilir. Yani, RSS akışına after / yazının güncellendiğine erişen herkes en son sürümü görecektir.

Gönderi güncellenmeden önce RSS beslemesine erişen herhangi birinin yeni bilgilerin ne zaman müsait olduğunu bilmeyeceği, ancak web sitenize gelen ziyaretçiler için de aynı şey söylenebilir. Web sitenizi ziyaret edenleri ve RSS tüketicilerini eski yayınların güncellendiğini bildirmenin tek yolu, "Hey! Böyle ve bu şekilde yazım güncellendi! Git bak."

1
Doug

Temel olarak yapmaya çalıştığınız şey, RSS okuyucusunun sadece güncellenmiş bir versiyon değil, farklı bir yazı olduğunu düşünerek kandırmaktır. Birisi görüntülediğinde içeriğin veritabanının en son sürümünü çağıran WP sitesinin aksine, RSS daha 'statik' bir sürümdür ve çeşitli yayın okuyucular bilgileri okuyucunun içine çekince kaç kez güncellediğinize bakmaksızın statik hale gelir. Ayrıca herhangi bir 3. parti toplayıcının (Feedburner gibi) bilgileri alacağını ve daha sonra kendi önbelleklerinden hizmet vereceğini unutmayın.

Yani birkaç seçeneğiniz var:

  1. Yeni bir öğe gibi görünmesi için kayıt tarihini değiştirin ve her düzenlemede kalıcı bağlantıyı hafifçe değiştirin.
  2. hazır olana kadar yayınlama

Bu doğrudan bir cevap olmasa da, neden başlamak istediğini sormak zorundayım. Aynı yazıyı/içeriği sürekli olarak güncelliyorsanız, insanların başlamak için neden RSS’ye abone olduklarının kullanımını engelliyorsunuz. Bunu yapmanın nedenleri olduğundan emin olduğum halde, okuyucumu aynı içeriğin birden çok sürümüyle temelde patlattığı bir sitenin aboneliğini iptal ediyorum.

0
Norcross

RSS akışı FeedBurner'da mı çalışıyor yoksa WP'den mi geliyor?

FeedBurner'ın bu işi yapmak için en iyi planlarınızı bile engelleyebileceğini duydum.

Neden abonelerinizin gerçekten görmesi gerekiyorsa, yalnızca eskisini yenisine (c-p'de olduğu gibi) yeniden göndermeyin ve üzerine [UPDATED] etiketi koymayın?

0
mitchellhislop

İşe yarayabilecek ya da işe yarayabilecek bazı çözümler

Bir yayını güncellerken yayınlanan tarihi değiştirin - RSS akışına geri eklenecektir. Gerekirse, ilk gönderim tarihini özel bir alanda saklayabilirsiniz.

Ancak içerik çok sendikalaşıyor - gerçekte ihtiyaç duyulan şey, kalıcı bağlantıya bağlanan son değiştirilen tarihe dayanarak oluşturulan bir görüntü. Bu şekilde yapıyorsanız ve bu test ettiğim bir şey değilse, yayınlanma tarihi yerine son değiştirilen tarihe göre bir yayınınız olabilir. Pinglemeye ihtiyaç duyabilir. Google Blogsearch’te, feedburner denetimlerini kullanarak dizinde gösterilmemesi söylense bile, tüm yayın içeriğinin bir kopyasını kesinlikle saklar. Dizinin Atom yayın öğelerine değil, kalıcı bağlantılara dayanması ihtimali vardır.

Ekstra kurnaz olmak ve daha fazla geri almak istemek ... yayın tarihini bir parametre kullanarak değiştirdiğinizde, kalıcı bir bağlantının sonuna bir tarih eklemek gerekebilir.

Başka bir alternatif en son değiştirilenleri saklamaktır ve ne zaman yayınlanırsa yayınlanacaksa, yakın zamanda değiştirilen yayınları RSS içinde en altta tutmak ve kenar çubuğunda da benzer bir şey olmak üzere. Aslında bu seçeneği seviyorum çünkü daha fazla bağlantı ekliyor.

0
AndyBeard

Aşağıdaki çözümü görüyorum: Yayınlardaki yayınların sırası, yayının son güncellenme tarihine göre sıralanmalıdır. Yayınlar için durumun böyle olup olmadığından emin değilim. Değilse, bir eklenti sorgulamadan sonra yayınlara bağlanmalı ve sıralama düzenini değiştirmelidir.

WP Minor Edit (Wordpress Plugin) , aradığınız işlevselliğin bir bölümünü sunar. Yazının son güncellenme tarihini de değiştirmeyerek kullanır.

Şimdi başka bir eklenti feed'e bağlanırsa, feed türünü belirttiğim gibi yapın ve sonra feed'in her başlığında, gönderiler verilerinin gönderinin son güncellenen tarihinden farklı olup olmadığını denetler, yalnızca [GÜNCELLEME] ekler. başlığa.

Bitti.

0
hakre