Как исправить неверный канал Wordpress, вызванный цитатой? - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть сайт Wordpress с пользовательскими таксономиями. Я отправляю новостные рассылки автоматически с Mailchimp для каждого канала таксономии. Большинство каналов работает, но те, для которых есть цитата в заголовке, являются недействительными. Например, вы можете увидеть, что этот фид с недопустимым заголовком «Val d'Oise»: https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Fwww.verdi-immobilier.com%2Fdepartements%2F95-val-doise%2Ffeed%2F. Возвращает ошибку синтаксического анализа XML:: 11: 24: неопределенная сущность. После тестирования это на самом деле цитата, которая вызывает проблемы.

Вот фид:

    <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    >

<channel>
    <title>95 &#8211; Val-d&rsquo;oise &#8211; Verdi Immo</title>
    <atom:link href="https://www.verdi-immobilier.com/departements/95-val-doise/feed/" rel="self" type="application/rss+xml" />
    <link>https://www.verdi-immobilier.com</link>
    <description>Le dernier recours des propriétaires</description>
    <lastBuildDate>2019-11-01 06:24:28</lastBuildDate>
    <language>fr-FR</language>
    <sy:updatePeriod>
    hourly  </sy:updatePeriod>
    <sy:updateFrequency>
    1   </sy:updateFrequency>

<image>
    <url>https://www.verdi-immobilier.com/wp-content/uploads/2019/09/cropped-logo-ico-32x32.png</url>
    <title>95 &#8211; Val-d&rsquo;oise &#8211; Verdi Immo</title>
    <link>https://www.verdi-immobilier.com</link>
    <width>32</width>
    <height>32</height>
</image> 
</channel>
</rss>

Кажется, что 'не интерпретируется. Ребята, вы знаете, как это исправить?

Ответы [ 2 ]

1 голос
/ 05 ноября 2019

Неправильный ответ: Это не цитата:

&#8211;

Он преобразуется в тире с помощью WordPress

https://en.wikipedia.org/wiki/Dash

И тире не являетсясимвол UTF-8. Попробуйте следующую кодировку:

<?xml version="1.0" encoding="UTF-16"?>

Редактировать: Правильно Ответ: Вы правы, проблема заключается в том, что '- недействительно.

Можете ли вы попробовать заменить' взаголовок вашего сообщения на

&#8217; 

(который действителен и имеет одинаковый символ). На интерфейсе отображается символ ', и я надеюсь, что в выводе xml также допустимый кодированный символ.

заменять:

Val-d’oise

с:

Val-d&#8217;oise

в заголовке.

Это грязно, но я надеюсь, что это поможет. Я думаю, что в WordPress была похожая ошибка много лет назад.

С уважением, Том

0 голосов
/ 05 ноября 2019

Я не думаю, что именно &#8211; вызывает проблему - это &rsquo; Вы можете проверить это, вставив текст XML в валидатор XML по адресу https://xmlvalidation.com/

Подставляя &#8217;поскольку &rsquo;, кажется, проходит тест на этой странице валидатора.

Я не знаю, как заставить ваш фид Wordpress излучать &#8217; Это ваш следующий проект. Удачи!

...