Version Description
- -.
- SEO- ( ).
- .
- mp3 ( -).
- .
- ( ).
- " ".
- RSS- ( ).
- ( ).
Download this release
Release Info
Developer | Flector |
Plugin | RSS for Yandex Turbo |
Version | 1.26 |
Comparing to | |
See all releases |
Code changes from version 1.25 to 1.26
- inc/yturbo-css.css +46 -2
- inc/yturbo-script.js +12 -16
- readme.txt +83 -20
- rss-for-yandex-turbo.php +249 -215
inc/yturbo-css.css
CHANGED
@@ -54,7 +54,40 @@ pre {
|
|
54 |
#yadonate:focus,#yadonate:active {
|
55 |
outline:none;
|
56 |
box-shadow: none;
|
57 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
td table {
|
59 |
width: auto;
|
60 |
}
|
@@ -87,10 +120,21 @@ td table {
|
|
87 |
color:black;
|
88 |
cursor: pointer;
|
89 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
.hide {
|
91 |
display:none;
|
92 |
}
|
93 |
-
.types {
|
94 |
margin-bottom: 6px;
|
95 |
display: table;
|
96 |
}
|
54 |
#yadonate:focus,#yadonate:active {
|
55 |
outline:none;
|
56 |
box-shadow: none;
|
57 |
+
}
|
58 |
+
.alert-success {
|
59 |
+
color: #155724;
|
60 |
+
background-color: #d4edda;
|
61 |
+
border-color: #c3e6cb;
|
62 |
+
border: 1px solid #a9d6b3!important;
|
63 |
+
}
|
64 |
+
.alert-success a{
|
65 |
+
color: #155724;
|
66 |
+
}
|
67 |
+
.alert-success a:focus {
|
68 |
+
color: #124964;
|
69 |
+
box-shadow: none;
|
70 |
+
outline: 1px solid transparent;
|
71 |
+
}
|
72 |
+
.alert-success a:hover {
|
73 |
+
color: rgba(21, 87, 36, 0.8);
|
74 |
+
}
|
75 |
+
.alert-danger {
|
76 |
+
color: #721c24;
|
77 |
+
background-color: #f8d7da;
|
78 |
+
border-color: #f5c6cb;
|
79 |
+
}
|
80 |
+
.alert {
|
81 |
+
position: relative;
|
82 |
+
padding: 0px 10px 0px 10px;
|
83 |
+
border: 1px solid transparent;
|
84 |
+
border-radius: .25rem;
|
85 |
+
margin: 15px 6px 6px 6px;
|
86 |
+
}
|
87 |
+
.alert p {
|
88 |
+
margin: 17px 0 17px 0;
|
89 |
+
text-align: left;
|
90 |
+
}
|
91 |
td table {
|
92 |
width: auto;
|
93 |
}
|
120 |
color:black;
|
121 |
cursor: pointer;
|
122 |
}
|
123 |
+
#showlistrss {
|
124 |
+
color: #0073aa;
|
125 |
+
transition-property: border,background,color;
|
126 |
+
transition-duration: .05s;
|
127 |
+
transition-timing-function: ease-in-out;
|
128 |
+
cursor: pointer;
|
129 |
+
text-decoration: underline;
|
130 |
+
}
|
131 |
+
#showlistrss:hover,#showlistrss:active {
|
132 |
+
color: #00a0d2;
|
133 |
+
}
|
134 |
.hide {
|
135 |
display:none;
|
136 |
}
|
137 |
+
.types, .shortcodes {
|
138 |
margin-bottom: 6px;
|
139 |
display: table;
|
140 |
}
|
inc/yturbo-script.js
CHANGED
@@ -529,22 +529,6 @@ jQuery(document).ready(function($) {
|
|
529 |
}
|
530 |
});
|
531 |
|
532 |
-
var seo = jQuery('#ytseotitle');
|
533 |
-
|
534 |
-
if (jQuery('#ytseotitle').is(':checked')) {
|
535 |
-
jQuery('.ytseoplugintr').show();
|
536 |
-
} else {
|
537 |
-
jQuery('.ytseoplugintr').hide();
|
538 |
-
}
|
539 |
-
|
540 |
-
seo.change(function() {
|
541 |
-
if (jQuery('#ytseotitle').is(':checked')) {
|
542 |
-
jQuery('.ytseoplugintr').fadeIn();
|
543 |
-
} else {
|
544 |
-
jQuery('.ytseoplugintr').hide();
|
545 |
-
}
|
546 |
-
});
|
547 |
-
|
548 |
var delturbo = jQuery('#ytremoveturbo');
|
549 |
|
550 |
if (jQuery('#ytremoveturbo').is(':checked')) {
|
@@ -1020,6 +1004,18 @@ jQuery(function() {
|
|
1020 |
})
|
1021 |
});
|
1022 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1023 |
(function($) {
|
1024 |
$(function() {
|
1025 |
|
529 |
}
|
530 |
});
|
531 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
var delturbo = jQuery('#ytremoveturbo');
|
533 |
|
534 |
if (jQuery('#ytremoveturbo').is(':checked')) {
|
1004 |
})
|
1005 |
});
|
1006 |
|
1007 |
+
jQuery(function() {
|
1008 |
+
jQuery('#showlistrss').click(function(){
|
1009 |
+
if (jQuery('#allrss').is(':hidden')) {
|
1010 |
+
jQuery('#allrss').fadeIn();
|
1011 |
+
jQuery('#showlistrss').text('скрыть');
|
1012 |
+
} else {
|
1013 |
+
jQuery('#allrss').hide();
|
1014 |
+
jQuery('#showlistrss').text('показать');
|
1015 |
+
}
|
1016 |
+
})
|
1017 |
+
});
|
1018 |
+
|
1019 |
(function($) {
|
1020 |
$(function() {
|
1021 |
|
readme.txt
CHANGED
@@ -3,19 +3,19 @@ Contributors: Flector
|
|
3 |
Donate link: https://money.yandex.ru/to/41001443750704/200
|
4 |
Tags: yandex, turbo, yandex turbo, rss, feed, турбо, яндекс турбо, яндекс
|
5 |
Requires at least: 4.4
|
6 |
-
Tested up to: 5.
|
7 |
Requires PHP: 5.3
|
8 |
-
Stable tag: 1.
|
9 |
|
10 |
Создание RSS-ленты для сервиса Яндекс.Турбо.
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
-
Данный плагин автоматически создаст на вашем сайте новую RSS-ленту (или несколько лент) для сервиса “Яндекс.Турбо” в полном соответствии с [техническими требованиями](https://
|
15 |
|
16 |
После установки плагина не забудьте проверить его настройки в “<strong>Настройках\Яндекс.Турбо</strong>”.
|
17 |
|
18 |
-
Чтобы добавить свою ленту в Яндекс.Турбо вам надо будет отправить заявку в Яндекс.Вебмастере (“Турбо-страницы\Источники”).
|
19 |
|
20 |
Если вам понравился этот плагин, то, <strong>пожалуйста</strong>, поставьте ему 5 звезд.
|
21 |
|
@@ -29,13 +29,27 @@ Stable tag: 1.25
|
|
29 |
3. Зайдите в настройки плагина “<strong>Настройки\Яндекс.Турбо</strong>” и сохраните их.
|
30 |
4. Это все.
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
= Лента не проходит валидацию, что делать? =
|
33 |
|
34 |
-
|
|
|
|
|
35 |
|
36 |
-
= Яндекс сильно нагружает
|
37 |
|
38 |
-
Установите любой из плагинов кэширования. Они все умеют кэшировать RSS-ленты.
|
|
|
|
|
39 |
|
40 |
= URL источника запрещен в robots.txt, что делать? =
|
41 |
|
@@ -287,7 +301,7 @@ add_filter( 'yturbo_the_template', 'yturbo_acf_template' );
|
|
287 |
function ct_get_myimage() {
|
288 |
|
289 |
if ($field = get_field('myimage')) {
|
290 |
-
$output = '<figure><img src="' . $field['sizes']['photo'] . '"
|
291 |
}
|
292 |
return $output;
|
293 |
}
|
@@ -316,7 +330,7 @@ function ct_get_steps() {
|
|
316 |
|
317 |
Принцип довольно простой и я думаю, что вам должно быть тут все понятно. Результатом этого кода будет что-то типа:
|
318 |
|
319 |
-
`<figure><img src="http://site.com/wp-content/uploads/2018/06/cover-47
|
320 |
<h3>Шаг 1 из 2 </h3>
|
321 |
<figure><img src="http://site.com/wp-content/uploads/2018/06/cover-45.jpg" /></figure>
|
322 |
<p>первое изображение</p>
|
@@ -325,7 +339,7 @@ function ct_get_steps() {
|
|
325 |
<p>второе изображение</p>
|
326 |
<p>контент записи</p>`
|
327 |
|
328 |
-
|
329 |
|
330 |
= Какие шорткоды можно использовать в шаблонах? =
|
331 |
|
@@ -334,7 +348,7 @@ function ct_get_steps() {
|
|
334 |
|
335 |
Если вам необходимы какие-то дополнительные шорткоды, то напишите об этом на [форуме](https://wordpress.org/support/plugin/rss-for-yandex-turbo/). Я обязательно постараюсь их добавить в следующей версии плагина.
|
336 |
|
337 |
-
= У меня относительные ссылки на
|
338 |
|
339 |
Можно использовать код:
|
340 |
|
@@ -350,6 +364,43 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
350 |
|
351 |
Этот код заменит все относительные ссылки на абсолютные.
|
352 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
353 |
== Screenshots ==
|
354 |
|
355 |
1. Пример добавленных RSS-лент в Яндекс.Вебмастере.
|
@@ -358,6 +409,18 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
358 |
|
359 |
== Changelog ==
|
360 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
= 1.25 =
|
362 |
|
363 |
* для использования в шаблонах добавлены шорткоды [yt-permalink], [yt-title].
|
@@ -379,7 +442,7 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
379 |
* заголовки записей обрезаются до 240 символов (ограничение Яндекса).
|
380 |
* при незаполненном заголовке у записей будет выводиться заголовок сайта.
|
381 |
* снова удаляются unicode-символы из контента (Яндекс опять перестал их понимать).
|
382 |
-
* в настройках плагина можно скрыть рекламные блоки.
|
383 |
* исправлен css на предмет совместимости с WordPress 5.3.
|
384 |
* при отключении турбо-страниц можно выбрать используемый протокол.
|
385 |
* изменен формат даты записей - теперь он учитывает часовой пояс.
|
@@ -391,11 +454,11 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
391 |
* исправлена ошибка с видео, вставленным в гутенберге.
|
392 |
* в контенте записей теперь выполняются гутенберг-блоки.
|
393 |
* исправлена ошибка с неработающим поиском.
|
394 |
-
* в похожих записях теперь выводятся записи только из той же под-рубрики.
|
395 |
|
396 |
= 1.22 =
|
397 |
|
398 |
-
* исправлены заголовки SEO-плагинов для произвольных типов записей.
|
399 |
* исправлен notice по поводу "Undefined index: template-post" в метабоксе при редактировании записи.
|
400 |
* для mp4-видео теперь выводится картинка-заглушка (Яндекс без нее отказывается выводить видео).
|
401 |
* исправлены регулярки, обрабатывающие изображения с подписью (WordPress изменил формат их вывода).
|
@@ -452,7 +515,7 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
452 |
|
453 |
= 1.15 =
|
454 |
* исправлен баг с сохранением в блоке обратной связи звонка и контактной формы.
|
455 |
-
* интегрирован ID плагина (https://yandex.ru/support/webmaster/turbo/plugins.html).
|
456 |
|
457 |
= 1.14 =
|
458 |
|
@@ -460,7 +523,7 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
460 |
* добавлена возможность удалять указанные шорткоды из контента записей в RSS-ленте.
|
461 |
* удален выбор тематики записи (по спецификации Яндекса тематика используется только в Дзене и Новостях).
|
462 |
* обновлены часто задаваемые вопросы (добавлены подсказки по использованию кнопок и формы обратной связи).
|
463 |
-
* добавлена возможность задавать заголовок записей (тег <h1>) в RSS-ленте из SEO-плагинов.
|
464 |
* некоторые настройки плагина перенесены в другие секции настроек (для более удобной настройки плагина).
|
465 |
* отключен вывод миниатюр для похожих записей при включении непрерывной ленты статей (так как они все равно не используются в этом случае).
|
466 |
* добавлено ограничение на количество похожих записей (по спецификации их не может быть больше 30 штук).
|
@@ -505,7 +568,7 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
505 |
= 1.06 =
|
506 |
* добавлена опция отключения вывода автора записи (тег <author> для Яндекс.Турбо не является обязательным).
|
507 |
* из контента записей теперь удаляются все спец. символы юникода (как невалидные в rss).
|
508 |
-
* полностью переписаны регулярки плагина - из тегов img теперь вырезаются все лишние атрибуты.
|
509 |
|
510 |
= 1.05 =
|
511 |
* я дико извиняюсь за столь частые обновления плагина!
|
@@ -517,7 +580,7 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
517 |
* удален action "rss2_item" (во избежание добавления в ленту левых тегов от плагинов вроде Jetpack).
|
518 |
* при удалении плагина настройки плагина теперь будут полностью удалены из базы данных.
|
519 |
* при деактивации плагина RSS-ленты плагина теперь будут выдавать обычную 404-ошибку.
|
520 |
-
* исправлены тормоза в админке, если установлено слишком большое общее количество записей в RSS-ленте.
|
521 |
|
522 |
= 1.03 =
|
523 |
* добавлен третий рекламный блок и возможность выводить рекламу в середине записи.
|
@@ -531,10 +594,10 @@ add_filter( 'yturbo_the_content', 'yturbo_replace_src_links' ); `
|
|
531 |
= 1.02 =
|
532 |
* добавлена возможность изменения имени ленты в урле.
|
533 |
* функция wpautop теперь обрабатывает контент после удаления тегов, а не до.
|
534 |
-
* переписана функция удаления тегов без контента (теперь она справляется с большой вложенностью).
|
535 |
|
536 |
= 1.01 =
|
537 |
-
* миниатюра в заголовке записи теперь выводится только, если включена соответствующая опция в настройках (проверьте настройки!).
|
538 |
* из разметки изображений убраны атрибуты srcset и sizes.
|
539 |
* исправлена ошибка парсинга изображений (когда пропадал весь текст записи).
|
540 |
|
3 |
Donate link: https://money.yandex.ru/to/41001443750704/200
|
4 |
Tags: yandex, turbo, yandex turbo, rss, feed, турбо, яндекс турбо, яндекс
|
5 |
Requires at least: 4.4
|
6 |
+
Tested up to: 5.4
|
7 |
Requires PHP: 5.3
|
8 |
+
Stable tag: 1.26
|
9 |
|
10 |
Создание RSS-ленты для сервиса Яндекс.Турбо.
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
+
Данный плагин автоматически создаст на вашем сайте новую RSS-ленту (или несколько лент) для сервиса “Яндекс.Турбо” в полном соответствии с [техническими требованиями](https://yandex.ru/dev/turbo/doc/rss/markup-docpage/) Яндекса.
|
15 |
|
16 |
После установки плагина не забудьте проверить его настройки в “<strong>Настройках\Яндекс.Турбо</strong>”.
|
17 |
|
18 |
+
Чтобы добавить свою ленту в Яндекс.Турбо вам надо будет отправить заявку в Яндекс.Вебмастере (“Турбо-страницы\Источники”). И не забудьте перевести переключатель в положение “Вкл”.
|
19 |
|
20 |
Если вам понравился этот плагин, то, <strong>пожалуйста</strong>, поставьте ему 5 звезд.
|
21 |
|
29 |
3. Зайдите в настройки плагина “<strong>Настройки\Яндекс.Турбо</strong>” и сохраните их.
|
30 |
4. Это все.
|
31 |
|
32 |
+
= Яндекс забанил турбо-страницы, что делать? =
|
33 |
+
|
34 |
+
Первое. Сравните оригинальную страницу и ее турбо-версию. Особое внимание уделите соответствию заголовков, картинок, наличию блока содержимого и прочего. Крайне рекомендую проверить опцию "Миниатюра в RSS" - не ставьте галку на этой опции, если в вашей теме в начале статьи не выводится "Изображение записи". Очень желательно установить именно тот размер миниатюры, который используется вашей темой. Как Яндекс проверяет соответствие картинок мне неизвестно - возможно, что по названию файла. В таком случае выбор неправильного размера изображения может быть причиной бана.
|
35 |
+
|
36 |
+
Второе. Если вы используете механизм шаблонов в плагине, то проверьте, чтобы ваши шаблоны более-менее соответствовали обычным страницам. Механизм шаблонов нужен в основном для преобразования лэндинг-страниц, которые сверстаны в визуальных билдерах и не могут быть напрямую преобразованы в турбо-формат. А также для использования совместно с произвольными типами записей, использующими свои произвольные поля для хранения контента. В любом другом случае надо убедиться в том, что вы не злоупотребили механизмом шаблонов.
|
37 |
+
|
38 |
+
Третье. Скачайте Яндекс.Браузер - в нем есть такая опция, как "Режим чтения". Если для вашего сайта эта опция доступна, то вы можете увидеть, как именно видит вашу страницу Яндекс. Сравните вашу страницу в режиме чтения с ее турбо-версией и отметьте для себя их отличия. Устраните отличия с помощью настроек плагина.
|
39 |
+
|
40 |
+
Четвертое. Не стесняйтесь писать Платонам и требовать от них четкого ответа, что именно не так с вашими турбо-страницами. Яндекс запустил проверку турбо-страниц, но работает она сейчас достаточно криво. Например, Яндекс ругается на отсутствие даты и дает для примера старую версию турбо-страницы и забанненую версию этой турбо-страницы. Самое удивительное - и там и там даты нет. Как можно ругаться на несоответствие дат, если и там и там их нет? Поэтому еще раз повторю, доставайте Платонов - пусть связываются с командой, работающей над турбо-страницами и узнают точную причину бана. В противном случае, велика вероятность, что Платоны на глазок определят проблему и в этом случае устранить бан турбо-страниц будет сложно.
|
41 |
+
|
42 |
= Лента не проходит валидацию, что делать? =
|
43 |
|
44 |
+
RSS-лента для Яндекс.Турбо никогда не сможет пройти обычную валидацию, так как технические требования Яндекс.Турбо несовместимы со стандартами обычного RSS.
|
45 |
+
|
46 |
+
Проверять RSS-ленты надо в Яндекс.Вебмастере, в разделе "Турбо-страницы\Источники". После добавления RSS-ленты Яндекс через пару минут выдаст свой "диагноз".
|
47 |
|
48 |
+
= Яндекс сильно нагружает сервер, что делать? =
|
49 |
|
50 |
+
Установите любой из плагинов кэширования. Они все умеют кэшировать RSS-ленты.
|
51 |
+
|
52 |
+
Бывает, что боты Яндекса сходят с ума и начинают запрашивать RSS-ленты по паре раз в минуту - даже мощный сервер под такой нагрузкой может "лечь". Убедить Платонов в том, что это ненормально практически невозможно, а поэтому установка плагина кэширования это единственный способ решить проблему излишней нагрузки.
|
53 |
|
54 |
= URL источника запрещен в robots.txt, что делать? =
|
55 |
|
301 |
function ct_get_myimage() {
|
302 |
|
303 |
if ($field = get_field('myimage')) {
|
304 |
+
$output = '<figure><img src="' . $field['sizes']['photo'] . '" /></figure>';
|
305 |
}
|
306 |
return $output;
|
307 |
}
|
330 |
|
331 |
Принцип довольно простой и я думаю, что вам должно быть тут все понятно. Результатом этого кода будет что-то типа:
|
332 |
|
333 |
+
`<figure><img src="http://site.com/wp-content/uploads/2018/06/cover-47.jpg" /></figure>
|
334 |
<h3>Шаг 1 из 2 </h3>
|
335 |
<figure><img src="http://site.com/wp-content/uploads/2018/06/cover-45.jpg" /></figure>
|
336 |
<p>первое изображение</p>
|
339 |
<p>второе изображение</p>
|
340 |
<p>контент записи</p>`
|
341 |
|
342 |
+
Учтите, что результат вывода вашего шаблона будет потом обработан фильтрами плагина.
|
343 |
|
344 |
= Какие шорткоды можно использовать в шаблонах? =
|
345 |
|
348 |
|
349 |
Если вам необходимы какие-то дополнительные шорткоды, то напишите об этом на [форуме](https://wordpress.org/support/plugin/rss-for-yandex-turbo/). Я обязательно постараюсь их добавить в следующей версии плагина.
|
350 |
|
351 |
+
= У меня относительные ссылки на картинки, что делать? =
|
352 |
|
353 |
Можно использовать код:
|
354 |
|
364 |
|
365 |
Этот код заменит все относительные ссылки на абсолютные.
|
366 |
|
367 |
+
= Как задать произвольный заголовок для записей? =
|
368 |
+
|
369 |
+
Яндекс стал ругаться на несоответствие заголовков обычной страницы и ее турбо-версии, поэтому функция использования заголовков из SEO-плагинов была удалена из настроек плагина. Однако, если в вашей теме выводится не стандартный заголовок, а обработанный какими то функциями, то плагин не сможет его вывести - он всегда будет выводить стандартный заголовок, прописанный в редакторе. В этом случае вы можете воспользоваться фильтром `yturbo_custom_title`.
|
370 |
+
|
371 |
+
Как его использовать? Самый простой вариант:
|
372 |
+
|
373 |
+
`function my_custom_title_for_turbo( $title ) {
|
374 |
+
|
375 |
+
//просто пример добавления "Статья: " к заголовку записи
|
376 |
+
$title = 'Статья: ' . get_the_title();
|
377 |
+
|
378 |
+
return $title;
|
379 |
+
}
|
380 |
+
add_filter( 'yturbo_custom_title', 'my_custom_title_for_turbo' );`
|
381 |
+
|
382 |
+
Но советую использовать более полный вариант, учитывающий требования Яндекса к заголовкам записей:
|
383 |
+
|
384 |
+
`function my_custom_title_for_turbo( $title ) {
|
385 |
+
|
386 |
+
//просто пример добавления "Статья: " к заголовку записи
|
387 |
+
$title = 'Статья: ' . get_the_title();
|
388 |
+
|
389 |
+
//удаляем эмоджи (яндекс выдает на них ошибку)
|
390 |
+
$title = yturbo_remove_emoji($title);
|
391 |
+
//устанавливаем заголовком название сайта, если заголовок пустой
|
392 |
+
$title = yturbo_empty_title($title);
|
393 |
+
//преобразуем спец. символы в html-сущности
|
394 |
+
$title = esc_html($title);
|
395 |
+
//обрезаем заголовок по словам, чтобы не превышать ограничение в 240 символов
|
396 |
+
$title = yturbo_cut_by_words(237, $title);
|
397 |
+
|
398 |
+
return $title;
|
399 |
+
}
|
400 |
+
add_filter( 'yturbo_custom_title', 'my_custom_title_for_turbo' );`
|
401 |
+
|
402 |
+
В этом случае будут выполнены все требования Яндекса к заголовкам записей.
|
403 |
+
|
404 |
== Screenshots ==
|
405 |
|
406 |
1. Пример добавленных RSS-лент в Яндекс.Вебмастере.
|
409 |
|
410 |
== Changelog ==
|
411 |
|
412 |
+
= 1.26 =
|
413 |
+
|
414 |
+
* изменен интерфейс удаления шорткодов из контента турбо-страниц.
|
415 |
+
* удалена опция вывода заголовков из SEO-плагинов (Яндекс стал требовать соответствия заголовков).
|
416 |
+
* обновлены регулярки удаления эмоджи из заголовков записей.
|
417 |
+
* добавлена поддержка mp3 файлов (будет выведен аудио-проигрыватель).
|
418 |
+
* метабокс плагина больше не выводится для записей исключенных таксономий.
|
419 |
+
* исправлено сохранение заголовка и описания ленты (можно использовать кавычки).
|
420 |
+
* произвольные поля плагина скрыты из метабокса "Произвольные поля".
|
421 |
+
* переделано отображение ссылок на разбитые RSS-ленты (можно увидеть ссылки на все ленты).
|
422 |
+
* исправлены ссылки на документацию (Яндекс опять их изменил).
|
423 |
+
|
424 |
= 1.25 =
|
425 |
|
426 |
* для использования в шаблонах добавлены шорткоды [yt-permalink], [yt-title].
|
442 |
* заголовки записей обрезаются до 240 символов (ограничение Яндекса).
|
443 |
* при незаполненном заголовке у записей будет выводиться заголовок сайта.
|
444 |
* снова удаляются unicode-символы из контента (Яндекс опять перестал их понимать).
|
445 |
+
* в настройках плагина можно скрыть рекламные блоки.
|
446 |
* исправлен css на предмет совместимости с WordPress 5.3.
|
447 |
* при отключении турбо-страниц можно выбрать используемый протокол.
|
448 |
* изменен формат даты записей - теперь он учитывает часовой пояс.
|
454 |
* исправлена ошибка с видео, вставленным в гутенберге.
|
455 |
* в контенте записей теперь выполняются гутенберг-блоки.
|
456 |
* исправлена ошибка с неработающим поиском.
|
457 |
+
* в похожих записях теперь выводятся записи только из той же под-рубрики.
|
458 |
|
459 |
= 1.22 =
|
460 |
|
461 |
+
* исправлены заголовки SEO-плагинов для произвольных типов записей.
|
462 |
* исправлен notice по поводу "Undefined index: template-post" в метабоксе при редактировании записи.
|
463 |
* для mp4-видео теперь выводится картинка-заглушка (Яндекс без нее отказывается выводить видео).
|
464 |
* исправлены регулярки, обрабатывающие изображения с подписью (WordPress изменил формат их вывода).
|
515 |
|
516 |
= 1.15 =
|
517 |
* исправлен баг с сохранением в блоке обратной связи звонка и контактной формы.
|
518 |
+
* интегрирован ID плагина (https://yandex.ru/support/webmaster/turbo/plugins.html).
|
519 |
|
520 |
= 1.14 =
|
521 |
|
523 |
* добавлена возможность удалять указанные шорткоды из контента записей в RSS-ленте.
|
524 |
* удален выбор тематики записи (по спецификации Яндекса тематика используется только в Дзене и Новостях).
|
525 |
* обновлены часто задаваемые вопросы (добавлены подсказки по использованию кнопок и формы обратной связи).
|
526 |
+
* добавлена возможность задавать заголовок записей (тег <h1>) в RSS-ленте из SEO-плагинов.
|
527 |
* некоторые настройки плагина перенесены в другие секции настроек (для более удобной настройки плагина).
|
528 |
* отключен вывод миниатюр для похожих записей при включении непрерывной ленты статей (так как они все равно не используются в этом случае).
|
529 |
* добавлено ограничение на количество похожих записей (по спецификации их не может быть больше 30 штук).
|
568 |
= 1.06 =
|
569 |
* добавлена опция отключения вывода автора записи (тег <author> для Яндекс.Турбо не является обязательным).
|
570 |
* из контента записей теперь удаляются все спец. символы юникода (как невалидные в rss).
|
571 |
+
* полностью переписаны регулярки плагина - из тегов img теперь вырезаются все лишние атрибуты.
|
572 |
|
573 |
= 1.05 =
|
574 |
* я дико извиняюсь за столь частые обновления плагина!
|
580 |
* удален action "rss2_item" (во избежание добавления в ленту левых тегов от плагинов вроде Jetpack).
|
581 |
* при удалении плагина настройки плагина теперь будут полностью удалены из базы данных.
|
582 |
* при деактивации плагина RSS-ленты плагина теперь будут выдавать обычную 404-ошибку.
|
583 |
+
* исправлены тормоза в админке, если установлено слишком большое общее количество записей в RSS-ленте.
|
584 |
|
585 |
= 1.03 =
|
586 |
* добавлен третий рекламный блок и возможность выводить рекламу в середине записи.
|
594 |
= 1.02 =
|
595 |
* добавлена возможность изменения имени ленты в урле.
|
596 |
* функция wpautop теперь обрабатывает контент после удаления тегов, а не до.
|
597 |
+
* переписана функция удаления тегов без контента (теперь она справляется с большой вложенностью).
|
598 |
|
599 |
= 1.01 =
|
600 |
+
* миниатюра в заголовке записи теперь выводится только, если включена соответствующая опция в настройках (проверьте настройки!).
|
601 |
* из разметки изображений убраны атрибуты srcset и sizes.
|
602 |
* исправлена ошибка парсинга изображений (когда пропадал весь текст записи).
|
603 |
|
rss-for-yandex-turbo.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: RSS for Yandex Turbo
|
4 |
Plugin URI: https://wordpress.org/plugins/rss-for-yandex-turbo/
|
5 |
Description: Создание RSS-ленты для сервиса Яндекс.Турбо.
|
6 |
-
Version: 1.
|
7 |
Author: Flector
|
8 |
Author URI: https://profiles.wordpress.org/flector#content-plugins
|
9 |
Text Domain: rss-for-yandex-turbo
|
@@ -13,7 +13,7 @@ Text Domain: rss-for-yandex-turbo
|
|
13 |
function yturbo_check_version() {
|
14 |
$yturbo_options = get_option('yturbo_options');
|
15 |
if (!isset($yturbo_options['version'])){$yturbo_options['version']='1.00';update_option('yturbo_options',$yturbo_options);}
|
16 |
-
if ( $yturbo_options['version'] != '1.
|
17 |
yturbo_set_new_options();
|
18 |
}
|
19 |
}
|
@@ -90,10 +90,8 @@ function yturbo_set_new_options() {
|
|
90 |
if (!isset($yturbo_options['ytfeedbackviber'])) {$yturbo_options['ytfeedbackviber']='';}
|
91 |
if (!isset($yturbo_options['ytfeedbackwhatsapp'])) {$yturbo_options['ytfeedbackwhatsapp']='';}
|
92 |
if (!isset($yturbo_options['ytfeedbacktelegram'])) {$yturbo_options['ytfeedbacktelegram']='';}
|
93 |
-
if (!isset($yturbo_options['ytseotitle'])) {$yturbo_options['ytseotitle']='disabled';}
|
94 |
-
if (!isset($yturbo_options['ytseoplugin'])) {$yturbo_options['ytseoplugin']='Yoast SEO';}
|
95 |
if (!isset($yturbo_options['ytexcludeshortcodes'])) {$yturbo_options['ytexcludeshortcodes']='disabled';}
|
96 |
-
if (!isset($yturbo_options['ytexcludeshortcodeslist'])) {$yturbo_options['ytexcludeshortcodeslist']='contact-form-7';}
|
97 |
if (!isset($yturbo_options['yttab'])) {$yturbo_options['yttab']='RSS-лента';}
|
98 |
if (!isset($yturbo_options['ytrating'])) {$yturbo_options['ytrating']='disabled';}
|
99 |
if (!isset($yturbo_options['ytratingmin'])) {$yturbo_options['ytratingmin']='4.70';}
|
@@ -126,10 +124,11 @@ function yturbo_set_new_options() {
|
|
126 |
|
127 |
if (!isset($yturbo_options['ytrelateddate'])) {$yturbo_options['ytrelateddate']='12';}
|
128 |
|
129 |
-
$yturbo_options['yttitle'] = yturbo_remove_emoji(strip_tags($yturbo_options['yttitle']));
|
130 |
-
$yturbo_options['ytdescription'] = yturbo_remove_emoji(strip_tags($yturbo_options['ytdescription']));
|
|
|
131 |
|
132 |
-
$yturbo_options['version'] = '1.
|
133 |
update_option('yturbo_options', $yturbo_options);
|
134 |
}
|
135 |
//функция установки новых опций при обновлении плагина у пользователей end
|
@@ -137,11 +136,11 @@ function yturbo_set_new_options() {
|
|
137 |
//функция установки значений по умолчанию при активации плагина begin
|
138 |
function yturbo_init() {
|
139 |
$yturbo_options = array();
|
140 |
-
$yturbo_options['version'] = '1.
|
141 |
$yturbo_options['ytrssname'] = 'turbo';
|
142 |
-
$yturbo_options['yttitle'] = yturbo_remove_emoji(strip_tags(get_bloginfo_rss('title')));
|
143 |
$yturbo_options['ytlink'] = get_bloginfo_rss('url');
|
144 |
-
$yturbo_options['ytdescription'] = yturbo_remove_emoji(strip_tags(get_bloginfo_rss('description')));
|
145 |
$yturbo_options['ytlanguage'] = 'ru';
|
146 |
$yturbo_options['ytnumber'] = '250';
|
147 |
$yturbo_options['yttype'] = 'post';
|
@@ -236,11 +235,8 @@ function yturbo_init() {
|
|
236 |
$yturbo_options['ytfeedbackwhatsapp'] = '';
|
237 |
$yturbo_options['ytfeedbacktelegram'] = '';
|
238 |
|
239 |
-
$yturbo_options['ytseotitle'] = 'disabled';
|
240 |
-
$yturbo_options['ytseoplugin'] = 'Yoast SEO';
|
241 |
-
|
242 |
$yturbo_options['ytexcludeshortcodes'] = 'disabled';
|
243 |
-
$yturbo_options['ytexcludeshortcodeslist'] = 'contact-form-7';
|
244 |
$yturbo_options['yttab'] = 'RSS-лента';
|
245 |
|
246 |
$yturbo_options['ytrating'] = 'disabled';
|
@@ -268,6 +264,8 @@ function yturbo_init() {
|
|
268 |
$yturbo_options['ytturbocolumn'] = 'enabled';
|
269 |
$yturbo_options['ytrelateddate'] = '12';
|
270 |
|
|
|
|
|
271 |
add_option('yturbo_options', $yturbo_options);
|
272 |
|
273 |
yturbo_add_feed();
|
@@ -326,9 +324,9 @@ function yturbo_files_admin( $hook_suffix ) {
|
|
326 |
wp_enqueue_script('yturbo-textillate');
|
327 |
wp_register_style('yturbo-animate', $purl . '/inc/animate.min.css');
|
328 |
wp_enqueue_style('yturbo-animate');
|
329 |
-
wp_register_script('yturbo-script', $purl . '/inc/yturbo-script.js', array(), '1.
|
330 |
wp_enqueue_script('yturbo-script');
|
331 |
-
wp_register_style('yturbo-css', $purl . '/inc/yturbo-css.css', array(), '1.
|
332 |
wp_enqueue_style('yturbo-css');
|
333 |
}
|
334 |
}
|
@@ -358,9 +356,9 @@ if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || !
|
|
358 |
$wp_rewrite->flush_rules();
|
359 |
}
|
360 |
|
361 |
-
$yturbo_options['yttitle'] =
|
362 |
$yturbo_options['ytlink'] = esc_url_raw($_POST['ytlink']);
|
363 |
-
$yturbo_options['ytdescription'] =
|
364 |
$yturbo_options['ytlanguage'] = sanitize_text_field($_POST['ytlanguage']);
|
365 |
|
366 |
$ytnumber = sanitize_text_field($_POST['ytnumber']);
|
@@ -448,6 +446,13 @@ if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || !
|
|
448 |
if($yturbo_options['ytad5set'] == "РСЯ" && !$yturbo_options['ytad5rsa']) {$yturbo_options['ytad5'] = 'disabled';}
|
449 |
if($yturbo_options['ytad5set'] == "ADFOX" && !$yturbo_options['ytadfox5']) {$yturbo_options['ytad5'] = 'disabled';}
|
450 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
451 |
|
452 |
if(isset($_POST['ytrelated'])){$yturbo_options['ytrelated'] = sanitize_text_field($_POST['ytrelated']);}else{$yturbo_options['ytrelated'] = 'disabled';}
|
453 |
$ytrelatednumber = sanitize_text_field($_POST['ytrelatednumber']);
|
@@ -516,13 +521,10 @@ if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || !
|
|
516 |
$yturbo_options['ytfeedbackwhatsapp'] = sanitize_text_field($_POST['ytfeedbackwhatsapp']);
|
517 |
$yturbo_options['ytfeedbacktelegram'] = sanitize_text_field($_POST['ytfeedbacktelegram']);
|
518 |
|
519 |
-
if(isset($_POST['ytseotitle'])){$yturbo_options['ytseotitle'] = sanitize_text_field($_POST['ytseotitle']);}else{$yturbo_options['ytseotitle'] = 'disabled';}
|
520 |
-
$yturbo_options['ytseoplugin'] = sanitize_text_field($_POST['ytseoplugin']);
|
521 |
-
|
522 |
if(isset($_POST['ytexcludeshortcodes'])){$yturbo_options['ytexcludeshortcodes'] = sanitize_text_field($_POST['ytexcludeshortcodes']);}else{$yturbo_options['ytexcludeshortcodes'] = 'disabled';}
|
523 |
-
$ytexcludeshortcodeslist =
|
524 |
-
$
|
525 |
-
$yturbo_options['ytexcludeshortcodeslist']
|
526 |
|
527 |
$types = explode(",", $yturbo_options['yttype']);
|
528 |
$types = array_diff($types, array(''));
|
@@ -545,7 +547,7 @@ if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || !
|
|
545 |
$yturbo_options['ytsearchmesto'] = sanitize_text_field($_POST['ytsearchmesto']);
|
546 |
|
547 |
if(isset($_POST['yttoc'])){$yturbo_options['yttoc'] = sanitize_text_field($_POST['yttoc']);}else{$yturbo_options['yttoc'] = 'disabled';}
|
548 |
-
$yturbo_options['yttype2'] = '';
|
549 |
$checkboxes = isset($_POST['types2']) ? $_POST['types2'] : array();
|
550 |
foreach($checkboxes as $value) {$yturbo_options['yttype2'] .= $value . ',';}
|
551 |
$yturbo_options['yttype2'] = sanitize_text_field($yturbo_options['yttype2']);
|
@@ -634,16 +636,16 @@ if (closedonat == 'yes') {
|
|
634 |
</ul>
|
635 |
|
636 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='RSS-лента'){echo ' active';} ?>"><!-- begin tab -->
|
637 |
-
<table class="form-table">
|
638 |
|
639 |
<?php yturbo_count_feeds(); ?>
|
640 |
|
641 |
-
|
642 |
$kor = get_bloginfo('url') .'/feed/' . '<strong>' . $yturbo_options['ytrssname'] . '</strong>/';
|
643 |
-
|
644 |
$kor = get_bloginfo('url') .'/?feed=' . '<strong>' . $yturbo_options['ytrssname']. '</strong>';
|
645 |
-
|
646 |
|
|
|
647 |
<tr class="trbordertop">
|
648 |
<th><?php _e('Имя RSS-ленты:', 'rss-for-yandex-turbo'); ?></th>
|
649 |
<td>
|
@@ -687,7 +689,8 @@ if (closedonat == 'yes') {
|
|
687 |
<th><?php _e('Количество записей:', 'rss-for-yandex-turbo'); ?></th>
|
688 |
<td>
|
689 |
<input style="max-width: 74px;" name="ytnumber" type="number" min="1" max="999999" step="1" value="<?php echo $yturbo_options['ytnumber']; ?>" />
|
690 |
-
<br /><small><?php _e('Общее количество записей в RSS-ленте (обязательно прочтите про <a target="_blank" href="https://
|
|
|
691 |
</small>
|
692 |
</td>
|
693 |
</tr>
|
@@ -696,20 +699,15 @@ if (closedonat == 'yes') {
|
|
696 |
<td>
|
697 |
<label for="ytrazb"><input type="checkbox" value="enabled" name="ytrazb" id="ytrazb" <?php if ($yturbo_options['ytrazb'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить разбитие RSS-ленты', 'rss-for-yandex-turbo'); ?></label>
|
698 |
<br /><small><?php _e('Плагин будет генерировать несколько RSS-лент с указанным числом записей в каждой.', 'rss-for-yandex-turbo'); ?> <br />
|
699 |
-
<?php _e('Включите эту опцию, если RSS-лента слишком долго генерируется или если она превышает <a target="_blank" href="https://
|
700 |
-
<?php _e('
|
701 |
-
<?php _e('Достаточно единоразово "скормить" Яндексу максимальное количество лент, а потом их можно безбоязненно удалить (турбо-страницы при этом удалены не будут).', 'rss-for-yandex-turbo'); ?> <br />
|
702 |
-
<?php _e('Таким образом можно обойти ограничение Яндекса на 10000 турбо-страниц (10 RSS-лент по 1000 записей в каждой).', 'rss-for-yandex-turbo'); ?> <br />
|
703 |
-
<?php _e('В идеале у вас должна остаться в Яндекс.Вебмастере только одна RSS-лента с 20-30 последними записями сайта и все.', 'rss-for-yandex-turbo'); ?> <br />
|
704 |
-
<?php _e('Однако помните, что при добавлении новых "турбо-фич" вам надо будет заново "скормить" Яндексу максимальное количество RSS-лент.', 'rss-for-yandex-turbo'); ?> <br />
|
705 |
-
<?php _e('И последнее - общее количество картинок в ленте не может превышать 5000 штук (при ленте в 1000 записей это по 5 картинок на запись).', 'rss-for-yandex-turbo'); ?> <br />
|
706 |
</small>
|
707 |
</td>
|
708 |
</tr>
|
709 |
<tr class="ytrazbnumbertr" <?php if ($yturbo_options['ytrazb'] == 'disabled') echo 'style="display:none;"'; ?>>
|
710 |
<th><?php _e('Делить RSS-ленту по:', 'rss-for-yandex-turbo'); ?></th>
|
711 |
<td>
|
712 |
-
<input style="max-width: 60px;" name="ytrazbnumber" type="number" min="1" max="
|
713 |
<br /><small><?php _e('Укажите число записей, по которому лента будет делиться.', 'rss-for-yandex-turbo'); ?><br />
|
714 |
<?php _e('Для получения ссылок на ваши RSS-ленты сохраните настройки плагина.', 'rss-for-yandex-turbo'); ?><br />
|
715 |
<?php _e('Важно: разбитие не будет работать, если на вашем сайте нет необходимого числа записей.', 'rss-for-yandex-turbo'); ?> <br />
|
@@ -752,13 +750,13 @@ if (closedonat == 'yes') {
|
|
752 |
</div><!-- end tab -->
|
753 |
|
754 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Оформление'){echo ' active';} ?>"><!-- begin tab -->
|
755 |
-
<table class="form-table">
|
756 |
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
|
|
|
762 |
<tr class="trbordertop">
|
763 |
<th class="tdcheckbox"><?php _e('Дата записей:', 'rss-for-yandex-turbo'); ?></th>
|
764 |
<td>
|
@@ -788,25 +786,6 @@ if (closedonat == 'yes') {
|
|
788 |
</small>
|
789 |
</td>
|
790 |
</tr>
|
791 |
-
<tr class="ytseotitletr trbordertop">
|
792 |
-
<th class="tdcheckbox"><?php _e('Заголовок записей:', 'rss-for-yandex-turbo'); ?></th>
|
793 |
-
<td>
|
794 |
-
<label for="ytseotitle"><input type="checkbox" value="enabled" name="ytseotitle" id="ytseotitle" <?php if ($yturbo_options['ytseotitle'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Использовать данные из SEO-плагинов', 'rss-for-yandex-turbo'); ?></label>
|
795 |
-
<br /><small><?php _e('В качестве заголовка записи (тег <tt><h1></tt>) будет использован заголовок записи из выбранного SEO-плагина.', 'rss-for-yandex-turbo'); ?><br />
|
796 |
-
<?php _e('Эта опция меняет только видимый пользователями тег <tt><h1></tt> и не затрагивает RSS-теги <tt><title></tt> и <tt><turbo:topic></tt>.', 'rss-for-yandex-turbo'); ?><br />
|
797 |
-
</small>
|
798 |
-
</td>
|
799 |
-
</tr>
|
800 |
-
<tr class="ytseoplugintr" <?php if ($yturbo_options['ytseotitle'] == 'disabled') echo 'style="display:none;"'; ?>>
|
801 |
-
<th><?php _e('SEO-плагин:', 'rss-for-yandex-turbo'); ?></th>
|
802 |
-
<td>
|
803 |
-
<select name="ytseoplugin" style="width: 260px;">
|
804 |
-
<option value="Yoast SEO" <?php if ($yturbo_options['ytseoplugin'] == 'Yoast SEO') echo 'selected="selected"'; ?>><?php _e('Yoast SEO', 'rss-for-yandex-turbo'); ?></option>
|
805 |
-
<option value="All in One SEO Pack" <?php if ($yturbo_options['ytseoplugin'] == 'All in One SEO Pack') echo 'selected="selected"'; ?>><?php _e('All in One SEO Pack', 'rss-for-yandex-turbo'); ?></option>
|
806 |
-
</select>
|
807 |
-
<br /><small><?php _e('Выберите используемый вами SEO-плагин.', 'rss-for-yandex-turbo'); ?> </small>
|
808 |
-
</td>
|
809 |
-
</tr>
|
810 |
<tr class="ytthumbnailtr trbordertop">
|
811 |
<th class="tdcheckbox"><?php _e('Миниатюра в RSS:', 'rss-for-yandex-turbo'); ?></th>
|
812 |
<td>
|
@@ -824,7 +803,9 @@ if (closedonat == 'yes') {
|
|
824 |
<option value="<?php echo $size_name ?>" <?php if ($yturbo_options['ytselectthumb'] == $size_name) echo 'selected="selected"'; ?>><?php echo $size_name ?></option>
|
825 |
<?php endforeach; ?>
|
826 |
</select>
|
827 |
-
<br /><small><?php _e('Выберите нужный размер миниатюры (в списке находятся все зарегистрированные на сайте размеры миниатюр).
|
|
|
|
|
828 |
</td>
|
829 |
</tr>
|
830 |
<tr class="trbordertop">
|
@@ -944,12 +925,12 @@ if (closedonat == 'yes') {
|
|
944 |
</div><!-- end tab -->
|
945 |
|
946 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Блоки Яндекс.Турбо'){echo ' active';} ?>"><!-- begin tab -->
|
947 |
-
<table class="form-table">
|
948 |
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
|
|
|
953 |
<tr class="ytselectmenutr trbordertop">
|
954 |
<th><?php _e('Меню:', 'rss-for-yandex-turbo'); ?></th>
|
955 |
<td>
|
@@ -962,7 +943,8 @@ if (closedonat == 'yes') {
|
|
962 |
</select>
|
963 |
<?php $menulink = get_bloginfo('url') .'/wp-admin/nav-menus.php'; ?>
|
964 |
<br /><small><?php _e('Выберите меню для использования на турбо-страницах (создать меню можно на вкладке ', 'rss-for-yandex-turbo'); ?> "<a target="_blank" href="<?php echo $menulink; ?>"><?php _e('Внешний вид \ Меню', 'rss-for-yandex-turbo'); ?></a>").<br />
|
965 |
-
<?php _e('Меню должно быть ограничено <strong>10</strong> ссылками без иерархии (пример смотреть <a target="_blank" href="https://
|
|
|
966 |
</small>
|
967 |
</td>
|
968 |
</tr>
|
@@ -970,7 +952,7 @@ if (closedonat == 'yes') {
|
|
970 |
<th class="tdcheckbox"><?php _e('Блок "Поделиться":', 'rss-for-yandex-turbo'); ?></th>
|
971 |
<td>
|
972 |
<label for="ytshare"><input type="checkbox" value="enabled" name="ytshare" id="ytshare" <?php if ($yturbo_options['ytshare'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить блок "Поделиться" на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
973 |
-
<br /><small><?php _e('Этот блок будет добавлен в конце записи (пример смотреть <a target="_blank" href="https://
|
974 |
</small>
|
975 |
</td>
|
976 |
</tr>
|
@@ -1023,7 +1005,7 @@ if (closedonat == 'yes') {
|
|
1023 |
<th class="tdcheckbox"><?php _e('Блок обратной связи:', 'rss-for-yandex-turbo'); ?></th>
|
1024 |
<td>
|
1025 |
<label for="ytfeedback"><input type="checkbox" value="enabled" name="ytfeedback" id="ytfeedback" <?php if ($yturbo_options['ytfeedback'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить блок обратной связи на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
1026 |
-
<br /><small><?php _e('На турбо-страницы будет добавлен блок обратной связи в выбранном вами месте (пример смотреть <a target="_blank" href="https://
|
1027 |
</small>
|
1028 |
</td>
|
1029 |
</tr>
|
@@ -1257,7 +1239,7 @@ if (closedonat == 'yes') {
|
|
1257 |
<th class="tdcheckbox"><?php _e('Комментарии:', 'rss-for-yandex-turbo'); ?></th>
|
1258 |
<td>
|
1259 |
<label for="ytcomments"><input type="checkbox" value="enabled" name="ytcomments" id="ytcomments" <?php if ($yturbo_options['ytcomments'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить комментарии к турбо-страницам', 'rss-for-yandex-turbo'); ?></label>
|
1260 |
-
<br /><small><?php _e('К записям на турбо-страницах будут добавлены комментарии (пример смотреть <a target="_blank" href="https://
|
1261 |
</small>
|
1262 |
</td>
|
1263 |
</tr>
|
@@ -1313,7 +1295,7 @@ if (closedonat == 'yes') {
|
|
1313 |
<th class="tdcheckbox"><?php _e('Похожие записи:', 'rss-for-yandex-turbo'); ?></th>
|
1314 |
<td>
|
1315 |
<label for="ytrelated"><input type="checkbox" value="enabled" name="ytrelated" id="ytrelated" <?php if ($yturbo_options['ytrelated'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить блок похожих записей на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
1316 |
-
<br /><small><?php _e('На турбо-страницы будет добавлен блок похожих записей (
|
1317 |
</td>
|
1318 |
</tr>
|
1319 |
<tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
|
@@ -1359,7 +1341,7 @@ if (closedonat == 'yes') {
|
|
1359 |
<th class="tdcheckbox"><?php _e('Непрерывная лента статей:', 'rss-for-yandex-turbo'); ?></th>
|
1360 |
<td>
|
1361 |
<label for="ytrelatedinfinity"><input type="checkbox" value="enabled" name="ytrelatedinfinity" id="ytrelatedinfinity" <?php if ($yturbo_options['ytrelatedinfinity'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить непрерывную ленту статей', 'rss-for-yandex-turbo'); ?></label>
|
1362 |
-
<br /><small><?php _e('Вместо обычного короткого списка похожих статей будет выводиться непрерывная лента из полных записей (пример смотреть <a target="_blank" href="https://
|
1363 |
<?php _e('При включении непрерывной ленты статей вывод миниатюр для похожих записей будет отключен.', 'rss-for-yandex-turbo'); ?><br />
|
1364 |
</small>
|
1365 |
</td>
|
@@ -1383,7 +1365,7 @@ if (closedonat == 'yes') {
|
|
1383 |
<th class="tdcheckbox"><?php _e('Рейтинг:', 'rss-for-yandex-turbo'); ?></th>
|
1384 |
<td>
|
1385 |
<label for="ytrating"><input type="checkbox" value="enabled" name="ytrating" id="ytrating" <?php if ($yturbo_options['ytrating'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить рейтинг на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
1386 |
-
<br /><small><?php _e('На турбо-страницы будет добавлен блок рейтинга (пример смотреть <a target="_blank" href="https://
|
1387 |
</td>
|
1388 |
</tr>
|
1389 |
<tr class="ytratingchildtr" <?php if ($yturbo_options['ytrating'] == 'disabled') echo 'style="display:none;"'; ?>>
|
@@ -1400,7 +1382,7 @@ if (closedonat == 'yes') {
|
|
1400 |
<th class="tdcheckbox"><?php _e('Поиск:', 'rss-for-yandex-turbo'); ?></th>
|
1401 |
<td>
|
1402 |
<label for="ytsearch"><input type="checkbox" value="enabled" name="ytsearch" id="ytsearch" <?php if ($yturbo_options['ytsearch'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить поиск на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
1403 |
-
<br /><small><?php _e('На турбо-страницы будет добавлен блок поиска (пример смотреть <a target="_blank" href="https://
|
1404 |
<?php _e('На данный момент поиск не будет работать, если ваш сайт работает не на https протоколе.', 'rss-for-yandex-turbo'); ?>
|
1405 |
</small>
|
1406 |
</td>
|
@@ -1435,10 +1417,10 @@ if (closedonat == 'yes') {
|
|
1435 |
</div><!-- end tab -->
|
1436 |
|
1437 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Счетчики'){echo ' active';} ?>"><!-- begin tab -->
|
1438 |
-
<table class="form-table">
|
1439 |
|
1440 |
-
<p><?php _e('Укажите идентификаторы нужных вам счетчиков (<a target="_blank" href="https://
|
1441 |
|
|
|
1442 |
<tr class="trbordertop">
|
1443 |
<th><?php _e('Яндекс.Метрика:', 'rss-for-yandex-turbo'); ?></th>
|
1444 |
<td>
|
@@ -1494,14 +1476,15 @@ if (closedonat == 'yes') {
|
|
1494 |
</div><!-- end tab -->
|
1495 |
|
1496 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Реклама'){echo ' active';} ?>"><!-- begin tab -->
|
1497 |
-
<table class="form-table">
|
1498 |
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
|
|
1504 |
|
|
|
1505 |
<tr class="myturbo trbordertop">
|
1506 |
<th class="tdcheckbox"><?php _e('Блок рекламы #1:', 'rss-for-yandex-turbo'); ?></th>
|
1507 |
<td>
|
@@ -1679,15 +1662,22 @@ if (closedonat == 'yes') {
|
|
1679 |
</tr>
|
1680 |
|
1681 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1682 |
</div><!-- end tab -->
|
1683 |
|
1684 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Типы записей и исключения'){echo ' active';} ?>"><!-- begin tab -->
|
1685 |
-
<table class="form-table">
|
1686 |
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
|
|
|
1691 |
<tr class="trbordertop">
|
1692 |
<th class="tdcheckbox"><?php _e('Типы записей:', 'rss-for-yandex-turbo'); ?></th>
|
1693 |
<td>
|
@@ -1840,7 +1830,7 @@ if (closedonat == 'yes') {
|
|
1840 |
'toolbar1' => 'undo,redo,formatselect,bold,italic,underline,strikethrough,superscript,subscript,hr,blockquote,link,unlink,bullist,numlist,table,yablocks,',
|
1841 |
'toolbar2' => '',
|
1842 |
'toolbar3' => '',
|
1843 |
-
'content_css' => $purl . '/inc/editor.css?ver=1.
|
1844 |
),
|
1845 |
'quicktags' => array(
|
1846 |
'id' => $editor_id,
|
@@ -1867,10 +1857,10 @@ if (closedonat == 'yes') {
|
|
1867 |
</div><!-- end tab -->
|
1868 |
|
1869 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Фильтры'){echo ' active';} ?>"><!-- begin tab -->
|
1870 |
-
<table class="form-table">
|
1871 |
|
1872 |
<p><?php _e('В данной секции находятся продвинутые настройки. <br />Пожалуйста, будьте внимательны в этом разделе!', 'rss-for-yandex-turbo'); ?> </p>
|
1873 |
|
|
|
1874 |
<tr class="ytexcludeshortcodestr trbordertop">
|
1875 |
<th class="tdcheckbox"><?php _e('Фильтр шорткодов:', 'rss-for-yandex-turbo'); ?></th>
|
1876 |
<td>
|
@@ -1879,11 +1869,26 @@ if (closedonat == 'yes') {
|
|
1879 |
</td>
|
1880 |
</tr>
|
1881 |
<tr class="ytexcludeshortcodeslisttr" <?php if ($yturbo_options['ytexcludeshortcodes'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1882 |
-
<th><?php _e('Шорткоды для удаления:', 'rss-for-yandex-turbo'); ?></th>
|
1883 |
-
<td>
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1887 |
</small>
|
1888 |
</td>
|
1889 |
</tr>
|
@@ -2000,7 +2005,40 @@ function yturbo_meta_box() {
|
|
2000 |
$yttype = $yturbo_options['yttype'];
|
2001 |
$yttype = explode(",", $yttype);
|
2002 |
$yttype = array_diff($yttype, array(''));
|
2003 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2004 |
}
|
2005 |
add_action( 'add_meta_boxes', 'yturbo_meta_box' );
|
2006 |
//создаем метабокс end
|
@@ -2203,7 +2241,7 @@ tt{padding: 1px 5px 1px;margin: 0 1px;background: #eaeaea;background: rgba(0, 0,
|
|
2203 |
'toolbar1' => 'undo,redo,formatselect,bold,italic,underline,strikethrough,superscript,subscript,hr,blockquote,link,unlink,bullist,numlist,table,yablocks,',
|
2204 |
'toolbar2' => '',
|
2205 |
'toolbar3' => '',
|
2206 |
-
'content_css' => $purl . '/inc/editor.css?ver=1.
|
2207 |
),
|
2208 |
'quicktags' => array(
|
2209 |
'id' => 'customtemplate',
|
@@ -2256,6 +2294,14 @@ $ytauthor = $yturbo_options['ytauthor'];
|
|
2256 |
$ytthumbnail = $yturbo_options['ytthumbnail'];
|
2257 |
$ytselectthumb = $yturbo_options['ytselectthumb'];
|
2258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2259 |
$ytad1 = $yturbo_options['ytad1'];
|
2260 |
$ytad1set = $yturbo_options['ytad1set'];
|
2261 |
$ytad1rsa = $yturbo_options['ytad1rsa'];
|
@@ -2323,8 +2369,6 @@ if ($ytcommentsdrevo=='enabled') {
|
|
2323 |
$ytcommentsdrevo = 1;
|
2324 |
}
|
2325 |
$ytpostdate = $yturbo_options['ytpostdate'];
|
2326 |
-
$ytseotitle = $yturbo_options['ytseotitle'];
|
2327 |
-
$ytseoplugin = $yturbo_options['ytseoplugin'];
|
2328 |
|
2329 |
$ytrating = $yturbo_options['ytrating'];
|
2330 |
$ytratingmin = $yturbo_options['ytratingmin'];
|
@@ -2398,9 +2442,9 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EO
|
|
2398 |
version="2.0">
|
2399 |
<channel>
|
2400 |
<turbo:cms_plugin>C125AEEC6018B4A0EF9BF40E6615DD17</turbo:cms_plugin>
|
2401 |
-
<title><?php echo
|
2402 |
<link><?php echo esc_html($ytlink); ?></link>
|
2403 |
-
<description><?php echo
|
2404 |
<?php if ($ytmetrika) { ?><turbo:analytics id="<?php echo $ytmetrika; ?>" type="Yandex"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2405 |
<?php if ($ytliveinternet) { ?><turbo:analytics type="LiveInternet"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2406 |
<?php if ($ytgoogle) { ?><turbo:analytics id="<?php echo $ytgoogle; ?>" type="Google"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
@@ -2409,7 +2453,8 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EO
|
|
2409 |
<?php if ($ytmediascope) { ?><turbo:analytics id="<?php echo $ytmediascope; ?>" type="Mediascope"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2410 |
<?php do_action( 'yturbo_ads_header' ); echo yturbo_turbo_ads(); ?>
|
2411 |
<language><?php echo $ytlanguage; ?></language>
|
2412 |
-
<generator>RSS for Yandex Turbo v1.
|
|
|
2413 |
<?php while($query->have_posts()) : $query->the_post(); ?>
|
2414 |
<?php $ytremove = get_post_meta(get_the_ID(), 'ytremove_meta_value', true); ?>
|
2415 |
<?php if ($ytremoveturbo != 'enabled' && $ytremove != 'yes') { ?>
|
@@ -2417,11 +2462,11 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EO
|
|
2417 |
<?php } else { ?>
|
2418 |
<item turbo="false">
|
2419 |
<?php } ?>
|
2420 |
-
<title><?php echo
|
2421 |
<link><?php the_permalink_rss(); ?></link>
|
2422 |
-
<turbo:topic><?php echo
|
2423 |
<turbo:source><?php the_permalink_rss(); ?></turbo:source>
|
2424 |
-
<?php if ($ytpostdate == 'enabled')
|
2425 |
<?php $gmt_offset = get_option('gmt_offset');
|
2426 |
$gmt_offset_abs = floor(abs($gmt_offset));
|
2427 |
$gmt_offset_str = ($gmt_offset_abs > 9) ? $gmt_offset_abs.'00' : ('0'.$gmt_offset_abs.'00');
|
@@ -2432,7 +2477,7 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EO
|
|
2432 |
<?php if ($yturbo_options['ytdateformat'] == 'mod') { ?>
|
2433 |
<pubDate><?php echo mysql2date('D, d M Y H:i:s '.$gmt_offset_str, get_date_from_gmt(get_post_modified_time('Y-m-d H:i:s', true)), false); ?></pubDate>
|
2434 |
<?php } ?>
|
2435 |
-
<?php
|
2436 |
<?php if ($ytauthorselect != 'Отключить указание автора') { ?>
|
2437 |
<?php if ($ytauthor && $ytauthorselect != 'Автор записи') {
|
2438 |
echo '<author>'.$ytauthor.'</author>'.PHP_EOL;
|
@@ -2545,6 +2590,17 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EO
|
|
2545 |
$replacement = '<figure><video><source src="$3.mp4" type="video/mp4" /></video><img src="'.$purl.'/img/video.png'.'" /></figure>';
|
2546 |
$content = preg_replace($pattern, $replacement, $content);
|
2547 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2548 |
//удаляем картинки из контента, если их больше 50 уникальных (ограничение яндекс.турбо)
|
2549 |
if (preg_match_all("/<figure><img(.*?)>(.*?)<\/figure>/i", $content, $res)) {
|
2550 |
$i = 0;
|
@@ -2581,58 +2637,9 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EO
|
|
2581 |
?>
|
2582 |
<header>
|
2583 |
<?php if ( $ytthumbnail=='enabled' && has_post_thumbnail(get_the_ID()) ) {
|
2584 |
-
|
2585 |
-
<?php
|
2586 |
-
if ($ytseotitle != 'disabled') {
|
2587 |
-
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
2588 |
-
$temp = '';
|
2589 |
-
if ($ytseoplugin == 'Yoast SEO') {
|
2590 |
-
if ( is_plugin_active( 'wordpress-seo/wp-seo.php' ) ) {
|
2591 |
-
$temp = get_post_meta(get_the_ID(), '_yoast_wpseo_title', true);
|
2592 |
-
$temp = str_replace(array('%%title%%','%%sitename%%','%%sep%%','%%page%%'),array(get_the_title_rss(),$yttitle,'-',''), $temp);
|
2593 |
-
$temp = str_replace(' ',' ', $temp);
|
2594 |
-
if (!$temp) {
|
2595 |
-
$wpseo_titles = get_option('wpseo_titles');
|
2596 |
-
$sep_options = WPSEO_Option_Titles::get_instance()->get_separator_options();
|
2597 |
-
if (isset($wpseo_titles['separator']) && isset($sep_options[$wpseo_titles['separator']])) {
|
2598 |
-
$sep = $sep_options[$wpseo_titles['separator']];
|
2599 |
-
} else {
|
2600 |
-
$sep = '-';
|
2601 |
-
}
|
2602 |
-
$temp = str_replace(array('%%title%%','%%sitename%%','%%sep%%','%%page%%'),array(get_the_title_rss(),$yttitle,$sep,''), $wpseo_titles['title-'.get_post_type( get_the_ID() )]);
|
2603 |
-
}
|
2604 |
-
} else {
|
2605 |
-
$temp = yturbo_empty_title(get_the_title_rss());
|
2606 |
-
}
|
2607 |
-
if (!$temp) {$temp = yturbo_empty_title(get_the_title_rss());}
|
2608 |
-
$temp = apply_filters( 'convert_chars', $temp );
|
2609 |
-
$temp = apply_filters( 'ent2ncr', $temp, 8 );
|
2610 |
-
$temp = yturbo_remove_emoji($temp);
|
2611 |
-
$temp = yturbo_cut_by_words(237, esc_html($temp));
|
2612 |
-
echo "<h1>{$temp}</h1>".PHP_EOL;
|
2613 |
-
}
|
2614 |
-
if ($ytseoplugin == 'All in One SEO Pack') {
|
2615 |
-
if ( is_plugin_active( 'all-in-one-seo-pack/all_in_one_seo_pack.php' ) ) {
|
2616 |
-
$temp = get_post_meta(get_the_ID(), '_aioseop_title', true);
|
2617 |
-
$temp = str_replace(array('%page_title%','%blog_title%','%post_title%'),array(get_the_title_rss(),$yttitle,get_the_title_rss()), $temp);
|
2618 |
-
$temp = str_replace(' ',' ', $temp);
|
2619 |
-
if (!$temp) {
|
2620 |
-
global $aioseop_options;
|
2621 |
-
$temp = str_replace(array('%page_title%','%blog_title%','%post_title%'),array(get_the_title_rss(),$yttitle,get_the_title_rss()), $aioseop_options['aiosp_'.get_post_type( get_the_ID() ).'_title_format']);
|
2622 |
-
}
|
2623 |
-
} else {
|
2624 |
-
$temp = yturbo_empty_title(get_the_title_rss());
|
2625 |
-
}
|
2626 |
-
if (!$temp) {$temp = yturbo_empty_title(get_the_title_rss());}
|
2627 |
-
$temp = apply_filters( 'convert_chars', $temp );
|
2628 |
-
$temp = apply_filters( 'ent2ncr', $temp, 8 );
|
2629 |
-
$temp = yturbo_remove_emoji($temp);
|
2630 |
-
$temp = yturbo_cut_by_words(237, esc_html($temp));
|
2631 |
-
echo "<h1>{$temp}</h1>".PHP_EOL;
|
2632 |
-
}
|
2633 |
-
} else { ?>
|
2634 |
-
<h1><?php echo yturbo_cut_by_words(237, esc_html(yturbo_empty_title(get_the_title_rss()))); ?></h1>
|
2635 |
<?php } ?>
|
|
|
2636 |
<?php if ($ytselectmenu!='Не использовать') {
|
2637 |
echo '<menu>'.PHP_EOL;
|
2638 |
$menu = wp_get_nav_menu_object( $ytselectmenu );
|
@@ -2904,10 +2911,11 @@ if ($ytnumber > 500) :
|
|
2904 |
if ($ytrazb == 'enabled') {
|
2905 |
$paged = 2;
|
2906 |
echo '<p>Вы установили слишком большое общее количество записей в RSS (больше 500 записей), <br />
|
2907 |
-
поэтому чтобы не нагружать базу данных фактическая проверка
|
2908 |
-
не осуществлялась. Проверяйте наличие записей
|
2909 |
-
|
2910 |
-
|
|
|
2911 |
if ( get_option('permalink_structure') ) {
|
2912 |
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/</a></li>';
|
2913 |
} else {
|
@@ -2916,27 +2924,31 @@ if ( get_option('permalink_structure') ) {
|
|
2916 |
while ($paged <= ceil($ytnumber / $ytrazbnumber) ) {
|
2917 |
|
2918 |
if ( get_option('permalink_structure') ) {
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
-
|
2923 |
$paged++;
|
2924 |
|
2925 |
-
if ($paged ==
|
2926 |
echo '<li>....</li>';
|
2927 |
-
echo '<
|
2928 |
-
|
2929 |
}
|
2930 |
}
|
|
|
|
|
|
|
2931 |
echo '</ul>';
|
2932 |
} else {
|
2933 |
-
echo '<p>Всего у вас 1 RSS-лента ' . ' (в ней '.yturbo_russian_number($ytnumber, array(' запись', ' записи', ' записей')). '):</p>';
|
2934 |
-
echo '<ul>';
|
2935 |
-
if ( get_option('permalink_structure') ) {
|
2936 |
-
|
2937 |
-
} else {
|
2938 |
-
|
2939 |
-
}
|
|
|
2940 |
}
|
2941 |
else :
|
2942 |
|
@@ -2949,7 +2961,8 @@ $query = new WP_Query( $args );
|
|
2949 |
if ($query->post_count < $ytnumber) $ytnumber = $query->post_count;
|
2950 |
|
2951 |
if ($ytrazb == 'enabled' && (ceil($query->post_count / $ytrazbnumber) > 1)) {
|
2952 |
-
echo '<p
|
|
|
2953 |
} else {
|
2954 |
echo '<p>Всего у вас 1 RSS-лента '. ' (в ней '.yturbo_russian_number($ytnumber, array(' запись', ' записи', ' записей')). '):</p>';
|
2955 |
}
|
@@ -2968,11 +2981,14 @@ if ($ytrazb == 'enabled' && (ceil($query->post_count / $ytrazbnumber) > 1)) {
|
|
2968 |
} else {
|
2969 |
echo '<li>'.$x.'. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'&paged='.$x.'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'&paged='.$x.'</a></li>';
|
2970 |
}
|
2971 |
-
|
2972 |
-
|
2973 |
-
|
2974 |
-
|
|
|
2975 |
}
|
|
|
|
|
2976 |
}
|
2977 |
}
|
2978 |
|
@@ -3398,7 +3414,8 @@ function yturbo_strip_shortcodes( $content ) {
|
|
3398 |
global $shortcode_tags;
|
3399 |
$stack = $shortcode_tags;
|
3400 |
|
3401 |
-
$code =
|
|
|
3402 |
|
3403 |
$how_many = count($code);
|
3404 |
for($i = 0; $i < $how_many; $i++){
|
@@ -3550,53 +3567,38 @@ add_filter( 'yturbo_add_contents', 'yturbo_toc' );
|
|
3550 |
|
3551 |
//функция удаления эмоджи begin
|
3552 |
function yturbo_remove_emoji( $text ) {
|
3553 |
-
$clean_text = '';
|
3554 |
-
|
3555 |
-
// Match Emoticons
|
3556 |
-
$clean_text = preg_replace('/[\x{1F600}-\x{1F64F}]/u', '', $text);
|
3557 |
-
|
3558 |
-
// Match Miscellaneous Symbols and Pictographs
|
3559 |
-
$clean_text = preg_replace('/[\x{1F300}-\x{1F5FF}]/u', '', $clean_text);
|
3560 |
-
|
3561 |
-
// Match Transport And Map Symbols
|
3562 |
-
$clean_text = preg_replace('/[\x{1F680}-\x{1F6FF}]/u', '', $clean_text);
|
3563 |
-
|
3564 |
-
// Match Miscellaneous Symbols
|
3565 |
-
$clean_text = preg_replace('/[\x{2600}-\x{26FF}]/u', '', $clean_text);
|
3566 |
|
3567 |
-
|
3568 |
-
$
|
|
|
3569 |
|
3570 |
-
|
3571 |
-
$clean_text = preg_replace('/[\x{1F1E6}-\x{1F1FF}]/u', '', $clean_text);
|
3572 |
-
|
3573 |
-
// Others
|
3574 |
-
$clean_text = preg_replace('/[\x{1F910}-\x{1F95E}]/u', '', $clean_text);
|
3575 |
-
|
3576 |
-
$clean_text = preg_replace('/[\x{1F980}-\x{1F991}]/u', '', $clean_text);
|
3577 |
-
$clean_text = preg_replace('/[\x{1F9C0}]/u', '', $clean_text);
|
3578 |
-
$clean_text = preg_replace('/[\x{1F9F9}]/u', '', $clean_text);
|
3579 |
-
|
3580 |
-
// Unicode
|
3581 |
-
$clean_text = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/u', '', $clean_text);
|
3582 |
-
|
3583 |
-
return $clean_text;
|
3584 |
}
|
3585 |
//функция удаления эмоджи end
|
3586 |
|
3587 |
-
|
3588 |
function yturbo_filter_title_rss( $title ) {
|
3589 |
$yturbo_options = get_option('yturbo_options');
|
3590 |
|
|
|
3591 |
if ( ! is_feed($yturbo_options['ytrssname']) )
|
3592 |
return $title;
|
3593 |
|
|
|
3594 |
$title = yturbo_remove_emoji($title);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3595 |
|
3596 |
return $title;
|
3597 |
}
|
3598 |
add_filter( 'the_title_rss', 'yturbo_filter_title_rss' );
|
3599 |
-
|
3600 |
|
3601 |
//функция обрезки текста по словам begin
|
3602 |
function yturbo_cut_by_words( $maxlen, $text ) {
|
@@ -3622,8 +3624,8 @@ function yturbo_empty_title( $title ) {
|
|
3622 |
//добавляем плагины в визуальный редактор begin
|
3623 |
function yturbo_add_plugins_tinymce( $plugins ) {
|
3624 |
$purl = plugins_url('', __FILE__);
|
3625 |
-
$plugins['yablocks'] = $purl . '/inc/yablocks.js?ver=1.
|
3626 |
-
$plugins['table'] = $purl . '/inc/table.js?ver=1.
|
3627 |
return $plugins;
|
3628 |
}
|
3629 |
add_filter( 'mce_external_plugins', 'yturbo_add_plugins_tinymce' );
|
@@ -3755,4 +3757,36 @@ function yt_title_func( $atts ) {
|
|
3755 |
return get_the_title_rss();
|
3756 |
}
|
3757 |
add_shortcode( 'yt-title', 'yt_title_func' );
|
3758 |
-
//шорткод вывода заголовка записи end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
Plugin Name: RSS for Yandex Turbo
|
4 |
Plugin URI: https://wordpress.org/plugins/rss-for-yandex-turbo/
|
5 |
Description: Создание RSS-ленты для сервиса Яндекс.Турбо.
|
6 |
+
Version: 1.26
|
7 |
Author: Flector
|
8 |
Author URI: https://profiles.wordpress.org/flector#content-plugins
|
9 |
Text Domain: rss-for-yandex-turbo
|
13 |
function yturbo_check_version() {
|
14 |
$yturbo_options = get_option('yturbo_options');
|
15 |
if (!isset($yturbo_options['version'])){$yturbo_options['version']='1.00';update_option('yturbo_options',$yturbo_options);}
|
16 |
+
if ( $yturbo_options['version'] != '1.26' ) {
|
17 |
yturbo_set_new_options();
|
18 |
}
|
19 |
}
|
90 |
if (!isset($yturbo_options['ytfeedbackviber'])) {$yturbo_options['ytfeedbackviber']='';}
|
91 |
if (!isset($yturbo_options['ytfeedbackwhatsapp'])) {$yturbo_options['ytfeedbackwhatsapp']='';}
|
92 |
if (!isset($yturbo_options['ytfeedbacktelegram'])) {$yturbo_options['ytfeedbacktelegram']='';}
|
|
|
|
|
93 |
if (!isset($yturbo_options['ytexcludeshortcodes'])) {$yturbo_options['ytexcludeshortcodes']='disabled';}
|
94 |
+
if (!isset($yturbo_options['ytexcludeshortcodeslist'])) {$yturbo_options['ytexcludeshortcodeslist']='contact-form-7,';}
|
95 |
if (!isset($yturbo_options['yttab'])) {$yturbo_options['yttab']='RSS-лента';}
|
96 |
if (!isset($yturbo_options['ytrating'])) {$yturbo_options['ytrating']='disabled';}
|
97 |
if (!isset($yturbo_options['ytratingmin'])) {$yturbo_options['ytratingmin']='4.70';}
|
124 |
|
125 |
if (!isset($yturbo_options['ytrelateddate'])) {$yturbo_options['ytrelateddate']='12';}
|
126 |
|
127 |
+
$yturbo_options['yttitle'] = esc_html(yturbo_remove_emoji(strip_tags($yturbo_options['yttitle'])));
|
128 |
+
$yturbo_options['ytdescription'] = esc_html(yturbo_remove_emoji(strip_tags($yturbo_options['ytdescription'])));
|
129 |
+
if (!isset($yturbo_options['required'])) {$yturbo_options['required']='1.00';}
|
130 |
|
131 |
+
$yturbo_options['version'] = '1.26';
|
132 |
update_option('yturbo_options', $yturbo_options);
|
133 |
}
|
134 |
//функция установки новых опций при обновлении плагина у пользователей end
|
136 |
//функция установки значений по умолчанию при активации плагина begin
|
137 |
function yturbo_init() {
|
138 |
$yturbo_options = array();
|
139 |
+
$yturbo_options['version'] = '1.26';
|
140 |
$yturbo_options['ytrssname'] = 'turbo';
|
141 |
+
$yturbo_options['yttitle'] = esc_html(yturbo_remove_emoji(strip_tags(get_bloginfo_rss('title'))));
|
142 |
$yturbo_options['ytlink'] = get_bloginfo_rss('url');
|
143 |
+
$yturbo_options['ytdescription'] = esc_html(yturbo_remove_emoji(strip_tags(get_bloginfo_rss('description'))));
|
144 |
$yturbo_options['ytlanguage'] = 'ru';
|
145 |
$yturbo_options['ytnumber'] = '250';
|
146 |
$yturbo_options['yttype'] = 'post';
|
235 |
$yturbo_options['ytfeedbackwhatsapp'] = '';
|
236 |
$yturbo_options['ytfeedbacktelegram'] = '';
|
237 |
|
|
|
|
|
|
|
238 |
$yturbo_options['ytexcludeshortcodes'] = 'disabled';
|
239 |
+
$yturbo_options['ytexcludeshortcodeslist'] = 'contact-form-7,';
|
240 |
$yturbo_options['yttab'] = 'RSS-лента';
|
241 |
|
242 |
$yturbo_options['ytrating'] = 'disabled';
|
264 |
$yturbo_options['ytturbocolumn'] = 'enabled';
|
265 |
$yturbo_options['ytrelateddate'] = '12';
|
266 |
|
267 |
+
$yturbo_options['required']='1.00';
|
268 |
+
|
269 |
add_option('yturbo_options', $yturbo_options);
|
270 |
|
271 |
yturbo_add_feed();
|
324 |
wp_enqueue_script('yturbo-textillate');
|
325 |
wp_register_style('yturbo-animate', $purl . '/inc/animate.min.css');
|
326 |
wp_enqueue_style('yturbo-animate');
|
327 |
+
wp_register_script('yturbo-script', $purl . '/inc/yturbo-script.js', array(), '1.26');
|
328 |
wp_enqueue_script('yturbo-script');
|
329 |
+
wp_register_style('yturbo-css', $purl . '/inc/yturbo-css.css', array(), '1.26');
|
330 |
wp_enqueue_style('yturbo-css');
|
331 |
}
|
332 |
}
|
356 |
$wp_rewrite->flush_rules();
|
357 |
}
|
358 |
|
359 |
+
$yturbo_options['yttitle'] = esc_html(yturbo_remove_emoji(strip_tags($_POST['yttitle'])));
|
360 |
$yturbo_options['ytlink'] = esc_url_raw($_POST['ytlink']);
|
361 |
+
$yturbo_options['ytdescription'] = esc_html(yturbo_remove_emoji(strip_tags($_POST['ytdescription'])));
|
362 |
$yturbo_options['ytlanguage'] = sanitize_text_field($_POST['ytlanguage']);
|
363 |
|
364 |
$ytnumber = sanitize_text_field($_POST['ytnumber']);
|
446 |
if($yturbo_options['ytad5set'] == "РСЯ" && !$yturbo_options['ytad5rsa']) {$yturbo_options['ytad5'] = 'disabled';}
|
447 |
if($yturbo_options['ytad5set'] == "ADFOX" && !$yturbo_options['ytadfox5']) {$yturbo_options['ytad5'] = 'disabled';}
|
448 |
}
|
449 |
+
if ( yturbo_check_ads() == true ) {
|
450 |
+
$yturbo_options['ytad1'] = 'disabled';
|
451 |
+
$yturbo_options['ytad2'] = 'disabled';
|
452 |
+
$yturbo_options['ytad3'] = 'disabled';
|
453 |
+
$yturbo_options['ytad4'] = 'disabled';
|
454 |
+
$yturbo_options['ytad5'] = 'disabled';
|
455 |
+
}
|
456 |
|
457 |
if(isset($_POST['ytrelated'])){$yturbo_options['ytrelated'] = sanitize_text_field($_POST['ytrelated']);}else{$yturbo_options['ytrelated'] = 'disabled';}
|
458 |
$ytrelatednumber = sanitize_text_field($_POST['ytrelatednumber']);
|
521 |
$yturbo_options['ytfeedbackwhatsapp'] = sanitize_text_field($_POST['ytfeedbackwhatsapp']);
|
522 |
$yturbo_options['ytfeedbacktelegram'] = sanitize_text_field($_POST['ytfeedbacktelegram']);
|
523 |
|
|
|
|
|
|
|
524 |
if(isset($_POST['ytexcludeshortcodes'])){$yturbo_options['ytexcludeshortcodes'] = sanitize_text_field($_POST['ytexcludeshortcodes']);}else{$yturbo_options['ytexcludeshortcodes'] = 'disabled';}
|
525 |
+
$yturbo_options['ytexcludeshortcodeslist'] = '';
|
526 |
+
$checkboxes = isset($_POST['shortcodes']) ? $_POST['shortcodes'] : array();
|
527 |
+
foreach($checkboxes as $value) {$yturbo_options['ytexcludeshortcodeslist'] .= $value . ',';}
|
528 |
|
529 |
$types = explode(",", $yturbo_options['yttype']);
|
530 |
$types = array_diff($types, array(''));
|
547 |
$yturbo_options['ytsearchmesto'] = sanitize_text_field($_POST['ytsearchmesto']);
|
548 |
|
549 |
if(isset($_POST['yttoc'])){$yturbo_options['yttoc'] = sanitize_text_field($_POST['yttoc']);}else{$yturbo_options['yttoc'] = 'disabled';}
|
550 |
+
$yturbo_options['yttype2'] = '';
|
551 |
$checkboxes = isset($_POST['types2']) ? $_POST['types2'] : array();
|
552 |
foreach($checkboxes as $value) {$yturbo_options['yttype2'] .= $value . ',';}
|
553 |
$yturbo_options['yttype2'] = sanitize_text_field($yturbo_options['yttype2']);
|
636 |
</ul>
|
637 |
|
638 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='RSS-лента'){echo ' active';} ?>"><!-- begin tab -->
|
|
|
639 |
|
640 |
<?php yturbo_count_feeds(); ?>
|
641 |
|
642 |
+
<?php if ( get_option('permalink_structure') ) {
|
643 |
$kor = get_bloginfo('url') .'/feed/' . '<strong>' . $yturbo_options['ytrssname'] . '</strong>/';
|
644 |
+
} else {
|
645 |
$kor = get_bloginfo('url') .'/?feed=' . '<strong>' . $yturbo_options['ytrssname']. '</strong>';
|
646 |
+
} ?>
|
647 |
|
648 |
+
<table class="form-table">
|
649 |
<tr class="trbordertop">
|
650 |
<th><?php _e('Имя RSS-ленты:', 'rss-for-yandex-turbo'); ?></th>
|
651 |
<td>
|
689 |
<th><?php _e('Количество записей:', 'rss-for-yandex-turbo'); ?></th>
|
690 |
<td>
|
691 |
<input style="max-width: 74px;" name="ytnumber" type="number" min="1" max="999999" step="1" value="<?php echo $yturbo_options['ytnumber']; ?>" />
|
692 |
+
<br /><small><?php _e('Общее количество записей в RSS-ленте (обязательно прочтите про <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/quota-docpage/">ограничения</a> Яндекса).', 'rss-for-yandex-turbo'); ?> <br />
|
693 |
+
<?php _e('При установке более 1000 записей необходимо включить разбитие RSS-ленты в обязательном порядке.', 'rss-for-yandex-turbo'); ?> <br />
|
694 |
</small>
|
695 |
</td>
|
696 |
</tr>
|
699 |
<td>
|
700 |
<label for="ytrazb"><input type="checkbox" value="enabled" name="ytrazb" id="ytrazb" <?php if ($yturbo_options['ytrazb'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить разбитие RSS-ленты', 'rss-for-yandex-turbo'); ?></label>
|
701 |
<br /><small><?php _e('Плагин будет генерировать несколько RSS-лент с указанным числом записей в каждой.', 'rss-for-yandex-turbo'); ?> <br />
|
702 |
+
<?php _e('Включите эту опцию, если RSS-лента слишком долго генерируется или если она превышает <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/quota-docpage/">ограничения</a>, установленные Яндексом.', 'rss-for-yandex-turbo'); ?><br />
|
703 |
+
<?php _e('Яндекс может очень сильно нагружать ваш сервер - разбитие ленты и использование плагинов кэширования будет в этом случае весьма полезно.', 'rss-for-yandex-turbo'); ?> <br />
|
|
|
|
|
|
|
|
|
|
|
704 |
</small>
|
705 |
</td>
|
706 |
</tr>
|
707 |
<tr class="ytrazbnumbertr" <?php if ($yturbo_options['ytrazb'] == 'disabled') echo 'style="display:none;"'; ?>>
|
708 |
<th><?php _e('Делить RSS-ленту по:', 'rss-for-yandex-turbo'); ?></th>
|
709 |
<td>
|
710 |
+
<input style="max-width: 60px;" name="ytrazbnumber" type="number" min="1" max="1000" step="1" value="<?php echo $yturbo_options['ytrazbnumber']; ?>" />
|
711 |
<br /><small><?php _e('Укажите число записей, по которому лента будет делиться.', 'rss-for-yandex-turbo'); ?><br />
|
712 |
<?php _e('Для получения ссылок на ваши RSS-ленты сохраните настройки плагина.', 'rss-for-yandex-turbo'); ?><br />
|
713 |
<?php _e('Важно: разбитие не будет работать, если на вашем сайте нет необходимого числа записей.', 'rss-for-yandex-turbo'); ?> <br />
|
750 |
</div><!-- end tab -->
|
751 |
|
752 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Оформление'){echo ' active';} ?>"><!-- begin tab -->
|
|
|
753 |
|
754 |
+
<p><?php _e('В этом разделе собраны настройки, касающиеся оформления контента на турбо-страницах.', 'rss-for-yandex-turbo'); ?><br />
|
755 |
+
<?php _e('Отключите вывод миниатюр, если они не выводятся в вашей теме на страницах одиночных записей,', 'rss-for-yandex-turbo'); ?><br />
|
756 |
+
<?php _e('так как Яндексу не нравится, когда турбо-страница не соответствует оригинальной версии.', 'rss-for-yandex-turbo'); ?><br />
|
757 |
+
</p>
|
758 |
|
759 |
+
<table class="form-table">
|
760 |
<tr class="trbordertop">
|
761 |
<th class="tdcheckbox"><?php _e('Дата записей:', 'rss-for-yandex-turbo'); ?></th>
|
762 |
<td>
|
786 |
</small>
|
787 |
</td>
|
788 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
789 |
<tr class="ytthumbnailtr trbordertop">
|
790 |
<th class="tdcheckbox"><?php _e('Миниатюра в RSS:', 'rss-for-yandex-turbo'); ?></th>
|
791 |
<td>
|
803 |
<option value="<?php echo $size_name ?>" <?php if ($yturbo_options['ytselectthumb'] == $size_name) echo 'selected="selected"'; ?>><?php echo $size_name ?></option>
|
804 |
<?php endforeach; ?>
|
805 |
</select>
|
806 |
+
<br /><small><?php _e('Выберите нужный размер миниатюры (в списке находятся все зарегистрированные на сайте размеры миниатюр).', 'rss-for-yandex-turbo'); ?><br />
|
807 |
+
<?php _e('Необходимо выбрать именно тот размер, который используется вашей темой для вывода "Изображения записи".', 'rss-for-yandex-turbo'); ?><br />
|
808 |
+
</small>
|
809 |
</td>
|
810 |
</tr>
|
811 |
<tr class="trbordertop">
|
925 |
</div><!-- end tab -->
|
926 |
|
927 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Блоки Яндекс.Турбо'){echo ' active';} ?>"><!-- begin tab -->
|
|
|
928 |
|
929 |
+
<p><?php _e('Часть этих блоков вы можете настроить напрямую в Яндекс.Вебмастере.', 'rss-for-yandex-turbo'); ?><br />
|
930 |
+
<?php _e('Указать логотип сайта можно только через Яндекс.Вебмастер.', 'rss-for-yandex-turbo'); ?><br />
|
931 |
+
</p>
|
932 |
|
933 |
+
<table class="form-table">
|
934 |
<tr class="ytselectmenutr trbordertop">
|
935 |
<th><?php _e('Меню:', 'rss-for-yandex-turbo'); ?></th>
|
936 |
<td>
|
943 |
</select>
|
944 |
<?php $menulink = get_bloginfo('url') .'/wp-admin/nav-menus.php'; ?>
|
945 |
<br /><small><?php _e('Выберите меню для использования на турбо-страницах (создать меню можно на вкладке ', 'rss-for-yandex-turbo'); ?> "<a target="_blank" href="<?php echo $menulink; ?>"><?php _e('Внешний вид \ Меню', 'rss-for-yandex-turbo'); ?></a>").<br />
|
946 |
+
<?php _e('Меню должно быть ограничено <strong>10</strong> ссылками без иерархии (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/header-docpage/#menu">здесь</a>).', 'rss-for-yandex-turbo'); ?><br />
|
947 |
+
<?php _e('Через Яндекс.Вебмастер можно установить меню без ограничений и с иерархией.', 'rss-for-yandex-turbo'); ?><br />
|
948 |
</small>
|
949 |
</td>
|
950 |
</tr>
|
952 |
<th class="tdcheckbox"><?php _e('Блок "Поделиться":', 'rss-for-yandex-turbo'); ?></th>
|
953 |
<td>
|
954 |
<label for="ytshare"><input type="checkbox" value="enabled" name="ytshare" id="ytshare" <?php if ($yturbo_options['ytshare'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить блок "Поделиться" на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
955 |
+
<br /><small><?php _e('Этот блок будет добавлен в конце записи (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/share-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?>
|
956 |
</small>
|
957 |
</td>
|
958 |
</tr>
|
1005 |
<th class="tdcheckbox"><?php _e('Блок обратной связи:', 'rss-for-yandex-turbo'); ?></th>
|
1006 |
<td>
|
1007 |
<label for="ytfeedback"><input type="checkbox" value="enabled" name="ytfeedback" id="ytfeedback" <?php if ($yturbo_options['ytfeedback'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить блок обратной связи на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
1008 |
+
<br /><small><?php _e('На турбо-страницы будет добавлен блок обратной связи в выбранном вами месте (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/feedback-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?>
|
1009 |
</small>
|
1010 |
</td>
|
1011 |
</tr>
|
1239 |
<th class="tdcheckbox"><?php _e('Комментарии:', 'rss-for-yandex-turbo'); ?></th>
|
1240 |
<td>
|
1241 |
<label for="ytcomments"><input type="checkbox" value="enabled" name="ytcomments" id="ytcomments" <?php if ($yturbo_options['ytcomments'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить комментарии к турбо-страницам', 'rss-for-yandex-turbo'); ?></label>
|
1242 |
+
<br /><small><?php _e('К записям на турбо-страницах будут добавлены комментарии (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/comments-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?>
|
1243 |
</small>
|
1244 |
</td>
|
1245 |
</tr>
|
1295 |
<th class="tdcheckbox"><?php _e('Похожие записи:', 'rss-for-yandex-turbo'); ?></th>
|
1296 |
<td>
|
1297 |
<label for="ytrelated"><input type="checkbox" value="enabled" name="ytrelated" id="ytrelated" <?php if ($yturbo_options['ytrelated'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить блок похожих записей на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
1298 |
+
<br /><small><?php _e('На турбо-страницы будет добавлен блок похожих записей (в конце страницы).', 'rss-for-yandex-turbo'); ?></small>
|
1299 |
</td>
|
1300 |
</tr>
|
1301 |
<tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1341 |
<th class="tdcheckbox"><?php _e('Непрерывная лента статей:', 'rss-for-yandex-turbo'); ?></th>
|
1342 |
<td>
|
1343 |
<label for="ytrelatedinfinity"><input type="checkbox" value="enabled" name="ytrelatedinfinity" id="ytrelatedinfinity" <?php if ($yturbo_options['ytrelatedinfinity'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить непрерывную ленту статей', 'rss-for-yandex-turbo'); ?></label>
|
1344 |
+
<br /><small><?php _e('Вместо обычного короткого списка похожих статей будет выводиться непрерывная лента из полных записей (пример смотреть <a target="_blank" href="https://yandex.ru/turbo?text=promo-infinite">здесь</a>).', 'rss-for-yandex-turbo'); ?><br />
|
1345 |
<?php _e('При включении непрерывной ленты статей вывод миниатюр для похожих записей будет отключен.', 'rss-for-yandex-turbo'); ?><br />
|
1346 |
</small>
|
1347 |
</td>
|
1365 |
<th class="tdcheckbox"><?php _e('Рейтинг:', 'rss-for-yandex-turbo'); ?></th>
|
1366 |
<td>
|
1367 |
<label for="ytrating"><input type="checkbox" value="enabled" name="ytrating" id="ytrating" <?php if ($yturbo_options['ytrating'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить рейтинг на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
1368 |
+
<br /><small><?php _e('На турбо-страницы будет добавлен блок рейтинга (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/rating-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?></small>
|
1369 |
</td>
|
1370 |
</tr>
|
1371 |
<tr class="ytratingchildtr" <?php if ($yturbo_options['ytrating'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1382 |
<th class="tdcheckbox"><?php _e('Поиск:', 'rss-for-yandex-turbo'); ?></th>
|
1383 |
<td>
|
1384 |
<label for="ytsearch"><input type="checkbox" value="enabled" name="ytsearch" id="ytsearch" <?php if ($yturbo_options['ytsearch'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить поиск на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
1385 |
+
<br /><small><?php _e('На турбо-страницы будет добавлен блок поиска (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/search-block-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?><br />
|
1386 |
<?php _e('На данный момент поиск не будет работать, если ваш сайт работает не на https протоколе.', 'rss-for-yandex-turbo'); ?>
|
1387 |
</small>
|
1388 |
</td>
|
1417 |
</div><!-- end tab -->
|
1418 |
|
1419 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Счетчики'){echo ' active';} ?>"><!-- begin tab -->
|
|
|
1420 |
|
1421 |
+
<p><?php _e('Укажите идентификаторы нужных вам счетчиков (<a target="_blank" href="https://yandex.ru/dev/turbo/doc/settings/find-counter-id-docpage/">как узнать идентификатор счетчика</a>).<br />В ленте будут использованы <strong>все</strong> указанные вами счетчики.', 'rss-for-yandex-turbo'); ?></p>
|
1422 |
|
1423 |
+
<table class="form-table">
|
1424 |
<tr class="trbordertop">
|
1425 |
<th><?php _e('Яндекс.Метрика:', 'rss-for-yandex-turbo'); ?></th>
|
1426 |
<td>
|
1476 |
</div><!-- end tab -->
|
1477 |
|
1478 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Реклама'){echo ' active';} ?>"><!-- begin tab -->
|
|
|
1479 |
|
1480 |
+
<?php if ( yturbo_check_ads() == true ) echo '<div style="display:none;">'; ?>
|
1481 |
+
<p><?php _e('Реклама, установленная в Яндекс.Вебмастере, распределяется равномерно по тексту страницы (примерно каждые 2-3 экрана).', 'rss-for-yandex-turbo'); ?><br />
|
1482 |
+
<?php _e('Если у вас большие по размеру контента статьи, то имеет смысл использовать равномерное распределение рекламы от Яндекса.', 'rss-for-yandex-turbo'); ?><br />
|
1483 |
+
<?php _e('В противном же случае, рекламные блоки лучше установить через плагин (будет выведено минимум 3 рекламных блока).', 'rss-for-yandex-turbo'); ?><br />
|
1484 |
+
<?php _e('При проблемах с настройкой рекламной сети ADFOX ознакомьтесь со справочными материалами: <a target="_blank" href="https://sites.help.adfox.ru/page/225">статья</a>, <a target="_blank" href="https://webmaster.yandex.ru/blog/videourok-kak-razmeschat-reklamu-na-turbo-stranitsakh-cherez-adfox">видеоурок</a>.', 'rss-for-yandex-turbo'); ?><br />
|
1485 |
+
</p>
|
1486 |
|
1487 |
+
<table class="form-table">
|
1488 |
<tr class="myturbo trbordertop">
|
1489 |
<th class="tdcheckbox"><?php _e('Блок рекламы #1:', 'rss-for-yandex-turbo'); ?></th>
|
1490 |
<td>
|
1662 |
</tr>
|
1663 |
|
1664 |
</table>
|
1665 |
+
<?php if ( yturbo_check_ads() == true ) echo '</div>'; ?>
|
1666 |
+
<?php if ( yturbo_check_ads() == true ) : ?>
|
1667 |
+
<div class="alert alert-success">
|
1668 |
+
<?php $turboadslink = get_bloginfo('url') .'/wp-admin/options-general.php?page=wpcase-turbo-ads.php'; ?>
|
1669 |
+
<p><?php _e( 'Настроить рекламу вы можете на странице', 'rss-for-yandex-turbo' ); ?> <a target="_blank" href="<?php echo $turboadslink; ?>"><?php _e( 'настроек', 'rss-for-yandex-turbo' ); ?></a> <?php _e('плагина "<strong>WPCase: Turbo Ads</strong>".', 'rss-for-yandex-turbo'); ?></p>
|
1670 |
+
</div>
|
1671 |
+
<?php endif; ?>
|
1672 |
</div><!-- end tab -->
|
1673 |
|
1674 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Типы записей и исключения'){echo ' active';} ?>"><!-- begin tab -->
|
|
|
1675 |
|
1676 |
+
<p><?php _e('Если у вас магазин на WordPress, то не включайте тип "Товары", а используйте <a target="_blank" href="https://webmaster.yandex.ru/blog/internet-magaziny-v-turbo">плагин генерации YML</a>.', 'rss-for-yandex-turbo'); ?><br />
|
1677 |
+
<?php _e('Будьте внимательны при настройке таксономий для включения или исключения из RSS-ленты.', 'rss-for-yandex-turbo'); ?><br />
|
1678 |
+
</p>
|
1679 |
|
1680 |
+
<table class="form-table">
|
1681 |
<tr class="trbordertop">
|
1682 |
<th class="tdcheckbox"><?php _e('Типы записей:', 'rss-for-yandex-turbo'); ?></th>
|
1683 |
<td>
|
1830 |
'toolbar1' => 'undo,redo,formatselect,bold,italic,underline,strikethrough,superscript,subscript,hr,blockquote,link,unlink,bullist,numlist,table,yablocks,',
|
1831 |
'toolbar2' => '',
|
1832 |
'toolbar3' => '',
|
1833 |
+
'content_css' => $purl . '/inc/editor.css?ver=1.26'
|
1834 |
),
|
1835 |
'quicktags' => array(
|
1836 |
'id' => $editor_id,
|
1857 |
</div><!-- end tab -->
|
1858 |
|
1859 |
<div class="xyztabs__content<?php if($yturbo_options['yttab']=='Фильтры'){echo ' active';} ?>"><!-- begin tab -->
|
|
|
1860 |
|
1861 |
<p><?php _e('В данной секции находятся продвинутые настройки. <br />Пожалуйста, будьте внимательны в этом разделе!', 'rss-for-yandex-turbo'); ?> </p>
|
1862 |
|
1863 |
+
<table class="form-table">
|
1864 |
<tr class="ytexcludeshortcodestr trbordertop">
|
1865 |
<th class="tdcheckbox"><?php _e('Фильтр шорткодов:', 'rss-for-yandex-turbo'); ?></th>
|
1866 |
<td>
|
1869 |
</td>
|
1870 |
</tr>
|
1871 |
<tr class="ytexcludeshortcodeslisttr" <?php if ($yturbo_options['ytexcludeshortcodes'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1872 |
+
<th style="padding-top: 5px!important;"><?php _e('Шорткоды для удаления:', 'rss-for-yandex-turbo'); ?></th>
|
1873 |
+
<td style="padding-top: 5px!important;">
|
1874 |
+
<?php
|
1875 |
+
$shortcodes = $GLOBALS['shortcode_tags'];
|
1876 |
+
$exclude = array('wp_caption','caption','gallery','playlist','audio','video','embed','yt-permalink','yt-title');
|
1877 |
+
$result = array();
|
1878 |
+
|
1879 |
+
foreach ($shortcodes as $key => $value) {
|
1880 |
+
if ( ! in_array( $key, $exclude ) ) {
|
1881 |
+
$result[] = $key;
|
1882 |
+
}
|
1883 |
+
}
|
1884 |
+
|
1885 |
+
$ytshortcodes = explode(",", $yturbo_options['ytexcludeshortcodeslist']);
|
1886 |
+
$ytshortcodes = array_diff($ytshortcodes, array(''));
|
1887 |
+
|
1888 |
+
foreach ( $result as $shortcode ) { ?>
|
1889 |
+
<label class="shortcodes" for="<?php echo $shortcode; ?>"><input type="checkbox" value="<?php echo $shortcode; ?>" name="shortcodes[]" id="<?php echo $shortcode; ?>" <?php if (in_array($shortcode, $ytshortcodes)) echo 'checked="checked"'; ?> />[<?php echo $shortcode; ?>]</label>
|
1890 |
+
<?php } ?>
|
1891 |
+
<small><?php _e('В списке находятся все зарегистрированные на сайте шорткоды, кроме системных.', 'rss-for-yandex-turbo'); ?><br />
|
1892 |
</small>
|
1893 |
</td>
|
1894 |
</tr>
|
2005 |
$yttype = $yturbo_options['yttype'];
|
2006 |
$yttype = explode(",", $yttype);
|
2007 |
$yttype = array_diff($yttype, array(''));
|
2008 |
+
|
2009 |
+
$ytqueryselect = $yturbo_options['ytqueryselect'];
|
2010 |
+
$yttaxlist = $yturbo_options['yttaxlist'];
|
2011 |
+
$ytaddtaxlist = $yturbo_options['ytaddtaxlist'];
|
2012 |
+
|
2013 |
+
if (!$yttaxlist) {$yttaxlist = 'category:10000000';}
|
2014 |
+
if ($ytqueryselect=='Все таксономии, кроме исключенных' && $yttaxlist) {
|
2015 |
+
$textAr = explode("\n", trim($yttaxlist));
|
2016 |
+
$textAr = array_filter($textAr, 'trim');
|
2017 |
+
add_meta_box('yturbo_meta_box', 'Яндекс.Турбо', 'yturbo_callback', $yttype, 'normal' , 'high');
|
2018 |
+
foreach ($textAr as $line) {
|
2019 |
+
$tax = explode(":", $line);
|
2020 |
+
$taxterm = explode(",", $tax[1]);
|
2021 |
+
$taxterm = array_map('intval', $taxterm);
|
2022 |
+
if ( has_term($taxterm, $tax[0]) ) {
|
2023 |
+
remove_meta_box('yturbo_meta_box', $yttype, 'normal' );
|
2024 |
+
break;
|
2025 |
+
}
|
2026 |
+
}
|
2027 |
+
}
|
2028 |
+
if (!$ytaddtaxlist) {$ytaddtaxlist = 'category:10000000';}
|
2029 |
+
if ($ytqueryselect=='Только указанные таксономии' && $ytaddtaxlist) {
|
2030 |
+
$textAr = explode("\n", trim($ytaddtaxlist));
|
2031 |
+
$textAr = array_filter($textAr, 'trim');
|
2032 |
+
foreach ($textAr as $line) {
|
2033 |
+
$tax = explode(":", $line);
|
2034 |
+
$taxterm = explode(",", $tax[1]);
|
2035 |
+
$taxterm = array_map('intval', $taxterm);
|
2036 |
+
if ( has_term($taxterm, $tax[0]) ) {
|
2037 |
+
add_meta_box('yturbo_meta_box', 'Яндекс.Турбо', 'yturbo_callback', $yttype, 'normal' , 'high');
|
2038 |
+
break;
|
2039 |
+
}
|
2040 |
+
}
|
2041 |
+
}
|
2042 |
}
|
2043 |
add_action( 'add_meta_boxes', 'yturbo_meta_box' );
|
2044 |
//создаем метабокс end
|
2241 |
'toolbar1' => 'undo,redo,formatselect,bold,italic,underline,strikethrough,superscript,subscript,hr,blockquote,link,unlink,bullist,numlist,table,yablocks,',
|
2242 |
'toolbar2' => '',
|
2243 |
'toolbar3' => '',
|
2244 |
+
'content_css' => $purl . '/inc/editor.css?ver=1.26'
|
2245 |
),
|
2246 |
'quicktags' => array(
|
2247 |
'id' => 'customtemplate',
|
2294 |
$ytthumbnail = $yturbo_options['ytthumbnail'];
|
2295 |
$ytselectthumb = $yturbo_options['ytselectthumb'];
|
2296 |
|
2297 |
+
if ( yturbo_check_ads() == true ) {
|
2298 |
+
$yturbo_options['ytad1'] = 'disabled';
|
2299 |
+
$yturbo_options['ytad2'] = 'disabled';
|
2300 |
+
$yturbo_options['ytad3'] = 'disabled';
|
2301 |
+
$yturbo_options['ytad4'] = 'disabled';
|
2302 |
+
$yturbo_options['ytad5'] = 'disabled';
|
2303 |
+
update_option('yturbo_options', $yturbo_options);
|
2304 |
+
}
|
2305 |
$ytad1 = $yturbo_options['ytad1'];
|
2306 |
$ytad1set = $yturbo_options['ytad1set'];
|
2307 |
$ytad1rsa = $yturbo_options['ytad1rsa'];
|
2369 |
$ytcommentsdrevo = 1;
|
2370 |
}
|
2371 |
$ytpostdate = $yturbo_options['ytpostdate'];
|
|
|
|
|
2372 |
|
2373 |
$ytrating = $yturbo_options['ytrating'];
|
2374 |
$ytratingmin = $yturbo_options['ytratingmin'];
|
2442 |
version="2.0">
|
2443 |
<channel>
|
2444 |
<turbo:cms_plugin>C125AEEC6018B4A0EF9BF40E6615DD17</turbo:cms_plugin>
|
2445 |
+
<title><?php echo stripslashes($yttitle); ?></title>
|
2446 |
<link><?php echo esc_html($ytlink); ?></link>
|
2447 |
+
<description><?php echo stripslashes($ytdescription); ?></description>
|
2448 |
<?php if ($ytmetrika) { ?><turbo:analytics id="<?php echo $ytmetrika; ?>" type="Yandex"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2449 |
<?php if ($ytliveinternet) { ?><turbo:analytics type="LiveInternet"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2450 |
<?php if ($ytgoogle) { ?><turbo:analytics id="<?php echo $ytgoogle; ?>" type="Google"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2453 |
<?php if ($ytmediascope) { ?><turbo:analytics id="<?php echo $ytmediascope; ?>" type="Mediascope"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2454 |
<?php do_action( 'yturbo_ads_header' ); echo yturbo_turbo_ads(); ?>
|
2455 |
<language><?php echo $ytlanguage; ?></language>
|
2456 |
+
<generator>RSS for Yandex Turbo v1.26 (https://wordpress.org/plugins/rss-for-yandex-turbo/)</generator>
|
2457 |
+
<?php do_action( 'yturbo_generator' ); ?>
|
2458 |
<?php while($query->have_posts()) : $query->the_post(); ?>
|
2459 |
<?php $ytremove = get_post_meta(get_the_ID(), 'ytremove_meta_value', true); ?>
|
2460 |
<?php if ($ytremoveturbo != 'enabled' && $ytremove != 'yes') { ?>
|
2462 |
<?php } else { ?>
|
2463 |
<item turbo="false">
|
2464 |
<?php } ?>
|
2465 |
+
<title><?php echo get_the_title_rss(); ?></title>
|
2466 |
<link><?php the_permalink_rss(); ?></link>
|
2467 |
+
<turbo:topic><?php echo get_the_title_rss(); ?></turbo:topic>
|
2468 |
<turbo:source><?php the_permalink_rss(); ?></turbo:source>
|
2469 |
+
<?php if ($ytpostdate == 'enabled') : ?>
|
2470 |
<?php $gmt_offset = get_option('gmt_offset');
|
2471 |
$gmt_offset_abs = floor(abs($gmt_offset));
|
2472 |
$gmt_offset_str = ($gmt_offset_abs > 9) ? $gmt_offset_abs.'00' : ('0'.$gmt_offset_abs.'00');
|
2477 |
<?php if ($yturbo_options['ytdateformat'] == 'mod') { ?>
|
2478 |
<pubDate><?php echo mysql2date('D, d M Y H:i:s '.$gmt_offset_str, get_date_from_gmt(get_post_modified_time('Y-m-d H:i:s', true)), false); ?></pubDate>
|
2479 |
<?php } ?>
|
2480 |
+
<?php endif; ?>
|
2481 |
<?php if ($ytauthorselect != 'Отключить указание автора') { ?>
|
2482 |
<?php if ($ytauthor && $ytauthorselect != 'Автор записи') {
|
2483 |
echo '<author>'.$ytauthor.'</author>'.PHP_EOL;
|
2590 |
$replacement = '<figure><video><source src="$3.mp4" type="video/mp4" /></video><img src="'.$purl.'/img/video.png'.'" /></figure>';
|
2591 |
$content = preg_replace($pattern, $replacement, $content);
|
2592 |
|
2593 |
+
//формируем audio для mp3 файлов (гутенберг)
|
2594 |
+
$pattern = "/<audio(.*?)src=\"(.*?).mp3\"><\/audio>/i";
|
2595 |
+
$replacement = '<div data-block="audio" src="$2.mp3"></div>';
|
2596 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2597 |
+
|
2598 |
+
//формируем audio для mp3 файлов (классический редактор)
|
2599 |
+
$content = str_replace('<!--[if lt IE 9]><script>document.createElement(\'audio\');</script><![endif]-->', '', $content);
|
2600 |
+
$pattern = "/<audio class=\"wp-audio-shortcode\"(.*?)><source(.*?)src=\"(.*?).mp3(.*?)\"(.*?)\/>(.*?)<\/audio>/i";
|
2601 |
+
$replacement = '<div data-block="audio" src="$3.mp3"></div>';
|
2602 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2603 |
+
|
2604 |
//удаляем картинки из контента, если их больше 50 уникальных (ограничение яндекс.турбо)
|
2605 |
if (preg_match_all("/<figure><img(.*?)>(.*?)<\/figure>/i", $content, $res)) {
|
2606 |
$i = 0;
|
2637 |
?>
|
2638 |
<header>
|
2639 |
<?php if ( $ytthumbnail=='enabled' && has_post_thumbnail(get_the_ID()) ) {
|
2640 |
+
echo '<figure><img src="'. strtok(get_the_post_thumbnail_url(get_the_ID(),$ytselectthumb), '?') .'" /></figure>'.PHP_EOL; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2641 |
<?php } ?>
|
2642 |
+
<h1><?php echo get_the_title_rss(); ?></h1>
|
2643 |
<?php if ($ytselectmenu!='Не использовать') {
|
2644 |
echo '<menu>'.PHP_EOL;
|
2645 |
$menu = wp_get_nav_menu_object( $ytselectmenu );
|
2911 |
if ($ytrazb == 'enabled') {
|
2912 |
$paged = 2;
|
2913 |
echo '<p>Вы установили слишком большое общее количество записей в RSS (больше 500 записей), <br />
|
2914 |
+
поэтому чтобы не нагружать базу данных фактическая проверка наличия записей в разбитых <br />
|
2915 |
+
RSS-лентах не осуществлялась. Проверяйте наличие записей самостоятельно (пустые <br />
|
2916 |
+
RSS-ленты сервис Яндекс.Вебмастер откажется принимать и выдаст ошибку).</p>
|
2917 |
+
<p>Всего у вас ' . yturbo_russian_number(ceil($ytnumber / $ytrazbnumber), array(' RSS-лента', ' RSS-ленты', ' RSS-лент')) . ' (максимально по '.yturbo_russian_number($ytrazbnumber, array(' запись', ' записи', ' записей')). ' в каждой):</p>';
|
2918 |
+
echo '<ul style="margin-bottom: 25px;">';
|
2919 |
if ( get_option('permalink_structure') ) {
|
2920 |
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/</a></li>';
|
2921 |
} else {
|
2924 |
while ($paged <= ceil($ytnumber / $ytrazbnumber) ) {
|
2925 |
|
2926 |
if ( get_option('permalink_structure') ) {
|
2927 |
+
echo '<li>'.$paged.'. <a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/?paged='.$paged.'">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/?paged='.$paged.'</a></li>';
|
2928 |
+
} else {
|
2929 |
+
echo '<li>'.$paged.'. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'&paged='.$x.'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'&paged='.$paged.'</a></li>';
|
2930 |
+
}
|
2931 |
$paged++;
|
2932 |
|
2933 |
+
if ($paged == 10 && (ceil($ytnumber / $ytrazbnumber))>10) {
|
2934 |
echo '<li>....</li>';
|
2935 |
+
echo '<li>Слишком много RSS-лент, остальные ленты были скрыты (<span id="showlistrss">показать</span>).</li>';
|
2936 |
+
echo '<div id="allrss" style="display:none;">';
|
2937 |
}
|
2938 |
}
|
2939 |
+
if ($paged >= 10 && (ceil($ytnumber / $ytrazbnumber))>10) {
|
2940 |
+
echo '</div>';
|
2941 |
+
}
|
2942 |
echo '</ul>';
|
2943 |
} else {
|
2944 |
+
echo '<p>Всего у вас 1 RSS-лента ' . ' (в ней максимально может быть '.yturbo_russian_number($ytnumber, array(' запись', ' записи', ' записей')). '):</p>';
|
2945 |
+
echo '<ul style="margin-bottom: 25px;">';
|
2946 |
+
if ( get_option('permalink_structure') ) {
|
2947 |
+
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/</a></li>';
|
2948 |
+
} else {
|
2949 |
+
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'</a></li>';
|
2950 |
+
}
|
2951 |
+
echo '</ul>';
|
2952 |
}
|
2953 |
else :
|
2954 |
|
2961 |
if ($query->post_count < $ytnumber) $ytnumber = $query->post_count;
|
2962 |
|
2963 |
if ($ytrazb == 'enabled' && (ceil($query->post_count / $ytrazbnumber) > 1)) {
|
2964 |
+
echo '<p>Согласно настройкам плагина в RSS попадут ' . yturbo_russian_number($query->post_count, array(' запись', ' записи', ' записей')) . ' (максимально: '.$yturbo_options['ytnumber'].').<br/>';
|
2965 |
+
echo 'Эти ' . yturbo_russian_number($query->post_count, array(' запись', ' записи', ' записей')) . ' распределены по ' . yturbo_russian_number(ceil($query->post_count / $ytrazbnumber), array(' RSS-ленте', ' RSS-лентам', ' RSS-лентам')) . ' (разбитие по '. yturbo_russian_number($ytrazbnumber, array(' записи', ' записям', ' записям')) .'):</p>';
|
2966 |
} else {
|
2967 |
echo '<p>Всего у вас 1 RSS-лента '. ' (в ней '.yturbo_russian_number($ytnumber, array(' запись', ' записи', ' записей')). '):</p>';
|
2968 |
}
|
2981 |
} else {
|
2982 |
echo '<li>'.$x.'. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'&paged='.$x.'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'&paged='.$x.'</a></li>';
|
2983 |
}
|
2984 |
+
if ($x == 9 && (ceil($query->post_count / $ytrazbnumber))>9) {
|
2985 |
+
echo '<li>....</li>';
|
2986 |
+
echo '<li>Слишком много RSS-лент, остальные ленты были скрыты (<span id="showlistrss">показать</span>).</li>';
|
2987 |
+
echo '<div id="allrss" style="display:none;">';
|
2988 |
+
}
|
2989 |
}
|
2990 |
+
if (ceil($query->post_count / $ytrazbnumber)>9) {
|
2991 |
+
echo '</div>';
|
2992 |
}
|
2993 |
}
|
2994 |
|
3414 |
global $shortcode_tags;
|
3415 |
$stack = $shortcode_tags;
|
3416 |
|
3417 |
+
$code = explode(",", $yturbo_options['ytexcludeshortcodeslist']);
|
3418 |
+
$code = array_diff($code, array(''));
|
3419 |
|
3420 |
$how_many = count($code);
|
3421 |
for($i = 0; $i < $how_many; $i++){
|
3567 |
|
3568 |
//функция удаления эмоджи begin
|
3569 |
function yturbo_remove_emoji( $text ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3570 |
|
3571 |
+
$text = preg_replace('/[^\pL\pM[:ascii:]]+/u', '', $text);
|
3572 |
+
$text = str_replace(' ', ' ', $text);
|
3573 |
+
$text = trim($text);
|
3574 |
|
3575 |
+
return $text;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3576 |
}
|
3577 |
//функция удаления эмоджи end
|
3578 |
|
3579 |
+
//приводим заголовки записей в соответствие с требованиями яндекса begin
|
3580 |
function yturbo_filter_title_rss( $title ) {
|
3581 |
$yturbo_options = get_option('yturbo_options');
|
3582 |
|
3583 |
+
//если это не лента плагина возвращаем оригинальный заголовок
|
3584 |
if ( ! is_feed($yturbo_options['ytrssname']) )
|
3585 |
return $title;
|
3586 |
|
3587 |
+
//удаляем эмоджи (яндекс выдает на них ошибку)
|
3588 |
$title = yturbo_remove_emoji($title);
|
3589 |
+
//устанавливаем заголовком название сайта, если заголовок пустой
|
3590 |
+
$title = yturbo_empty_title($title);
|
3591 |
+
//преобразуем спец. символы в html-сущности
|
3592 |
+
$title = esc_html($title);
|
3593 |
+
//обрезаем заголовок по словам, чтобы не превышать ограничение в 240 символов
|
3594 |
+
$title = yturbo_cut_by_words(237, $title);
|
3595 |
+
//обрабатываем фильтром для установки пользовательского заголовка
|
3596 |
+
$title = apply_filters('yturbo_custom_title', $title);
|
3597 |
|
3598 |
return $title;
|
3599 |
}
|
3600 |
add_filter( 'the_title_rss', 'yturbo_filter_title_rss' );
|
3601 |
+
//приводим заголовки записей в соответствие с требованиями яндекса end
|
3602 |
|
3603 |
//функция обрезки текста по словам begin
|
3604 |
function yturbo_cut_by_words( $maxlen, $text ) {
|
3624 |
//добавляем плагины в визуальный редактор begin
|
3625 |
function yturbo_add_plugins_tinymce( $plugins ) {
|
3626 |
$purl = plugins_url('', __FILE__);
|
3627 |
+
$plugins['yablocks'] = $purl . '/inc/yablocks.js?ver=1.26';
|
3628 |
+
$plugins['table'] = $purl . '/inc/table.js?ver=1.26';
|
3629 |
return $plugins;
|
3630 |
}
|
3631 |
add_filter( 'mce_external_plugins', 'yturbo_add_plugins_tinymce' );
|
3757 |
return get_the_title_rss();
|
3758 |
}
|
3759 |
add_shortcode( 'yt-title', 'yt_title_func' );
|
3760 |
+
//шорткод вывода заголовка записи end
|
3761 |
+
|
3762 |
+
//функция проверки наличия плагина "WPCase: Turbo Ads" begin
|
3763 |
+
function yturbo_check_ads() {
|
3764 |
+
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
3765 |
+
if ( is_plugin_active( 'wpcase-turbo-ads/wpcase-turbo-ads.php' ) ) {
|
3766 |
+
return true;
|
3767 |
+
} else {
|
3768 |
+
return false;
|
3769 |
+
}
|
3770 |
+
}
|
3771 |
+
//функция проверки наличия плагина "WPCase: Turbo Ads" end
|
3772 |
+
|
3773 |
+
//скрываем произвольные поля плагина begin
|
3774 |
+
function yturbo_hide_custom_fields( $protected, $meta_key ){
|
3775 |
+
$hide_meta_keys = array(
|
3776 |
+
'ytad1meta',
|
3777 |
+
'ytad2meta',
|
3778 |
+
'ytad3meta',
|
3779 |
+
'ytad4meta',
|
3780 |
+
'ytad5meta',
|
3781 |
+
'ytremove_meta_value',
|
3782 |
+
'ytrssenabled_meta_value',
|
3783 |
+
'template_meta',
|
3784 |
+
'custom_template',
|
3785 |
+
);
|
3786 |
+
if ( in_array($meta_key, $hide_meta_keys) ) {
|
3787 |
+
return true;
|
3788 |
+
}
|
3789 |
+
return $protected;
|
3790 |
+
}
|
3791 |
+
add_filter( 'is_protected_meta', 'yturbo_hide_custom_fields', 10, 2 );
|
3792 |
+
//скрываем произвольные поля плагина end
|