neo
  • 0
Новичок

Публиковать обновление плагина RSS-уведомлений

  • 0

Всякий раз, когда я обновляю старую запись в блоге новой информацией, она видна всем читателям, которые посещают сам сайт. Читатели RSS-канала не получают обновления и пропускают новую информацию.

Я ищу способ, который возвращает пост в RSS-ленту, как если бы это был новый пост ( [Update] желательно с путом после заголовка поста). Однако это не должно быть новым сообщением RSS всякий раз, когда я просто делаю незначительное изменение (например, исправляю орфографическую ошибку). Было бы идеально, если бы он спрашивал меня, было ли это незначительным изменением всякий раз, когда я редактирую сообщение. Как я могу этого добиться?

Share
  1. Я считаю первый абзац описанием ошибки WordPress. Второй абзац запрашивает функцию. Вы решили сделать отчет об ошибке в проекте worpdress или спросили на форуме поддержки?

    • 0
  2. Во-первых, это явно не баг. Каналы, созданные WordPress, упорядочены по дате публикации сообщения, что и задумано, и имеет смысл.

    Вторые клиенты RSS уникально идентифицируют элементы. В конкретном случае WP-каналов уникальным идентификатором является guid поле с некрасивой ( ?p=xxx ) постоянной ссылкой. Даже если сообщение изменено и возвращено в ленту, его идентификатор остается прежним, и RSS-клиент считает его прочитанным.

    На практике некоторые клиенты обнаружат, что они изменены, а некоторые нет. В любом случае ситуация будет неоднозначной и ненадежной.

    С точки зрения юзабилити повторное появление ранее прочитанных элементов в ленте может раздражать читателей (лично меня это чертовски раздражает).

    Подводя итог, то, что вы хотите, не является невозможным, но (на мой взгляд) идет вразрез как с WordPress, так и с механикой RSS.

    Учитывая ваши условия (и я предполагаю значительное количество таких правок), я бы предложил периодически публиковать дайджесты со списками обновленных записей. Может быть сгенерирован вручную или с помощью кода.

    • 0
  3. Я думаю, что вы, возможно, смотрите на это неправильно. Новая информация в вашем старом сообщении видна зрителям как веб-сайта, так и RSS-канала. То есть любой, кто получит доступ к RSS-каналу после того, как сообщение было обновлено, увидит последнюю версию.

    Это правда, что любой, кто получил доступ к RSS-каналу до того, как сообщение было обновлено, не знал, когда появилась новая информация, но то же самое можно сказать и о посетителях вашего сайта. Единственный способ уведомить посетителей вашего веб-сайта и потребителей RSS о том, что старые сообщения были обновлены, — это создать новое сообщение, фактически говорящее: «Эй! Мой пост о том-то и том-то был обновлен! Иди и посмотри».

    • 0
  4. Как насчет создания пользовательского флажка meta_field с именем update. Если флажок установлен, к заголовку может быть добавлена ​​фраза [обновлено].

    Например:

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

    Что бы позаботиться о посетителях сайта

    Используйте the_title_rss то же самое в своей RSS-ленте

    Вы, вероятно, захотите использовать wp_cron для автоматического сброса значения через x раз, если вы не хотите вручную возвращаться и снимать флажок

    • 0
  5. Я вижу следующее решение: список сообщений в лентах должен быть отсортирован по дате последнего обновления сообщения. Я не уверен, что это уже относится к фидам. Если нет, то плагин должен подключиться к почтовым запросам каналов и изменить порядок сортировки.

    WP Minor Edit ( плагин для WordPress) предлагает часть функций, которые вы уже ищете. Он также использует дату последнего обновления сообщения, не изменяя ее.

    Если теперь другой плагин подключится к ленте, создайте вид ленты, как я указал, а затем для каждого заголовка ленты проверит, не отличаются ли данные сообщений от даты последнего обновления сообщения, он просто добавляет [ОБНОВЛЕНО] к названию.

    Сделанный.

    • 0
  6. Некоторые решения для вас, которые будут или могут работать

    Измените дату публикации при обновлении публикации — она будет снова добавлена ​​в RSS-канал. При необходимости вы можете сохранить дату первого сообщения в произвольном поле.

    Однако контент часто синдицируется — что действительно необходимо, так это изображение, созданное на основе даты последнего изменения, которое ссылается на постоянную ссылку. Если вы делаете это таким образом, и это не то, что я тестировал, у вас может быть фид, основанный на дате последнего изменения, а не на дате публикации. Возможно, потребуется пинг. Google Blogsearch, безусловно, хранит копию всего содержимого канала, даже если им говорят не показывать его в индексе с помощью элементов управления Feedburner. Есть вероятность, что индекс основан на постоянных ссылках, а не на элементах фида Atom.

    Хотите быть очень хитрым и получить больше обратных ссылок… может быть оправдано добавление даты в конец постоянной ссылки, когда вы меняете дату публикации с помощью параметра.

    Другой альтернативой является сохранение последнего изменения, и всякий раз, когда сообщение публикуется, вы также рекламируете недавно измененные сообщения внизу в RSS, а также имеете что-то подобное на боковой панели. Мне на самом деле нравится этот вариант, потому что он добавляет больше ссылок.

    • 0
  7. То, что вы в основном пытаетесь сделать, это «обмануть» читателя RSS, заставив его думать, что это другой пост, а не просто обновленная версия. В отличие от самого сайта WP, который вызывает самую последнюю версию контента из базы данных, когда кто-то просматривает его, RSS является более «статичной» версией, и всякий раз, когда различные программы чтения каналов загружают информацию в приложение для чтения, она становится статичной независимо от сколько раз вы обновляете его снова. Также имейте в виду, что любые сторонние агрегаторы (например, Feedburner) будут извлекать информацию, а затем предоставлять ее из собственного кэша.

    Итак, у вас есть несколько вариантов:

    1. Измените дату публикации и немного измените слаг постоянной ссылки при каждом редактировании, чтобы он выглядел как новый элемент.
    2. не публиковать, пока не будет готово

    Хотя это не прямой ответ, я должен спросить, почему вы хотите сделать это для начала. Если вы постоянно обновляете один и тот же пост/контент, то вы с самого начала отказываетесь от использования того, почему люди подписываются на RSS. Хотя я уверен, что для этого есть причины, я лично отказался бы от подписки на сайт, который буквально взорвал моего читателя несколькими версиями одного и того же контента.

    • 0
  8. Канал RSS проходит через FeedBurner или поступает прямо из WP?

    Я слышал, что FeedBurner может помешать даже вашим самым продуманным планам по осуществлению этой работы.

    Почему бы просто не перепостить (как в cp) старую в новую и поставить на ней тег [ОБНОВЛЕНО], если вашим подписчикам действительно нужно это увидеть?

    • 0

Оставить ответ

You must login to add an answer.