RSS for Yandex Turbo - Version 1.29

Version Description

(05.02.2021) =

  • CSS (turbo:extendedHtml) - "".
  • ( ).
  • .
  • "yturbo_before_ads" ( , ).
Download this release

Release Info

Developer Flector
Plugin Icon 128x128 RSS for Yandex Turbo
Version 1.29
Comparing to
See all releases

Code changes from version 1.28 to 1.29

Files changed (3) hide show
  1. inc/yablocks.js +8 -8
  2. readme.txt +13 -7
  3. rss-for-yandex-turbo.php +49 -8
inc/yablocks.js CHANGED
@@ -10,13 +10,13 @@
10
  onclick: function() {
11
  editor.insertContent(`
12
  <table style="border-collapse: collapse;" border="1">
13
- <tr><!--Заголовок таблицы-->
14
  <th>Первый столбец</th>
15
  <th>Второй столбец</th>
16
  </tr>
17
- <tr><!--Строка таблицы-->
18
- <th>Первый столбец</th>
19
- <th>Второй столбец</th>
20
  </tr>
21
  </table><br>
22
  `);
@@ -27,13 +27,13 @@
27
  onclick: function() {
28
  editor.insertContent(`
29
  <table data-invisible="true">
30
- <tr><!--Заголовок таблицы-->
31
  <th>Первый столбец</th>
32
  <th>Второй столбец</th>
33
  </tr>
34
- <tr><!--Строка таблицы-->
35
- <th>Первый столбец</th>
36
- <th>Второй столбец</th>
37
  </tr>
38
  </table><br>
39
  `);
10
  onclick: function() {
11
  editor.insertContent(`
12
  <table style="border-collapse: collapse;" border="1">
13
+ <tr>
14
  <th>Первый столбец</th>
15
  <th>Второй столбец</th>
16
  </tr>
17
+ <tr>
18
+ <td>Первый столбец</td>
19
+ <td>Второй столбец</td>
20
  </tr>
21
  </table><br>
22
  `);
27
  onclick: function() {
28
  editor.insertContent(`
29
  <table data-invisible="true">
30
+ <tr>
31
  <th>Первый столбец</th>
32
  <th>Второй столбец</th>
33
  </tr>
34
+ <tr>
35
+ <td>Первый столбец</td>
36
+ <td>Второй столбец</td>
37
  </tr>
38
  </table><br>
39
  `);
readme.txt CHANGED
@@ -3,9 +3,9 @@ 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.5
7
  Requires PHP: 5.3
8
- Stable tag: 1.28
9
 
10
  Создание RSS-ленты для сервиса Яндекс.Турбо.
11
 
@@ -425,17 +425,23 @@ add_filter( 'yturbo_tags_list', 'my_custom_tags_list' );`
425
 
426
  == Screenshots ==
427
 
428
- 1. Пример добавленных RSS-лент в Яндекс.Вебмастере.
429
- 2. Настройки плагина.
430
- 3. Метабокс плагина.
431
 
432
  == Changelog ==
433
 
 
 
 
 
 
 
 
434
  = 1.28 (14.08.2020) =
435
 
436
  * изменен интерфейс исключения и добавления записей таксономий.
437
- * поправлена совместимость с WordPress 5.5 (выбор тегов для удаления).
438
-
439
 
440
  = 1.27 (06.04.2020) =
441
 
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.6
7
  Requires PHP: 5.3
8
+ Stable tag: 1.29
9
 
10
  Создание RSS-ленты для сервиса Яндекс.Турбо.
11
 
425
 
426
  == Screenshots ==
427
 
428
+ 1. Пример добавленных RSS-лент в Яндекс.Вебмастере.
429
+ 2. Настройки плагина.
430
+ 3. Метабокс плагина.
431
 
432
  == Changelog ==
433
 
434
+ = 1.29 (05.02.2021) =
435
+
436
+ * добавлена поддержка CSS (turbo:extendedHtml) - вкладка "Оформление".
437
+ * исправлена функция удаления эмоджи (дефизы и тире больше не удаляются из заголовков записей).
438
+ * исправлен код таблиц в визуальном редакторе шаблонов.
439
+ * добавлен фильтр "yturbo_before_ads" (после формирования контента записи, но до вставки рекламы).
440
+
441
  = 1.28 (14.08.2020) =
442
 
443
  * изменен интерфейс исключения и добавления записей таксономий.
444
+ * исправлена совместимость с WordPress 5.5 (выбор тегов для удаления).
 
445
 
446
  = 1.27 (06.04.2020) =
447
 
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.28
7
  Author: Flector
8
  Author URI: https://profiles.wordpress.org/flector#content-plugins
9
  Text Domain: rss-for-yandex-turbo
@@ -27,7 +27,7 @@ add_action( 'admin_notices', 'yturbo_add_notice_ads' );
27
  function yturbo_check_version() {
28
  $yturbo_options = get_option('yturbo_options');
29
  if (!isset($yturbo_options['version'])){$yturbo_options['version']='1.00';update_option('yturbo_options',$yturbo_options);}
30
- if ( $yturbo_options['version'] != '1.28' ) {
31
  yturbo_set_new_options();
32
  }
33
  }
@@ -182,7 +182,9 @@ function yturbo_set_new_options() {
182
  }
183
  //разбираем список и создаем нужные опции end
184
 
185
- $yturbo_options['version'] = '1.28';
 
 
186
  update_option('yturbo_options', $yturbo_options);
187
  }
188
  //функция установки новых опций при обновлении плагина у пользователей end
@@ -190,7 +192,7 @@ function yturbo_set_new_options() {
190
  //функция установки значений по умолчанию при активации плагина begin
191
  function yturbo_init() {
192
  $yturbo_options = array();
193
- $yturbo_options['version'] = '1.28';
194
  $yturbo_options['ytrssname'] = 'turbo';
195
  $yturbo_options['yttitle'] = esc_html(yturbo_remove_emoji(strip_tags(get_bloginfo_rss('title'))));
196
  $yturbo_options['ytlink'] = get_bloginfo_rss('url');
@@ -322,6 +324,8 @@ function yturbo_init() {
322
  $yturbo_options['ytexcludeurlslist'] = '';
323
  $yturbo_options['ytdeltracking'] = 'disabled';
324
 
 
 
325
  $yturbo_options['required']='1.00';
326
 
327
  add_option('yturbo_options', $yturbo_options);
@@ -654,6 +658,8 @@ if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || !
654
  $yturbo_options['ytexcludeurlslist'] = implode("\n", $lines);
655
  if(isset($_POST['ytdeltracking'])){$yturbo_options['ytdeltracking'] = sanitize_text_field($_POST['ytdeltracking']);}else{$yturbo_options['ytdeltracking'] = 'disabled';}
656
 
 
 
657
  update_option('yturbo_options', $yturbo_options);
658
 
659
  yturbo_clear_transients();
@@ -877,6 +883,16 @@ if (closedonat == 'yes') {
877
  </p>
878
 
879
  <table class="form-table">
 
 
 
 
 
 
 
 
 
 
880
  <tr class="trbordertop">
881
  <th class="tdcheckbox"><?php _e('Дата записей:', 'rss-for-yandex-turbo'); ?></th>
882
  <td>
@@ -1462,7 +1478,7 @@ if (closedonat == 'yes') {
1462
  <th class="tdcheckbox"><?php _e('Непрерывная лента статей:', 'rss-for-yandex-turbo'); ?></th>
1463
  <td>
1464
  <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>
1465
- <br /><small><?php _e('Вместо обычного короткого списка похожих статей будет выводиться непрерывная лента из полных записей (пример смотреть <a target="_blank" href="https://yandex.ru/turbo?text=promo-infinite">здесь</a>).', 'rss-for-yandex-turbo'); ?><br />
1466
  <?php _e('При включении непрерывной ленты статей вывод миниатюр для похожих записей будет отключен.', 'rss-for-yandex-turbo'); ?><br />
1467
  </small>
1468
  </td>
@@ -2273,6 +2289,11 @@ function yturbo_save_metabox( $post_id ) {
2273
  $custom_template = esc_textarea($_POST['custom_template']);
2274
  update_post_meta($post_id, 'custom_template', $custom_template);
2275
  }
 
 
 
 
 
2276
  }
2277
  add_action( 'save_post', 'yturbo_save_metabox' );
2278
  //сохраняем метабокс end
@@ -2329,6 +2350,9 @@ function yturbo_callback() {
2329
  if ( $block_editor_enabled == true ) {
2330
  $custom_template = wpautop( $custom_template );
2331
  }
 
 
 
2332
  ?>
2333
 
2334
  <p style="margin: 10px 0px 0px 1px!important;">
@@ -2394,6 +2418,15 @@ tt{padding: 1px 5px 1px;margin: 0 1px;background: #eaeaea;background: rgba(0, 0,
2394
  <?php } ?>
2395
  </p>
2396
 
 
 
 
 
 
 
 
 
 
2397
  <div style="margin:10px 0 5px 1px!important;">
2398
  <label for="template_meta"><input type="checkbox" name="template_meta" id="template_meta" <?php if ($template_meta == 'yes') echo 'checked="checked"'; ?> /><?php _e('Задать индивидуальный шаблон для этой записи', 'rss-for-yandex-turbo'); ?></label><br />
2399
  <div id="custom_template_op" class="foptions" style="margin:5px 0 0 0;margin-top:5px;<?php if ($template_meta != 'yes') echo 'display:none;'; ?>">
@@ -2644,6 +2677,15 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EO
2644
  <link><?php the_permalink_rss(); ?></link>
2645
  <turbo:topic><?php echo get_the_title_rss(); ?></turbo:topic>
2646
  <turbo:source><?php the_permalink_rss(); ?></turbo:source>
 
 
 
 
 
 
 
 
 
2647
  <?php if ($ytpostdate == 'enabled') : ?>
2648
  <?php $gmt_offset = get_option('gmt_offset');
2649
  $gmt_offset_abs = floor(abs($gmt_offset));
@@ -3754,9 +3796,8 @@ add_filter( 'yturbo_add_contents', 'yturbo_toc' );
3754
 
3755
  //функция удаления эмоджи begin
3756
  function yturbo_remove_emoji( $text ) {
3757
-
3758
- $text = preg_replace('/[^\pL\pM[:ascii:]]+/u', '', $text);
3759
- $text = str_replace(' ', ' ', $text);
3760
  $text = trim($text);
3761
 
3762
  return $text;
3
  Plugin Name: RSS for Yandex Turbo
4
  Plugin URI: https://wordpress.org/plugins/rss-for-yandex-turbo/
5
  Description: Создание RSS-ленты для сервиса Яндекс.Турбо.
6
+ Version: 1.29
7
  Author: Flector
8
  Author URI: https://profiles.wordpress.org/flector#content-plugins
9
  Text Domain: rss-for-yandex-turbo
27
  function yturbo_check_version() {
28
  $yturbo_options = get_option('yturbo_options');
29
  if (!isset($yturbo_options['version'])){$yturbo_options['version']='1.00';update_option('yturbo_options',$yturbo_options);}
30
+ if ( $yturbo_options['version'] != '1.29' ) {
31
  yturbo_set_new_options();
32
  }
33
  }
182
  }
183
  //разбираем список и создаем нужные опции end
184
 
185
+ if (!isset($yturbo_options['ytextendedhtml'])) {$yturbo_options['ytextendedhtml']='disabled';}
186
+
187
+ $yturbo_options['version'] = '1.29';
188
  update_option('yturbo_options', $yturbo_options);
189
  }
190
  //функция установки новых опций при обновлении плагина у пользователей end
192
  //функция установки значений по умолчанию при активации плагина begin
193
  function yturbo_init() {
194
  $yturbo_options = array();
195
+ $yturbo_options['version'] = '1.29';
196
  $yturbo_options['ytrssname'] = 'turbo';
197
  $yturbo_options['yttitle'] = esc_html(yturbo_remove_emoji(strip_tags(get_bloginfo_rss('title'))));
198
  $yturbo_options['ytlink'] = get_bloginfo_rss('url');
324
  $yturbo_options['ytexcludeurlslist'] = '';
325
  $yturbo_options['ytdeltracking'] = 'disabled';
326
 
327
+ $yturbo_options['ytextendedhtml'] = 'disabled';
328
+
329
  $yturbo_options['required']='1.00';
330
 
331
  add_option('yturbo_options', $yturbo_options);
658
  $yturbo_options['ytexcludeurlslist'] = implode("\n", $lines);
659
  if(isset($_POST['ytdeltracking'])){$yturbo_options['ytdeltracking'] = sanitize_text_field($_POST['ytdeltracking']);}else{$yturbo_options['ytdeltracking'] = 'disabled';}
660
 
661
+ if(isset($_POST['ytextendedhtml'])){$yturbo_options['ytextendedhtml'] = sanitize_text_field($_POST['ytextendedhtml']);}else{$yturbo_options['ytextendedhtml'] = 'disabled';}
662
+
663
  update_option('yturbo_options', $yturbo_options);
664
 
665
  yturbo_clear_transients();
883
  </p>
884
 
885
  <table class="form-table">
886
+ <tr class="trbordertop">
887
+ <th class="tdcheckbox"><?php _e('Поддержка CSS:', 'rss-for-yandex-turbo'); ?></th>
888
+ <td>
889
+ <label for="ytextendedhtml"><input type="checkbox" value="enabled" name="ytextendedhtml" id="ytextendedhtml" <?php if ($yturbo_options['ytextendedhtml'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить режим поддержки CSS', 'rss-for-yandex-turbo'); ?></label>
890
+ <br /><small><?php _e('При включении этой опции (<tt>turbo:extendedHtml</tt>) Яндекс не будет удалять классы и идентификаторы', 'rss-for-yandex-turbo'); ?> <br />
891
+ <?php _e('из разметки записей, что позволит настроить их внешний вид через CSS (читайте <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/custom.html">документацию</a>).', 'rss-for-yandex-turbo'); ?> <br />
892
+ <?php _e('Режим поддержки CSS можно включить или выключить для записей индивидуально (в метабоксе плагина).', 'rss-for-yandex-turbo'); ?> <br />
893
+ </small>
894
+ </td>
895
+ </tr>
896
  <tr class="trbordertop">
897
  <th class="tdcheckbox"><?php _e('Дата записей:', 'rss-for-yandex-turbo'); ?></th>
898
  <td>
1478
  <th class="tdcheckbox"><?php _e('Непрерывная лента статей:', 'rss-for-yandex-turbo'); ?></th>
1479
  <td>
1480
  <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>
1481
+ <br /><small><?php _e('Вместо обычного короткого списка похожих статей будет выводиться непрерывная лента из полных записей.', 'rss-for-yandex-turbo'); ?><br />
1482
  <?php _e('При включении непрерывной ленты статей вывод миниатюр для похожих записей будет отключен.', 'rss-for-yandex-turbo'); ?><br />
1483
  </small>
1484
  </td>
2289
  $custom_template = esc_textarea($_POST['custom_template']);
2290
  update_post_meta($post_id, 'custom_template', $custom_template);
2291
  }
2292
+
2293
+ if(isset($_POST['ytextendedhtmlmeta'])){
2294
+ $selected = $_POST['ytextendedhtmlmeta'];
2295
+ update_post_meta($post_id, 'ytextendedhtmlmeta', $selected);
2296
+ }
2297
  }
2298
  add_action( 'save_post', 'yturbo_save_metabox' );
2299
  //сохраняем метабокс end
2350
  if ( $block_editor_enabled == true ) {
2351
  $custom_template = wpautop( $custom_template );
2352
  }
2353
+
2354
+ $ytextendedhtmlmeta = get_post_meta($post->ID, 'ytextendedhtmlmeta', true);
2355
+ if (!$ytextendedhtmlmeta) {$ytextendedhtmlmeta = 'default';}
2356
  ?>
2357
 
2358
  <p style="margin: 10px 0px 0px 1px!important;">
2418
  <?php } ?>
2419
  </p>
2420
 
2421
+ <p><?php _e('Поддержка CSS:', 'rss-for-yandex-turbo'); ?>
2422
+ <select name="ytextendedhtmlmeta">
2423
+ <option value="default" <?php if ($ytextendedhtmlmeta == 'default') echo 'selected="selected"'; ?>><?php _e('По умолчанию', 'rss-for-yandex-turbo'); ?></option>
2424
+ <option value="enabled" <?php if ($ytextendedhtmlmeta == 'enabled') echo 'selected="selected"'; ?>><?php _e('Включена', 'rss-for-yandex-turbo'); ?></option>
2425
+ <option value="disabled" <?php if ($ytextendedhtmlmeta == 'disabled') echo 'selected="selected"'; ?>><?php _e('Выключена', 'rss-for-yandex-turbo'); ?></option>
2426
+ </select>
2427
+ <small style="margin-top:5px;"><br /><?php _e('При выборе "По умолчанию" используются общие настройки плагина.', 'rss-for-yandex-turbo'); ?></small>
2428
+ </p>
2429
+
2430
  <div style="margin:10px 0 5px 1px!important;">
2431
  <label for="template_meta"><input type="checkbox" name="template_meta" id="template_meta" <?php if ($template_meta == 'yes') echo 'checked="checked"'; ?> /><?php _e('Задать индивидуальный шаблон для этой записи', 'rss-for-yandex-turbo'); ?></label><br />
2432
  <div id="custom_template_op" class="foptions" style="margin:5px 0 0 0;margin-top:5px;<?php if ($template_meta != 'yes') echo 'display:none;'; ?>">
2677
  <link><?php the_permalink_rss(); ?></link>
2678
  <turbo:topic><?php echo get_the_title_rss(); ?></turbo:topic>
2679
  <turbo:source><?php the_permalink_rss(); ?></turbo:source>
2680
+ <?php $ytextendedhtmlmeta = get_post_meta(get_the_ID(), 'ytextendedhtmlmeta', true);
2681
+ $ytextendedhtml = $yturbo_options['ytextendedhtml'];
2682
+ if ( ! $ytextendedhtmlmeta or $ytextendedhtmlmeta == 'default' ) {
2683
+ $temphtml = $ytextendedhtml;
2684
+ } else {
2685
+ $temphtml = $ytextendedhtmlmeta;
2686
+ }
2687
+ if ( $temphtml == 'enabled' ) { echo '<turbo:extendedHtml>true</turbo:extendedHtml>'.PHP_EOL;}
2688
+ ?>
2689
  <?php if ($ytpostdate == 'enabled') : ?>
2690
  <?php $gmt_offset = get_option('gmt_offset');
2691
  $gmt_offset_abs = floor(abs($gmt_offset));
3796
 
3797
  //функция удаления эмоджи begin
3798
  function yturbo_remove_emoji( $text ) {
3799
+ $emoji = '/[(\x{1F600}-\x{1F64F})|(\x{2700}-\x{27BF})|(\x{1F680}-\x{1F6FF})|(\x{24C2}-\x{1F251})|(\x{1F30D}-\x{1F567})|(\x{1F900}-\x{1F9FF})|(\x{1F300}-\x{1F5FF})]/mu';
3800
+ $text = preg_replace($emoji, '', $text);
 
3801
  $text = trim($text);
3802
 
3803
  return $text;