· 5 years ago · Mar 26, 2020, 08:26 AM
1<?php
2/*
3Plugin Name: RSS for Yandex Turbo
4Plugin URI: https://wordpress.org/plugins/rss-for-yandex-turbo/
5Description: Создание RSS-ленты для сервиса Яндекс.Турбо.
6Version: 1.26
7Author: Flector
8Author URI: https://profiles.wordpress.org/flector#content-plugins
9Text Domain: rss-for-yandex-turbo
10*/
11
12//проверка версии плагина (запуск функции установки новых опций) begin
13function 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}
20add_action( 'plugins_loaded', 'yturbo_check_version' );
21//проверка версии плагина (запуск функции установки новых опций) end
22
23//функция установки новых опций при обновлении плагина у пользователей begin
24function yturbo_set_new_options() {
25 $yturbo_options = get_option('yturbo_options');
26
27 //если нет опции при обновлении плагина - записываем ее
28 //if (!isset($yturbo_options['new_option'])) {$yturbo_options['new_option']='value';}
29
30 //если необходимо переписать уже записанную опцию при обновлении плагина
31 //$yturbo_options['old_option'] = 'new_value';
32
33 if (!isset($yturbo_options['ytrssname'])) {$yturbo_options['ytrssname']='turbo';}
34 if (!isset($yturbo_options['ytrelated'])) {$yturbo_options['ytrelated']='disabled';}
35 if (!isset($yturbo_options['ytrelatednumber'])) {$yturbo_options['ytrelatednumber']='5';}
36 if (!isset($yturbo_options['ytrelatedselectthumb'])) {$yturbo_options['ytrelatedselectthumb']='medium';}
37 if (!isset($yturbo_options['ytrelatedcache'])) {$yturbo_options['ytrelatedcache']='enabled';}
38 if (!isset($yturbo_options['ytrelatedcachetime'])) {$yturbo_options['ytrelatedcachetime']='72';}
39 if (!isset($yturbo_options['ytrelatedinfinity'])) {$yturbo_options['ytrelatedinfinity']='disabled';}
40 if (!isset($yturbo_options['ytad3'])) {$yturbo_options['ytad3']='disabled';}
41 if (!isset($yturbo_options['ytad3set'])) {$yturbo_options['ytad3set']='РСЯ';}
42 if (!isset($yturbo_options['ytad3rsa'])) {$yturbo_options['ytad3rsa']='';}
43 if (!isset($yturbo_options['ytadfox1'])) {$yturbo_options['ytadfox1']='';}
44 if (!isset($yturbo_options['ytadfox2'])) {$yturbo_options['ytadfox2']='';}
45 if (!isset($yturbo_options['ytadfox3'])) {$yturbo_options['ytadfox3']='';}
46 if (!isset($yturbo_options['ytrazmer'])) {$yturbo_options['ytrazmer']='500';}
47 if (!isset($yturbo_options['ytremoveturbo'])) {$yturbo_options['ytremoveturbo']='disabled';}
48 if (!isset($yturbo_options['ytauthorselect'])) {$yturbo_options['ytauthorselect']='Указать автора';}
49 if (!isset($yturbo_options['ytliveinternet'])) {$yturbo_options['ytliveinternet']='';}
50 if (!isset($yturbo_options['ytgoogle'])) {$yturbo_options['ytgoogle']='';}
51 if (!isset($yturbo_options['ytmailru'])) {$yturbo_options['ytmailru']='';}
52 if (!isset($yturbo_options['ytrambler'])) {$yturbo_options['ytrambler']='';}
53 if (!isset($yturbo_options['ytmediascope'])) {$yturbo_options['ytmediascope']='';}
54 if (!isset($yturbo_options['ytqueryselect'])) {$yturbo_options['ytqueryselect']='Все таксономии, кроме исключенных';}
55 if (!isset($yturbo_options['yttaxlist'])) {$yturbo_options['yttaxlist']='';}
56 if (!isset($yturbo_options['ytaddtaxlist'])) {$yturbo_options['ytaddtaxlist']='';}
57 if (!isset($yturbo_options['ytselectmenu'])) {$yturbo_options['ytselectmenu']='Не использовать';}
58 if (!isset($yturbo_options['ytshare'])) {$yturbo_options['ytshare']='disabled';}
59 if (!isset($yturbo_options['ytnetw'])) {$yturbo_options['ytnetw']='vkontakte,facebook,twitter,odnoklassniki,telegram,';}
60 if (!isset($yturbo_options['ytcomments'])) {$yturbo_options['ytcomments']='disabled';}
61 if (!isset($yturbo_options['ytcommentsavatar'])) {$yturbo_options['ytcommentsavatar']='disabled';}
62 if (!isset($yturbo_options['ytcommentsnumber'])) {$yturbo_options['ytcommentsnumber']='40';}
63 if (!isset($yturbo_options['ytcommentsorder'])) {$yturbo_options['ytcommentsorder']='В начале старые комментарии';}
64 if (!isset($yturbo_options['ytcommentsdate'])) {$yturbo_options['ytcommentsdate']='enabled';}
65 if (!isset($yturbo_options['ytcommentsdrevo'])) {$yturbo_options['ytcommentsdrevo']='enabled';}
66 if (!isset($yturbo_options['ytpostdate'])) {$yturbo_options['ytpostdate']='enabled';}
67 if (!isset($yturbo_options['ytexcerpt'])) {$yturbo_options['ytexcerpt']='disabled';}
68 if (!isset($yturbo_options['ytad4'])) {$yturbo_options['ytad4']='disabled';}
69 if (!isset($yturbo_options['ytad4set'])) {$yturbo_options['ytad4set']='РСЯ';}
70 if (!isset($yturbo_options['ytad4rsa'])) {$yturbo_options['ytad4rsa']='';}
71 if (!isset($yturbo_options['ytadfox4'])) {$yturbo_options['ytadfox4']='';}
72 if (!isset($yturbo_options['ytad5'])) {$yturbo_options['ytad5']='disabled';}
73 if (!isset($yturbo_options['ytad5set'])) {$yturbo_options['ytad5set']='РСЯ';}
74 if (!isset($yturbo_options['ytad5rsa'])) {$yturbo_options['ytad5rsa']='';}
75 if (!isset($yturbo_options['ytadfox5'])) {$yturbo_options['ytadfox5']='';}
76 if (!isset($yturbo_options['ytfeedback'])) {$yturbo_options['ytfeedback']='disabled';}
77 if (!isset($yturbo_options['ytfeedbackselect'])) {$yturbo_options['ytfeedbackselect']='right';}
78 if (!isset($yturbo_options['ytfeedbackselectmesto'])) {$yturbo_options['ytfeedbackselectmesto']='В конце записи';}
79 if (!isset($yturbo_options['ytfeedbacktitle'])) {$yturbo_options['ytfeedbacktitle']='Обратная связь';}
80 if (!isset($yturbo_options['ytfeedbacknetw'])) {$yturbo_options['ytfeedbacknetw']='call,mail,vkontakte,';}
81 if (!isset($yturbo_options['ytfeedbackcall'])) {$yturbo_options['ytfeedbackcall']='';}
82 if (!isset($yturbo_options['ytfeedbackcallback'])) {$yturbo_options['ytfeedbackcallback']='';}
83 if (!isset($yturbo_options['ytfeedbackcallback2'])) {$yturbo_options['ytfeedbackcallback2']='';}
84 if (!isset($yturbo_options['ytfeedbackcallback3'])) {$yturbo_options['ytfeedbackcallback3']='';}
85 if (!isset($yturbo_options['ytfeedbackmail'])) {$yturbo_options['ytfeedbackmail']='';}
86 if (!isset($yturbo_options['ytfeedbackvkontakte'])) {$yturbo_options['ytfeedbackvkontakte']='';}
87 if (!isset($yturbo_options['ytfeedbackodnoklassniki'])) {$yturbo_options['ytfeedbackodnoklassniki']='';}
88 if (!isset($yturbo_options['ytfeedbacktwitter'])) {$yturbo_options['ytfeedbacktwitter']='';}
89 if (!isset($yturbo_options['ytfeedbackfacebook'])) {$yturbo_options['ytfeedbackfacebook']='';}
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';}
98 if (!isset($yturbo_options['ytratingmax'])) {$yturbo_options['ytratingmax']='5.00';}
99
100 $yturbo_options['ytnetw'] = str_replace('google,', '', $yturbo_options['ytnetw']);
101 $yturbo_options['ytfeedbacknetw'] = str_replace('google,', '', $yturbo_options['ytfeedbacknetw']);
102
103 if (!isset($yturbo_options['ytsearch'])) {$yturbo_options['ytsearch']='disabled';}
104 if (!isset($yturbo_options['ytsearchplaceholder'])) {$yturbo_options['ytsearchplaceholder']='Поиск по сайту';}
105 if (!isset($yturbo_options['ytsearchmesto'])) {$yturbo_options['ytsearchmesto']='В конце записи';}
106
107 if (!isset($yturbo_options['yttoc'])) {$yturbo_options['yttoc']='disabled';}
108 if (!isset($yturbo_options['yttype2'])) {$yturbo_options['yttype2']='post';}
109 if (!isset($yturbo_options['yttoczag'])) {$yturbo_options['yttoczag']='Содержание';}
110 if (!isset($yturbo_options['yttocmesto'])) {$yturbo_options['yttocmesto']='В начале записи';}
111 if (!isset($yturbo_options['yttocnumber'])) {$yturbo_options['yttocnumber']='2';}
112 if (!isset($yturbo_options['yttoch1'])) {$yturbo_options['yttoch1']='disabled';}
113 if (!isset($yturbo_options['yttoch2'])) {$yturbo_options['yttoch2']='enabled';}
114 if (!isset($yturbo_options['yttoch3'])) {$yturbo_options['yttoch3']='enabled';}
115 if (!isset($yturbo_options['yttoch4'])) {$yturbo_options['yttoch4']='disabled';}
116 if (!isset($yturbo_options['yttoch5'])) {$yturbo_options['yttoch5']='disabled';}
117 if (!isset($yturbo_options['yttoch6'])) {$yturbo_options['yttoch6']='disabled';}
118
119 if (!isset($yturbo_options['ytprotokol'])) {$yturbo_options['ytprotokol']='asis';}
120 if (!isset($yturbo_options['ytdateformat'])) {$yturbo_options['ytdateformat']='create';}
121 if (!isset($yturbo_options['ytturbocolumn'])) {$yturbo_options['ytturbocolumn']='enabled';}
122
123 $yturbo_options['ytfigcaption'] = 'Использовать подписи';
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
135
136//функция установки значений по умолчанию при активации плагина begin
137function 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';
147 $yturbo_options['ytrazb'] = 'enabled';
148 $yturbo_options['ytrazbnumber'] = '50';
149 $yturbo_options['ytfigcaption'] = 'Использовать подписи';
150 $yturbo_options['ytauthorselect'] = 'Отключить указание автора';
151 $yturbo_options['ytauthor'] = '';
152 $yturbo_options['ytthumbnail'] = 'enabled';
153 $yturbo_options['ytselectthumb'] = 'large';
154 $yturbo_options['ytexcludetags'] = 'disabled';
155 $yturbo_options['ytexcludetagslist'] = '<div>';
156 $yturbo_options['ytexcludetags2'] = 'disabled';
157 $yturbo_options['ytexcludetagslist2'] = '<ins>,<style>,<object>';
158 $yturbo_options['ytexcludecontent'] = 'disabled';
159 $yturbo_options['ytexcludecontentlist'] = esc_textarea('<!--more-->\n<p></p>\n<p> </p>');
160
161 $yturbo_options['ytad1'] = 'disabled';
162 $yturbo_options['ytad1set'] = 'РСЯ';
163 $yturbo_options['ytad1rsa'] = '';
164 $yturbo_options['ytadfox1'] = '';
165
166 $yturbo_options['ytad2'] = 'disabled';
167 $yturbo_options['ytad2set'] = 'РСЯ';
168 $yturbo_options['ytad2rsa'] = '';
169 $yturbo_options['ytadfox2'] = '';
170
171 $yturbo_options['ytad3'] = 'disabled';
172 $yturbo_options['ytad3set'] = 'РСЯ';
173 $yturbo_options['ytad3rsa'] = '';
174 $yturbo_options['ytadfox3'] = '';
175
176 $yturbo_options['ytad4'] = 'disabled';
177 $yturbo_options['ytad4set'] = 'РСЯ';
178 $yturbo_options['ytad4rsa'] = '';
179 $yturbo_options['ytadfox4'] = '';
180
181 $yturbo_options['ytad5'] = 'disabled';
182 $yturbo_options['ytad5set'] = 'РСЯ';
183 $yturbo_options['ytad5rsa'] = '';
184 $yturbo_options['ytadfox5'] = '';
185
186 $yturbo_options['ytrelated'] = 'enabled';
187 $yturbo_options['ytrelatednumber'] = '5';
188 $yturbo_options['ytrelatedselectthumb'] = 'thumbnail';
189 $yturbo_options['ytrelatedcache'] = 'enabled';
190 $yturbo_options['ytrelatedcachetime'] = '72';
191 $yturbo_options['ytrelatedinfinity'] = 'disabled';
192
193 $yturbo_options['ytrazmer'] = '500';
194 $yturbo_options['ytremoveturbo'] = 'disabled';
195
196 $yturbo_options['ytmetrika'] = '';
197 $yturbo_options['ytliveinternet'] = '';
198 $yturbo_options['ytgoogle'] = '';
199 $yturbo_options['ytmailru'] = '';
200 $yturbo_options['ytrambler'] = '';
201 $yturbo_options['ytmediascope'] = '';
202
203 $yturbo_options['ytqueryselect'] = 'Все таксономии, кроме исключенных';
204 $yturbo_options['yttaxlist'] = '';
205 $yturbo_options['ytaddtaxlist'] = '';
206
207 $yturbo_options['ytselectmenu'] = 'Не использовать';
208 $yturbo_options['ytshare'] = 'disabled';
209 $yturbo_options['ytnetw'] = 'vkontakte,facebook,twitter,odnoklassniki,telegram,';
210 $yturbo_options['ytcomments'] = 'disabled';
211 $yturbo_options['ytcommentsavatar'] = 'disabled';
212 $yturbo_options['ytcommentsnumber'] = '40';
213 $yturbo_options['ytcommentsorder'] = 'В начале старые комментарии';
214 $yturbo_options['ytcommentsdate'] = 'enabled';
215 $yturbo_options['ytcommentsdrevo'] = 'enabled';
216 $yturbo_options['ytpostdate'] = 'disabled';
217 $yturbo_options['ytexcerpt'] = 'disabled';
218
219 $yturbo_options['ytfeedback'] = 'disabled';
220 $yturbo_options['ytfeedbackselect'] = 'right';
221 $yturbo_options['ytfeedbackselectmesto'] = 'В конце записи';
222 $yturbo_options['ytfeedbacktitle'] = 'Обратная связь';
223 $yturbo_options['ytfeedbacknetw'] = 'call,mail,vkontakte,';
224
225 $yturbo_options['ytfeedbackcall'] = '';
226 $yturbo_options['ytfeedbackcallback'] = '';
227 $yturbo_options['ytfeedbackcallback2'] = '';
228 $yturbo_options['ytfeedbackcallback3'] = '';
229 $yturbo_options['ytfeedbackmail'] = '';
230 $yturbo_options['ytfeedbackvkontakte'] = '';
231 $yturbo_options['ytfeedbackodnoklassniki'] = '';
232 $yturbo_options['ytfeedbacktwitter'] = '';
233 $yturbo_options['ytfeedbackfacebook'] = '';
234 $yturbo_options['ytfeedbackviber'] = '';
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';
243 $yturbo_options['ytratingmin'] = '4.70';
244 $yturbo_options['ytratingmax'] = '5.00';
245
246 $yturbo_options['ytsearch'] = 'disabled';
247 $yturbo_options['ytsearchplaceholder'] = 'Поиск по сайту';
248 $yturbo_options['ytsearchmesto'] = 'В конце записи';
249
250 $yturbo_options['yttoc'] = 'disabled';
251 $yturbo_options['yttype2'] = 'post';
252 $yturbo_options['yttoczag'] = 'Содержание';
253 $yturbo_options['yttocmesto'] = 'В начале записи';
254 $yturbo_options['yttocnumber'] = '2';
255 $yturbo_options['yttoch1'] = 'disabled';
256 $yturbo_options['yttoch2'] = 'enabled';
257 $yturbo_options['yttoch3'] = 'enabled';
258 $yturbo_options['yttoch4'] = 'disabled';
259 $yturbo_options['yttoch5'] = 'disabled';
260 $yturbo_options['yttoch6'] = 'disabled';
261
262 $yturbo_options['ytprotokol'] = 'asis';
263 $yturbo_options['ytdateformat'] = 'create';
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();
272 global $wp_rewrite;
273 $wp_rewrite->flush_rules();
274}
275add_action( 'activate_rss-for-yandex-turbo/rss-for-yandex-turbo.php', 'yturbo_init' );
276//функция установки значений по умолчанию при активации плагина end
277
278//функция при деактивации плагина begin
279function yturbo_on_deactivation() {
280 if ( ! current_user_can('activate_plugins') ) return;
281
282 //удаляем ленту плагина при деактивации плагина и обновляем пермалинки begin
283 $yturbo_options = get_option('yturbo_options');
284 global $wp_rewrite;
285 if ( in_array( $yturbo_options['ytrssname'], $wp_rewrite->feeds ) ) {
286 unset($wp_rewrite->feeds[array_search($yturbo_options['ytrssname'], $wp_rewrite->feeds)]);
287 }
288 $wp_rewrite->flush_rules();
289 //удаляем ленту плагина при деактивации плагина и обновляем пермалинки end
290}
291register_deactivation_hook( __FILE__, 'yturbo_on_deactivation' );
292//функция при деактивации плагина end
293
294//функция при удалении плагина begin
295function yturbo_on_uninstall() {
296 if ( ! current_user_can('activate_plugins') ) return;
297 delete_option('yturbo_options');
298}
299register_uninstall_hook( __FILE__, 'yturbo_on_uninstall' );
300//функция при удалении плагина end
301
302//загрузка файла локализации плагина begin
303function yturbo_setup() {
304 load_plugin_textdomain('rss-for-yandex-turbo');
305}
306add_action( 'init', 'yturbo_setup' );
307//загрузка файла локализации плагина end
308
309//добавление ссылки "Настройки" на странице со списком плагинов begin
310function yturbo_actions( $links ) {
311 return array_merge(array('settings' => '<a href="options-general.php?page=rss-for-yandex-turbo.php">' . __('Настройки', 'rss-for-yandex-turbo') . '</a>'), $links);
312}
313add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ),'yturbo_actions' );
314//добавление ссылки "Настройки" на странице со списком плагинов end
315
316//функция загрузки скриптов и стилей плагина только в админке и только на странице настроек плагина begin
317function yturbo_files_admin( $hook_suffix ) {
318 $purl = plugins_url('', __FILE__);
319 if ( $hook_suffix == 'settings_page_rss-for-yandex-turbo' ) {
320 if(!wp_script_is('jquery')) {wp_enqueue_script('jquery');}
321 wp_register_script('yturbo-lettering', $purl . '/inc/jquery.lettering.js');
322 wp_enqueue_script('yturbo-lettering');
323 wp_register_script('yturbo-textillate', $purl . '/inc/jquery.textillate.js');
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}
333add_action( 'admin_enqueue_scripts', 'yturbo_files_admin' );
334//функция загрузки скриптов и стилей плагина только в админке и только на странице настроек плагина end
335
336//функция вывода страницы настроек плагина begin
337function yturbo_options_page() {
338$purl = plugins_url('', __FILE__);
339
340if (isset($_POST['submit'])) {
341
342//проверка безопасности при сохранении настроек плагина begin
343if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || ! current_user_can('edit_posts') ) {
344 wp_die(__( 'Cheatin’ uh?', 'rss-for-yandex-turbo' ));
345}
346//проверка безопасности при сохранении настроек плагина end
347
348 //проверяем и сохраняем введенные пользователем данные begin
349 $yturbo_options = get_option('yturbo_options');
350
351 if (!preg_match('/[^A-Za-z0-9]/', $_POST['ytrssname'])) {
352 $yturbo_options['ytrssname'] = $_POST['ytrssname'];
353 update_option('yturbo_options', $yturbo_options);
354 yturbo_add_feed();
355 global $wp_rewrite;
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']);
365 if (is_numeric($ytnumber)) {
366 $yturbo_options['ytnumber'] = sanitize_text_field($_POST['ytnumber']);
367 }
368
369 if(isset($_POST['ytrazb'])){$yturbo_options['ytrazb'] = sanitize_text_field($_POST['ytrazb']);}else{$yturbo_options['ytrazb'] = 'disabled';}
370 $ytrazbnumber = sanitize_text_field($_POST['ytrazbnumber']);
371 if (is_numeric($ytrazbnumber)) {
372 $yturbo_options['ytrazbnumber'] = sanitize_text_field($_POST['ytrazbnumber']);
373 }
374
375 $yturbo_options['yttype'] = '';
376 $checkboxes = isset($_POST['types']) ? $_POST['types'] : array();
377 foreach($checkboxes as $value) {$yturbo_options['yttype'] .= $value . ',';}
378 $yturbo_options['yttype'] = sanitize_text_field($yturbo_options['yttype']);
379
380 $yturbo_options['ytfigcaption'] = sanitize_text_field($_POST['ytfigcaption']);
381 $yturbo_options['ytauthorselect'] = sanitize_text_field($_POST['ytauthorselect']);
382 $yturbo_options['ytauthor'] = sanitize_text_field($_POST['ytauthor']);
383
384 if(isset($_POST['ytthumbnail'])){$yturbo_options['ytthumbnail'] = sanitize_text_field($_POST['ytthumbnail']);}else{$yturbo_options['ytthumbnail'] = 'disabled';}
385 $yturbo_options['ytselectthumb'] = sanitize_text_field($_POST['ytselectthumb']);
386
387 if(isset($_POST['ytexcludetags'])){$yturbo_options['ytexcludetags'] = sanitize_text_field($_POST['ytexcludetags']);}else{$yturbo_options['ytexcludetags'] = 'disabled';}
388 $ytexcludetagslist = preg_replace('/\s+/', '', $_POST['ytexcludetagslist']);
389 $ytexcludetagslist = str_replace(array('[', ']', '"', '\'', '/'), '', $ytexcludetagslist);
390 $yturbo_options['ytexcludetagslist'] = esc_textarea($ytexcludetagslist);
391
392 if(isset($_POST['ytexcludetags2'])){$yturbo_options['ytexcludetags2'] = sanitize_text_field($_POST['ytexcludetags2']);}else{$yturbo_options['ytexcludetags2'] = 'disabled';}
393 $ytexcludetagslist2 = preg_replace('/\s+/', '', $_POST['ytexcludetagslist2']);
394 $ytexcludetagslist2 = str_replace(array('[', ']', '"', '\'', '/'), '', $ytexcludetagslist2);
395 $yturbo_options['ytexcludetagslist2'] = esc_textarea($ytexcludetagslist2);
396
397 if(isset($_POST['ytexcludecontent'])){$yturbo_options['ytexcludecontent'] = sanitize_text_field($_POST['ytexcludecontent']);}else{$yturbo_options['ytexcludecontent'] = 'disabled';}
398 $yturbo_options['ytexcludecontentlist'] = esc_textarea($_POST['ytexcludecontentlist']);
399
400 if(isset($_POST['ytad1'])){$yturbo_options['ytad1'] = sanitize_text_field($_POST['ytad1']);}else{$yturbo_options['ytad1'] = 'disabled';}
401 $yturbo_options['ytad1set'] = sanitize_text_field($_POST['ytad1set']);
402 $yturbo_options['ytad1rsa'] = sanitize_text_field($_POST['ytad1rsa']);
403 $yturbo_options['ytadfox1'] = esc_html($_POST['ytadfox1']);
404
405 if(isset($_POST['ytad1'])) {
406 if($yturbo_options['ytad1set'] == "РСЯ" && !$yturbo_options['ytad1rsa']) {$yturbo_options['ytad1'] = 'disabled';}
407 if($yturbo_options['ytad1set'] == "ADFOX" && !$yturbo_options['ytadfox1']) {$yturbo_options['ytad1'] = 'disabled';}
408 }
409
410 if(isset($_POST['ytad2'])){$yturbo_options['ytad2'] = sanitize_text_field($_POST['ytad2']);}else{$yturbo_options['ytad2'] = 'disabled';}
411 $yturbo_options['ytad2set'] = sanitize_text_field($_POST['ytad2set']);
412 $yturbo_options['ytad2rsa'] = sanitize_text_field($_POST['ytad2rsa']);
413 $yturbo_options['ytadfox2'] = esc_html($_POST['ytadfox2']);
414
415 if(isset($_POST['ytad2'])) {
416 if($yturbo_options['ytad2set'] == "РСЯ" && !$yturbo_options['ytad2rsa']) {$yturbo_options['ytad2'] = 'disabled';}
417 if($yturbo_options['ytad2set'] == "ADFOX" && !$yturbo_options['ytadfox2']) {$yturbo_options['ytad2'] = 'disabled';}
418 }
419
420 if(isset($_POST['ytad3'])){$yturbo_options['ytad3'] = sanitize_text_field($_POST['ytad3']);}else{$yturbo_options['ytad3'] = 'disabled';}
421 $yturbo_options['ytad3set'] = sanitize_text_field($_POST['ytad3set']);
422 $yturbo_options['ytad3rsa'] = sanitize_text_field($_POST['ytad3rsa']);
423 $yturbo_options['ytadfox3'] = esc_html($_POST['ytadfox3']);
424
425 if(isset($_POST['ytad3'])) {
426 if($yturbo_options['ytad3set'] == "РСЯ" && !$yturbo_options['ytad3rsa']) {$yturbo_options['ytad3'] = 'disabled';}
427 if($yturbo_options['ytad3set'] == "ADFOX" && !$yturbo_options['ytadfox3']) {$yturbo_options['ytad3'] = 'disabled';}
428 }
429
430 if(isset($_POST['ytad4'])){$yturbo_options['ytad4'] = sanitize_text_field($_POST['ytad4']);}else{$yturbo_options['ytad4'] = 'disabled';}
431 $yturbo_options['ytad4set'] = sanitize_text_field($_POST['ytad4set']);
432 $yturbo_options['ytad4rsa'] = sanitize_text_field($_POST['ytad4rsa']);
433 $yturbo_options['ytadfox4'] = esc_html($_POST['ytadfox4']);
434
435 if(isset($_POST['ytad4'])) {
436 if($yturbo_options['ytad4set'] == "РСЯ" && !$yturbo_options['ytad4rsa']) {$yturbo_options['ytad4'] = 'disabled';}
437 if($yturbo_options['ytad4set'] == "ADFOX" && !$yturbo_options['ytadfox4']) {$yturbo_options['ytad4'] = 'disabled';}
438 }
439
440 if(isset($_POST['ytad5'])){$yturbo_options['ytad5'] = sanitize_text_field($_POST['ytad5']);}else{$yturbo_options['ytad5'] = 'disabled';}
441 $yturbo_options['ytad5set'] = sanitize_text_field($_POST['ytad5set']);
442 $yturbo_options['ytad5rsa'] = sanitize_text_field($_POST['ytad5rsa']);
443 $yturbo_options['ytadfox5'] = esc_html($_POST['ytadfox5']);
444
445 if(isset($_POST['ytad5'])) {
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']);
459 if (is_numeric($ytrelatednumber) && (int)$ytrelatednumber<=30) {
460 $yturbo_options['ytrelatednumber'] = sanitize_text_field($_POST['ytrelatednumber']);
461 }
462 $yturbo_options['ytrelatedselectthumb'] = sanitize_text_field($_POST['ytrelatedselectthumb']);
463 if(isset($_POST['ytrelatedcache'])){$yturbo_options['ytrelatedcache'] = sanitize_text_field($_POST['ytrelatedcache']);}else{$yturbo_options['ytrelatedcache'] = 'disabled';}
464 $ytrelatedcachetime = sanitize_text_field($_POST['ytrelatedcachetime']);
465 if (is_numeric($ytrelatedcachetime)) {
466 $yturbo_options['ytrelatedcachetime'] = sanitize_text_field($_POST['ytrelatedcachetime']);
467 }
468 if(isset($_POST['ytrelatedinfinity'])){$yturbo_options['ytrelatedinfinity'] = sanitize_text_field($_POST['ytrelatedinfinity']);}else{$yturbo_options['ytrelatedinfinity'] = 'disabled';}
469 if($yturbo_options['ytrelatedinfinity']=='enabled'){$yturbo_options['ytrelatedselectthumb']='Не использовать';}
470
471 $ytrazmer = sanitize_text_field($_POST['ytrazmer']);
472 if (is_numeric($ytrazmer)) {
473 $yturbo_options['ytrazmer'] = sanitize_text_field($_POST['ytrazmer']);
474 }
475
476 if(isset($_POST['ytremoveturbo'])){$yturbo_options['ytremoveturbo'] = sanitize_text_field($_POST['ytremoveturbo']);}else{$yturbo_options['ytremoveturbo'] = 'disabled';}
477
478 $yturbo_options['ytmetrika'] = sanitize_text_field($_POST['ytmetrika']);
479 $yturbo_options['ytliveinternet'] = sanitize_text_field($_POST['ytliveinternet']);
480 $yturbo_options['ytgoogle'] = sanitize_text_field($_POST['ytgoogle']);
481 $yturbo_options['ytmailru'] = sanitize_text_field($_POST['ytmailru']);
482 $yturbo_options['ytrambler'] = sanitize_text_field($_POST['ytrambler']);
483 $yturbo_options['ytmediascope'] = sanitize_text_field($_POST['ytmediascope']);
484
485 $yturbo_options['ytqueryselect'] = sanitize_text_field($_POST['ytqueryselect']);
486
487 $yturbo_options['yttaxlist'] = str_replace(' ', '', esc_textarea($_POST['yttaxlist']));
488 $yturbo_options['ytaddtaxlist'] = str_replace(' ', '', esc_textarea($_POST['ytaddtaxlist']));
489
490 $yturbo_options['ytselectmenu'] = sanitize_text_field($_POST['ytselectmenu']);
491 if(isset($_POST['ytshare'])){$yturbo_options['ytshare'] = sanitize_text_field($_POST['ytshare']);}else{$yturbo_options['ytshare'] = 'disabled';}
492 $yturbo_options['ytnetw'] = sanitize_text_field($_POST['ytnetwspan']);
493 if(isset($_POST['ytcomments'])){$yturbo_options['ytcomments'] = sanitize_text_field($_POST['ytcomments']);}else{$yturbo_options['ytcomments'] = 'disabled';}
494 if(isset($_POST['ytcommentsavatar'])){$yturbo_options['ytcommentsavatar'] = sanitize_text_field($_POST['ytcommentsavatar']);}else{$yturbo_options['ytcommentsavatar'] = 'disabled';}
495 $ytcommentsnumber = sanitize_text_field($_POST['ytcommentsnumber']);
496 if (is_numeric($ytcommentsnumber) && (int)$ytcommentsnumber<=40) {
497 $yturbo_options['ytcommentsnumber'] = sanitize_text_field($_POST['ytcommentsnumber']);
498 }
499 $yturbo_options['ytcommentsorder'] = sanitize_text_field($_POST['ytcommentsorder']);
500 if(isset($_POST['ytcommentsdate'])){$yturbo_options['ytcommentsdate'] = sanitize_text_field($_POST['ytcommentsdate']);}else{$yturbo_options['ytcommentsdate'] = 'disabled';}
501 if(isset($_POST['ytcommentsdrevo'])){$yturbo_options['ytcommentsdrevo'] = sanitize_text_field($_POST['ytcommentsdrevo']);}else{$yturbo_options['ytcommentsdrevo'] = 'disabled';}
502 if(isset($_POST['ytpostdate'])){$yturbo_options['ytpostdate'] = sanitize_text_field($_POST['ytpostdate']);}else{$yturbo_options['ytpostdate'] = 'disabled';}
503 if(isset($_POST['ytexcerpt'])){$yturbo_options['ytexcerpt'] = sanitize_text_field($_POST['ytexcerpt']);}else{$yturbo_options['ytexcerpt'] = 'disabled';}
504
505 if(isset($_POST['ytfeedback'])){$yturbo_options['ytfeedback'] = sanitize_text_field($_POST['ytfeedback']);}else{$yturbo_options['ytfeedback'] = 'disabled';}
506 $yturbo_options['ytfeedbackselect'] = sanitize_text_field($_POST['ytfeedbackselect']);
507 $yturbo_options['ytfeedbackselectmesto'] = sanitize_text_field($_POST['ytfeedbackselectmesto']);
508 $yturbo_options['ytfeedbacktitle'] = sanitize_text_field($_POST['ytfeedbacktitle']);
509 $yturbo_options['ytfeedbacknetw'] = sanitize_text_field($_POST['ytfeedbacknetwspan']);
510
511 $yturbo_options['ytfeedbackcall'] = sanitize_text_field($_POST['ytfeedbackcall']);
512 $yturbo_options['ytfeedbackcallback'] = sanitize_text_field($_POST['ytfeedbackcallback']);
513 $yturbo_options['ytfeedbackcallback2'] = sanitize_text_field(htmlspecialchars($_POST['ytfeedbackcallback2']));
514 $yturbo_options['ytfeedbackcallback3'] = sanitize_text_field($_POST['ytfeedbackcallback3']);
515 $yturbo_options['ytfeedbackmail'] = sanitize_text_field($_POST['ytfeedbackmail']);
516 $yturbo_options['ytfeedbackvkontakte'] = sanitize_text_field($_POST['ytfeedbackvkontakte']);
517 $yturbo_options['ytfeedbackodnoklassniki'] = sanitize_text_field($_POST['ytfeedbackodnoklassniki']);
518 $yturbo_options['ytfeedbacktwitter'] = sanitize_text_field($_POST['ytfeedbacktwitter']);
519 $yturbo_options['ytfeedbackfacebook'] = sanitize_text_field($_POST['ytfeedbackfacebook']);
520 $yturbo_options['ytfeedbackviber'] = sanitize_text_field($_POST['ytfeedbackviber']);
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(''));
531 foreach ( $types as $post_type ) {
532 if (in_array($post_type, $types)) {
533 if(isset($_POST['template-'.$post_type])) {
534 $yturbo_options['template-'.$post_type] = esc_textarea($_POST['template-'.$post_type]);
535 }
536 }
537 }
538
539 $yturbo_options['yttab'] = sanitize_text_field($_POST['yttab']);
540
541 if(isset($_POST['ytrating'])){$yturbo_options['ytrating'] = sanitize_text_field($_POST['ytrating']);}else{$yturbo_options['ytrating'] = 'disabled';}
542 $yturbo_options['ytratingmin'] = sanitize_text_field($_POST['ytratingmin']);
543 $yturbo_options['ytratingmax'] = sanitize_text_field($_POST['ytratingmax']);
544
545 if(isset($_POST['ytsearch'])){$yturbo_options['ytsearch'] = sanitize_text_field($_POST['ytsearch']);}else{$yturbo_options['ytsearch'] = 'disabled';}
546 $yturbo_options['ytsearchplaceholder'] = sanitize_text_field($_POST['ytsearchplaceholder']);
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']);
554 $yturbo_options['yttoczag'] = sanitize_text_field($_POST['yttoczag']);
555 $yturbo_options['yttocmesto'] = sanitize_text_field($_POST['yttocmesto']);
556 $yttocnumber = sanitize_text_field($_POST['yttocnumber']);
557 if (is_numeric($yttocnumber)) {
558 $yturbo_options['yttocnumber'] = sanitize_text_field($_POST['yttocnumber']);
559 }
560 if(isset($_POST['yttoch1'])){$yturbo_options['yttoch1'] = sanitize_text_field($_POST['yttoch1']);}else{$yturbo_options['yttoch1'] = 'disabled';}
561 if(isset($_POST['yttoch2'])){$yturbo_options['yttoch2'] = sanitize_text_field($_POST['yttoch2']);}else{$yturbo_options['yttoch2'] = 'disabled';}
562 if(isset($_POST['yttoch3'])){$yturbo_options['yttoch3'] = sanitize_text_field($_POST['yttoch3']);}else{$yturbo_options['yttoch3'] = 'disabled';}
563 if(isset($_POST['yttoch4'])){$yturbo_options['yttoch4'] = sanitize_text_field($_POST['yttoch4']);}else{$yturbo_options['yttoch4'] = 'disabled';}
564 if(isset($_POST['yttoch5'])){$yturbo_options['yttoch5'] = sanitize_text_field($_POST['yttoch5']);}else{$yturbo_options['yttoch5'] = 'disabled';}
565 if(isset($_POST['yttoch6'])){$yturbo_options['yttoch6'] = sanitize_text_field($_POST['yttoch6']);}else{$yturbo_options['yttoch6'] = 'disabled';}
566
567 $yturbo_options['ytprotokol'] = sanitize_text_field($_POST['ytprotokol']);
568 $yturbo_options['ytdateformat'] = sanitize_text_field($_POST['ytdateformat']);
569
570 if(isset($_POST['ytturbocolumn'])){$yturbo_options['ytturbocolumn'] = sanitize_text_field($_POST['ytturbocolumn']);}else{$yturbo_options['ytturbocolumn'] = 'disabled';}
571
572 $ytrelateddate = sanitize_text_field($_POST['ytrelateddate']);
573 if (is_numeric($ytrelateddate)) {
574 $yturbo_options['ytrelateddate'] = sanitize_text_field($_POST['ytrelateddate']);
575 }
576
577 update_option('yturbo_options', $yturbo_options);
578
579 yturbo_clear_transients();
580 //проверяем и сохраняем введенные пользователем данные end
581}
582$yturbo_options = get_option('yturbo_options');
583?>
584<?php if ( ! empty($_POST) ) :
585if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || ! current_user_can('edit_posts') ) {
586 wp_die(__( 'Cheatin’ uh?', 'rss-for-yandex-turbo' ));
587}
588?>
589<div id="message" class="updated fade"><p><strong><?php _e('Настройки сохранены.', 'rss-for-yandex-turbo'); ?></strong></p></div>
590<?php else : ?>
591 <?php $yturbo_options['yttab'] = 'RSS-лента'; ?>
592<?php endif; ?>
593
594<div class="wrap foptions">
595<h2><?php _e('Настройки плагина “Яндекс.Турбо“', 'rss-for-yandex-turbo'); ?><span id="restore-hide-blocks" class="dashicons dashicons-admin-generic hide" title="<?php _e('Восстановить скрытые блоки', 'rss-for-yandex-turbo'); ?>"></span></h2>
596
597<div class="metabox-holder" id="poststuff">
598<div class="meta-box-sortables">
599
600<div class="postbox" id="donat">
601<script>
602var closedonat = localStorage.getItem('yt-close-donat');
603if (closedonat == 'yes') {
604 document.getElementById('donat').className = 'postbox hide';
605 document.getElementById('restore-hide-blocks').className = 'dashicons dashicons-admin-generic';
606}
607</script>
608 <h3 style="border-bottom: 1px solid #E1E1E1;background: #f7f7f7;"><span class="tcode"><?php _e('Вам нравится этот плагин ?', 'rss-for-yandex-turbo'); ?></span>
609 <span id="close-donat" class="dashicons dashicons-no-alt" title="<?php _e('Скрыть блок', 'rss-for-yandex-turbo'); ?>"></span></h3>
610 <div class="inside" style="display: block;margin-right: 12px;">
611 <img src="<?php echo $purl . '/img/icon_coffee.png'; ?>" title="<?php _e('Купить мне чашку кофе :)', 'rss-for-yandex-turbo'); ?>" style=" margin: 5px; float:left;" />
612 <p><?php _e('Привет, меня зовут <strong>Flector</strong>.', 'rss-for-yandex-turbo'); ?></p>
613 <p><?php _e('Я потратил много времени на разработку этого плагина.', 'rss-for-yandex-turbo'); ?> <br />
614 <?php _e('Поэтому не откажусь от небольшого пожертвования :)', 'rss-for-yandex-turbo'); ?></p>
615 <a target="_blank" id="yadonate" href="https://money.yandex.ru/to/41001443750704/200"><?php _e('Подарить', 'rss-for-yandex-turbo'); ?></a>
616 <p><?php _e('Или вы можете заказать у меня услуги по WordPress, от мелких правок до создания полноценного сайта.', 'rss-for-yandex-turbo'); ?><br />
617 <?php _e('Быстро, качественно и дешево. Прайс-лист смотрите по адресу <a target="_blank" href="https://www.wpuslugi.ru/?from=yturbo-plugin">https://www.wpuslugi.ru/</a>.', 'rss-for-yandex-turbo'); ?></p>
618 <div style="clear:both;"></div>
619 </div>
620</div>
621
622<form action="" method="post">
623
624<div class="xyztabs">
625
626 <input style="left:-2000px;position: absolute;" type="text" name="yttab" id="yttab" size="30" value="<?php echo stripslashes($yturbo_options['yttab']); ?>" />
627 <ul class="xyztabs__caption">
628 <li <?php if($yturbo_options['yttab']=='RSS-лента'){echo 'class="active"';} ?>><?php _e('RSS-лента', 'rss-for-yandex-turbo'); ?></li>
629 <li <?php if($yturbo_options['yttab']=='Оформление'){echo 'class="active"';} ?>><?php _e('Оформление', 'rss-for-yandex-turbo'); ?></li>
630 <li <?php if($yturbo_options['yttab']=='Блоки Яндекс.Турбо'){echo 'class="active"';} ?>><?php _e('Блоки Яндекс.Турбо', 'rss-for-yandex-turbo'); ?></li>
631 <li <?php if($yturbo_options['yttab']=='Счетчики'){echo 'class="active"';} ?>><?php _e('Счетчики', 'rss-for-yandex-turbo'); ?></li>
632 <li <?php if($yturbo_options['yttab']=='Реклама'){echo 'class="active"';} ?>><?php _e('Реклама', 'rss-for-yandex-turbo'); ?></li>
633 <li <?php if($yturbo_options['yttab']=='Типы записей и исключения'){echo 'class="active"';} ?>><?php _e('Типы записей и исключения', 'rss-for-yandex-turbo'); ?></li>
634 <li <?php if($yturbo_options['yttab']=='Шаблоны'){echo 'class="active"';} ?>><?php _e('Шаблоны', 'rss-for-yandex-turbo'); ?></li>
635 <li <?php if($yturbo_options['yttab']=='Фильтры'){echo 'class="active"';} ?>><?php _e('Фильтры', 'rss-for-yandex-turbo'); ?></li>
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>
652 <input type="text" name="ytrssname" size="40" value="<?php echo $yturbo_options['ytrssname']; ?>" />
653 <br /><small><?php _e('Текущий URL RSS-ленты:', 'rss-for-yandex-turbo'); ?> <tt><?php echo $kor; ?></tt><br />
654 <?php _e('Только буквы и цифры, не меняйте без необходимости.', 'rss-for-yandex-turbo'); ?>
655 </small>
656 </td>
657 </tr>
658 <tr class="trbordertop">
659 <th><?php _e('Заголовок:', 'rss-for-yandex-turbo'); ?></th>
660 <td>
661 <input type="text" name="yttitle" size="40" value="<?php echo stripslashes($yturbo_options['yttitle']); ?>" />
662 <br /><small><?php _e('Название RSS-ленты. Если экспортируется содержимое всего сайта, укажите название сайта.', 'rss-for-yandex-turbo'); ?><br />
663 <?php _e('Если экспортируется раздел сайта, укажите только название раздела.', 'rss-for-yandex-turbo'); ?><br />
664 </small>
665 </td>
666 </tr>
667 <tr>
668 <th><?php _e('Ссылка:', 'rss-for-yandex-turbo'); ?></th>
669 <td>
670 <input type="text" name="ytlink" size="40" value="<?php echo stripslashes($yturbo_options['ytlink']); ?>" />
671 <br /><small><?php _e('URL сайта, данные которого экспортируются в RSS-ленту.', 'rss-for-yandex-turbo'); ?> </small>
672 </td>
673 </tr>
674 <tr>
675 <th><?php _e('Описание:', 'rss-for-yandex-turbo'); ?></th>
676 <td>
677 <input type="text" name="ytdescription" size="40" value="<?php echo stripslashes($yturbo_options['ytdescription']); ?>" />
678 <br /><small><?php _e('Описание RSS-ленты одним предложением. Не используйте HTML-разметку.', 'rss-for-yandex-turbo'); ?> </small>
679 </td>
680 </tr>
681 <tr>
682 <th><?php _e('Язык:', 'rss-for-yandex-turbo'); ?></th>
683 <td>
684 <input style="max-width: 38px;" type="text" name="ytlanguage" value="<?php echo stripslashes($yturbo_options['ytlanguage']); ?>" />
685 <br /><small><?php _e('Язык статей RSS-ленты в стандарте <a target="_blank" href="https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D1%8B_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2">ISO 639-1</a> (Россия - <strong>ru</strong>, Украина - <strong>uk</strong> и т.д.).', 'rss-for-yandex-turbo'); ?> </small>
686 </td>
687 </tr>
688 <tr class="trbordertop">
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>
697 <tr class="razb trbordertop">
698 <th class="tdcheckbox"><?php _e('Разбитие RSS-ленты:', 'rss-for-yandex-turbo'); ?></th>
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 />
714 </small>
715 </td>
716 </tr>
717 <tr class="trbordertop">
718 <th class="tdcheckbox"><?php _e('Отключение Турбо:', 'rss-for-yandex-turbo'); ?></th>
719 <td>
720 <label for="ytremoveturbo"><input type="checkbox" value="enabled" name="ytremoveturbo" id="ytremoveturbo" <?php if ($yturbo_options['ytremoveturbo'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Отключить турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
721 <br /><small><?php _e('Эта опция добавит в RSS-ленту атрибут <tt>turbo="false"</tt> к тегу <tt><item></tt> для всех записей.', 'rss-for-yandex-turbo'); ?> <br />
722 <?php _e('Это единственный способ заставить Яндекс отключить турбо-страницы для вашего сайта.', 'rss-for-yandex-turbo'); ?><br />
723 <?php _e('Простое удаление плагина не поможет - необходимо, чтобы бот Яндекса "съел" ленту с <tt>turbo="false"</tt>.', 'rss-for-yandex-turbo'); ?><br />
724 <?php _e('Не забудьте поправить настройки плагина, чтобы в RSS-ленту попали все записи сайта.', 'rss-for-yandex-turbo'); ?>
725 </small>
726 </td>
727 </tr>
728 <tr class="ytprotokoltr" <?php if ($yturbo_options['ytremoveturbo'] == 'disabled') echo 'style="display:none;"'; ?>>
729 <th><?php _e('Протокол:', 'rss-for-yandex-turbo'); ?></th>
730 <td>
731 <select name="ytprotokol" style="width: 260px;">
732 <option value="asis" <?php if ($yturbo_options['ytprotokol'] == 'asis') echo 'selected="selected"'; ?>><?php _e('Не менять протокол', 'rss-for-yandex-turbo'); ?></option>
733 <option value="http" <?php if ($yturbo_options['ytprotokol'] == 'http') echo 'selected="selected"'; ?>><?php _e('http', 'rss-for-yandex-turbo'); ?></option>
734 <option value="https" <?php if ($yturbo_options['ytprotokol'] == 'https') echo 'selected="selected"'; ?>><?php _e('https', 'rss-for-yandex-turbo'); ?></option>
735 </select>
736 <br /><small><?php _e('Выберите используемый протокол для удаляемых турбо-страниц.', 'rss-for-yandex-turbo'); ?><br />
737 <?php _e('Яндекс не удалит автоматически турбо-страницы для старого протокола (при переезде сайта на https и наоборот).', 'rss-for-yandex-turbo'); ?><br />
738 <?php _e('Поэтому вам нужно будет сформировать ленту с записями для удаления со старым протоколом.', 'rss-for-yandex-turbo'); ?><br />
739 </small>
740 </td>
741 </tr>
742
743 <tr class="trbordertop">
744 <th></th>
745 <td>
746 <input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
747 </td>
748 </tr>
749 </table>
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>
763 <label for="ytpostdate"><input type="checkbox" value="enabled" name="ytpostdate" id="ytpostdate" <?php if ($yturbo_options['ytpostdate'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Указать дату публикации записей', 'rss-for-yandex-turbo'); ?></label>
764 <br /><small><?php _e('Выводить или не выводить дату публикации записей в ленте.', 'rss-for-yandex-turbo'); ?> <br />
765 </small>
766 </td>
767 </tr>
768 <tr class="ytdateformattr" <?php if ($yturbo_options['ytpostdate'] == 'disabled') echo 'style="display:none;"'; ?>>
769 <th><?php _e('Тип даты:', 'rss-for-yandex-turbo'); ?></th>
770 <td>
771 <select name="ytdateformat" style="width: 260px;">
772 <option value="create" <?php if ($yturbo_options['ytdateformat'] == 'create') echo 'selected="selected"'; ?>><?php _e('Дата создания', 'rss-for-yandex-turbo'); ?></option>
773 <option value="mod" <?php if ($yturbo_options['ytdateformat'] == 'mod') echo 'selected="selected"'; ?>><?php _e('Дата последнего изменения', 'rss-for-yandex-turbo'); ?></option>
774 </select>
775 <br /><small><?php _e('Выберите тип даты - дата создания записи или дата последнего изменения записи.', 'rss-for-yandex-turbo'); ?> <br />
776 <?php _e('Опция может быть полезна для формирования Яндексом автоматической главной страницы.', 'rss-for-yandex-turbo'); ?> <br />
777 </small>
778 </td>
779 </tr>
780 <tr class="trbordertop">
781 <th class="tdcheckbox"><?php _e('Отрывок записей:', 'rss-for-yandex-turbo'); ?></th>
782 <td>
783 <label for="ytexcerpt"><input type="checkbox" value="enabled" name="ytexcerpt" id="ytexcerpt" <?php if ($yturbo_options['ytexcerpt'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить в начало записей "отрывок"', 'rss-for-yandex-turbo'); ?></label>
784 <br /><small><?php _e('Используйте эту опцию только в случае необходимости.', 'rss-for-yandex-turbo'); ?> <br />
785 <?php _e('Например, когда "отрывок" (цитата) записи содержит контент, которого нет в самой записи.', 'rss-for-yandex-turbo'); ?> <br />
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>
792 <label for="ytthumbnail"><input type="checkbox" value="enabled" name="ytthumbnail" id="ytthumbnail" <?php if ($yturbo_options['ytthumbnail'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить миниатюру к заголовку записи', 'rss-for-yandex-turbo'); ?></label>
793 <br /><small><?php _e('После заголовка записи будет выведена миниатюра записи (изображение записи).', 'rss-for-yandex-turbo'); ?>
794 </small>
795 </td>
796 </tr>
797 <tr class="ytselectthumbtr" <?php if ($yturbo_options['ytthumbnail'] == 'disabled') echo 'style="display:none;"'; ?>>
798 <th><?php _e('Размер миниатюры в RSS:', 'rss-for-yandex-turbo'); ?></th>
799 <td>
800 <select name="ytselectthumb" style="width: 260px;">
801 <?php $image_sizes = get_intermediate_image_sizes(); ?>
802 <?php foreach ($image_sizes as $size_name): ?>
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">
812 <th><?php _e('Автор записей:', 'rss-for-yandex-turbo'); ?></th>
813 <td>
814 <select name="ytauthorselect" id="ytauthorselect" style="width: 260px;">
815 <option value="Автор записи" <?php if ($yturbo_options['ytauthorselect'] == 'Автор записи') echo 'selected="selected"'; ?>><?php _e('Автор записи', 'rss-for-yandex-turbo'); ?></option>
816 <option value="Указать автора" <?php if ($yturbo_options['ytauthorselect'] == 'Указать автора') echo 'selected="selected"'; ?>><?php _e('Указать автора', 'rss-for-yandex-turbo'); ?></option>
817 <option value="Отключить указание автора" <?php if ($yturbo_options['ytauthorselect'] == 'Отключить указание автора') echo 'selected="selected"'; ?>><?php _e('Отключить указание автора', 'rss-for-yandex-turbo'); ?></option>
818 </select>
819 <br /><small><?php _e('Автор записей (можно не указывать). ', 'rss-for-yandex-turbo'); ?> <br />
820 </small>
821 </td>
822 </tr>
823 <tr id="ownname2" <?php if ($yturbo_options['ytauthorselect'] != 'Указать автора') echo 'style="display:none;"'; ?>>
824 <th><?php _e('Автор записей:', 'rss-for-yandex-turbo'); ?></th>
825 <td>
826 <input type="text" name="ytauthor" size="20" value="<?php echo stripslashes($yturbo_options['ytauthor']); ?>" />
827 <br /><small><?php _e('Произвольное имя автора записей (если не заполнено, то будет использовано имя автора записи).', 'rss-for-yandex-turbo'); ?> </small>
828 </td>
829 </tr>
830 <tr class="trbordertop">
831 <th><?php _e('Описания изображений:', 'rss-for-yandex-turbo'); ?></th>
832 <td>
833 <select name="ytfigcaption" id="capalt" style="width: 260px;">
834 <option value="Использовать подписи" <?php if ($yturbo_options['ytfigcaption'] == 'Использовать подписи') echo 'selected="selected"'; ?>><?php _e('Использовать подписи', 'rss-for-yandex-turbo'); ?></option>
835 <option value="Отключить описания" <?php if ($yturbo_options['ytfigcaption'] == 'Отключить описания') echo 'selected="selected"'; ?>><?php _e('Отключить описания', 'rss-for-yandex-turbo'); ?></option>
836 </select>
837 <br /><small><?php _e('Разметка "описания" для изображений на турбо-страницах (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/multimedia-docpage/#ariaid-title3">здесь</a>).', 'rss-for-yandex-turbo'); ?> <br />
838 <?php _e('В html5-темах будет взята информация из тега <tt><figcaption></tt>, в html4-темах из шорткода <tt>[caption]</tt>.', 'rss-for-yandex-turbo'); ?><br />
839 </small>
840 </td>
841 </tr>
842 <tr class="yttoctr trbordertop">
843 <th class="tdcheckbox"><?php _e('Содержание:', 'rss-for-yandex-turbo'); ?></th>
844 <td>
845 <label for="yttoc"><input type="checkbox" value="enabled" name="yttoc" id="yttoc" <?php if ($yturbo_options['yttoc'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить блок содержания на турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
846 <br /><small><?php _e('На турбо-страницы будет добавлен блок содержания (аналогично <a target="_blank" href="https://wordpress.org/plugins/table-of-contents-plus/">TOC+</a> и подобным плагинам).', 'rss-for-yandex-turbo'); ?><br />
847 <?php _e('Не включайте данный блок, если не используете плагины вывода содержания.', 'rss-for-yandex-turbo'); ?>
848 </small>
849 </td>
850 </tr>
851 <tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
852 <th class="tdcheckbox"><?php _e('Типы записей:', 'rss-for-yandex-turbo'); ?></th>
853 <td>
854 <?php
855 $registered = get_post_types( array('public'=> true), 'objects' );
856 $exclude = array('attachment');
857 $types = array();
858
859 foreach ( $registered as $post ) {
860 if ( in_array( $post->name, $exclude ) ) {
861 continue;
862 }
863 $types[ $post->name ] = $post->name;
864 }
865
866 $yttype2 = explode(",", $yturbo_options['yttype2']);
867 $yttype2 = array_diff($yttype2, array(''));
868
869 foreach ( $types as $post_type ) {
870 $obj = get_post_type_object( $post_type ); ?>
871 <label class="types2" for="<?php echo $post_type; ?>2"><input type="checkbox" value="<?php echo $post_type; ?>" name="types2[]" id="<?php echo $post_type; ?>2" <?php if (in_array($post_type, $yttype2)) echo 'checked="checked"'; ?> /><?php echo $obj->labels->name; ?> (<?php echo $post_type; ?>)</label><br />
872 <?php } ?>
873 <small><?php _e('Типы записей для добавления блока содержания.', 'rss-for-yandex-turbo'); ?> </small>
874 </td>
875 </tr>
876 <tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
877 <th><?php _e('Текст заголовка:', 'rss-for-yandex-turbo'); ?></th>
878 <td>
879 <input type="text" style="width:200px;" name="yttoczag" size="20" value="<?php echo stripslashes($yturbo_options['yttoczag']); ?>" />
880 <br /><small><?php _e('Например: "Содержание", "Оглавление", "Содержание страницы" и тому подобное.', 'rss-for-yandex-turbo'); ?><br />
881 </td>
882 </tr>
883 <tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
884 <th><?php _e('Расположение блока:', 'rss-for-yandex-turbo'); ?></th>
885 <td>
886 <select name="yttocmesto" id="yttocmesto" style="width: 260px;">
887 <option value="Перед первым заголовком" <?php if ($yturbo_options['yttocmesto'] == 'Перед первым заголовком') echo 'selected="selected"'; ?>><?php _e('Перед первым заголовком', 'rss-for-yandex-turbo'); ?></option>
888 <option value="После первого заголовка" <?php if ($yturbo_options['yttocmesto'] == 'После первого заголовка') echo 'selected="selected"'; ?>><?php _e('После первого заголовка', 'rss-for-yandex-turbo'); ?></option>
889 <option value="В начале записи" <?php if ($yturbo_options['yttocmesto'] == 'В начале записи') echo 'selected="selected"'; ?>><?php _e('В начале записи', 'rss-for-yandex-turbo'); ?></option>
890 <option value="В конце записи" <?php if ($yturbo_options['yttocmesto'] == 'В конце записи') echo 'selected="selected"'; ?>><?php _e('В конце записи', 'rss-for-yandex-turbo'); ?></option>
891 </select>
892 <br /><small><?php _e('Выводите данный блок на турбо-страницах там же, где он расположен на обычных страницах.', 'rss-for-yandex-turbo'); ?> <br />
893 </small>
894 </td>
895 </tr>
896 <tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
897 <th><?php _e('Минимум заголовков:', 'rss-for-yandex-turbo'); ?></th>
898 <td>
899 <input style="max-width: 50px;" name="yttocnumber" type="number" min="1" max="10" step="1" value="<?php echo $yturbo_options['yttocnumber']; ?>" />
900 <br /><small><?php _e('Укажите минимальное число заголовков записи, при котором будет выведен блок содержания.', 'rss-for-yandex-turbo'); ?> <br/>
901 </small>
902 </td>
903 </tr>
904 <tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
905 <th class="tdcheckbox"><?php _e('Уровни заголовков:', 'rss-for-yandex-turbo'); ?></th>
906 <td>
907 <label for="yttoch1"><input type="checkbox" value="enabled" name="yttoch1" id="yttoch1" <?php if ($yturbo_options['yttoch1'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Заголовок <h1>', 'rss-for-yandex-turbo'); ?></label><br />
908 <label for="yttoch2"><input type="checkbox" value="enabled" name="yttoch2" id="yttoch2" <?php if ($yturbo_options['yttoch2'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Заголовок <h2>', 'rss-for-yandex-turbo'); ?></label><br />
909 <label for="yttoch3"><input type="checkbox" value="enabled" name="yttoch3" id="yttoch3" <?php if ($yturbo_options['yttoch3'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Заголовок <h3>', 'rss-for-yandex-turbo'); ?></label><br />
910 <label for="yttoch4"><input type="checkbox" value="enabled" name="yttoch4" id="yttoch4" <?php if ($yturbo_options['yttoch4'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Заголовок <h4>', 'rss-for-yandex-turbo'); ?></label><br />
911 <label for="yttoch5"><input type="checkbox" value="enabled" name="yttoch5" id="yttoch5" <?php if ($yturbo_options['yttoch5'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Заголовок <h5>', 'rss-for-yandex-turbo'); ?></label><br />
912 <label for="yttoch6"><input type="checkbox" value="enabled" name="yttoch6" id="yttoch6" <?php if ($yturbo_options['yttoch6'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Заголовок <h6>', 'rss-for-yandex-turbo'); ?></label><br />
913 <small><?php _e('Блок содержания будет формироваться только из указанных заголовков.', 'rss-for-yandex-turbo'); ?> <br/>
914 </small>
915 </td>
916 </tr>
917
918 <tr class="trbordertop">
919 <th></th>
920 <td>
921 <input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
922 </td>
923 </tr>
924 </table>
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>
937 <select name="ytselectmenu" style="width: 260px;">
938 <?php $menus = get_terms( 'nav_menu', array( 'hide_empty' => true ) ); ?>
939 <?php foreach ($menus as $menu): ?>
940 <option value="<?php echo $menu->name; ?>" <?php if ($yturbo_options['ytselectmenu'] == $menu->name) echo 'selected="selected"'; ?>><?php echo $menu->name; ?></option>
941 <?php endforeach; ?>
942 <option value="Не использовать" <?php if ($yturbo_options['ytselectmenu'] == 'Не использовать') echo 'selected="selected"'; ?>><?php echo 'Не использовать'; ?></option>
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>
951 <tr class="ytsharetr trbordertop">
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>
959 <tr class="ytsharechildtr" <?php if ($yturbo_options['ytshare'] == 'disabled') echo 'style="display:none;"'; ?>>
960 <th><?php _e('Социальные сети:', 'rss-for-yandex-turbo'); ?></th>
961 <td style="padding:0;">
962
963 <table>
964 <tr style="margin-left:-5px;">
965
966 <td>
967 <label for="facebook"><img title="Facebook" src="<?php echo $purl . '/img/facebook.png'; ?>" style="margin-bottom: 5px;width:48px;height:48px; vertical-align: middle; " /><br /></label>
968 <input type="checkbox" name="networks[]" id="facebook" style="margin-left:16px;" />
969 </td>
970
971 <td>
972 <label for="twitter"><img title="Twitter" src="<?php echo $purl . '/img/twitter.png'; ?>" style="margin-bottom: 5px;width:48px;height:48px; vertical-align: middle; " /><br /></label>
973 <input type="checkbox" name="networks[]" id="twitter" style="margin-left:16px;" />
974 </td>
975
976 <td>
977 <label for="odnoklassniki"><img title="Odnoklassniki" src="<?php echo $purl . '/img/odnoklassniki.png'; ?>" style="margin-bottom: 5px;width:48px;height:48px; vertical-align: middle; " /><br /></label>
978 <input type="checkbox" name="networks[]" id="odnoklassniki" style="margin-left:16px;">
979 </td>
980
981 <td>
982 <label for="vkontakte"><img title="VKontakte" src="<?php echo $purl . '/img/vk.png'; ?>" style="margin-bottom: 5px;width:48px;height:48px; vertical-align: middle; " /><br /></label>
983 <input type="checkbox" name="networks[]" id="vkontakte" style="margin-left:16px;" />
984 </td>
985
986 <td>
987 <label for="telegram"><img title="Telegram" src="<?php echo $purl . '/img/telegram.png'; ?>" style="margin-bottom: 5px;width:48px;height:48px; vertical-align: middle; " /><br /></label>
988 <input type="checkbox" name="networks[]" id="telegram" style="margin-left:16px;" />
989 </td>
990
991 </tr>
992 </table>
993 </td>
994
995 </tr>
996 <tr class="ytsharechildtr" <?php if ($yturbo_options['ytshare'] == 'disabled') echo 'style="display:none;"'; ?>>
997 <th><?php _e('Порядок:', 'rss-for-yandex-turbo'); ?></th>
998 <td>
999 <input style="" type="text" name="ytnetw" id="ytnetw" size="62" value="<?php echo $yturbo_options['ytnetw']; ?>" disabled="disabled" />
1000 <input type="text" style="display:none;" name="ytnetwspan" id="ytnetwspan" value="<?php echo $yturbo_options['ytnetw']; ?>"/>
1001 <br /><small style=""><?php _e('Для сортировки иконок сначала снимите все чекбоксы, а потом снова их выберите в нужном вам порядке.', 'rss-for-yandex-turbo'); ?></small>
1002 </td>
1003 </tr>
1004 <tr class="ytfeedbacktr trbordertop">
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>
1012 <tr class="ytfeedbackchildtr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
1013 <th><?php _e('Выравнивание блока:', 'rss-for-yandex-turbo'); ?></th>
1014 <td>
1015 <select name="ytfeedbackselect" id="ytfeedbackselect" style="width: 260px;">
1016 <option value="left" <?php if ($yturbo_options['ytfeedbackselect'] == 'left') echo 'selected="selected"'; ?>><?php _e('Слева', 'rss-for-yandex-turbo'); ?></option>
1017 <option value="right" <?php if ($yturbo_options['ytfeedbackselect'] == 'right') echo 'selected="selected"'; ?>><?php _e('Справа', 'rss-for-yandex-turbo'); ?></option>
1018 <option value="false" <?php if ($yturbo_options['ytfeedbackselect'] == 'false') echo 'selected="selected"'; ?>><?php _e('В указанном месте', 'rss-for-yandex-turbo'); ?></option>
1019 </select>
1020 <br /><small><?php _e('Укажите где именно на турбо-страницах должен выводиться блок обратной связи.', 'rss-for-yandex-turbo'); ?> <br />
1021 <?php _e('При выравнивании по левому или правому краю страницы можно разместить лишь <strong>4</strong> кнопки связи.', 'rss-for-yandex-turbo'); ?><br />
1022 </small>
1023 </td>
1024 </tr>
1025 <tr class="ytfeedbackselectmestotr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
1026 <th><?php _e('Расположить блок:', 'rss-for-yandex-turbo'); ?></th>
1027 <td>
1028 <select name="ytfeedbackselectmesto" id="ytfeedbackselectmesto" style="width: 260px;">
1029 <option value="В начале записи" <?php if ($yturbo_options['ytfeedbackselectmesto'] == 'В начале записи') echo 'selected="selected"'; ?>><?php _e('В начале записи', 'rss-for-yandex-turbo'); ?></option>
1030 <option value="В конце записи" <?php if ($yturbo_options['ytfeedbackselectmesto'] == 'В конце записи') echo 'selected="selected"'; ?>><?php _e('В конце записи', 'rss-for-yandex-turbo'); ?></option>
1031 </select>
1032 <br /><small><?php _e('В начале записи блок будет расположен после заголовка, а в конце записи после блока "Поделиться".', 'rss-for-yandex-turbo'); ?><br />
1033 </small>
1034 </td>
1035 </tr>
1036 <tr class="ytfeedbackselectmestotr" style="display:none;">
1037 <th><?php _e('Заголовок блока:', 'rss-for-yandex-turbo'); ?></th>
1038 <td>
1039 <input type="text" name="ytfeedbacktitle" size="30" value="<?php echo stripslashes($yturbo_options['ytfeedbacktitle']); ?>" />
1040 <br /><small><?php _e('Укажите заголовок блока (используется только при выводе блока в указанном месте).', 'rss-for-yandex-turbo'); ?><br />
1041 </small>
1042 </td>
1043 </tr>
1044 <tr class="ytfeedbackchildtr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
1045 <th><?php _e('Кнопки связи:', 'rss-for-yandex-turbo'); ?></th>
1046 <td style="padding:0;">
1047
1048 <table>
1049 <tr style="margin-left:-5px;display: flex;flex-wrap: wrap;">
1050
1051 <td style="padding: 15px 3px;">
1052 <label for="feedbackcall"><img title="Звонок" src="<?php echo $purl . '/img/feedback/call.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1053 <input type="checkbox" name="networks2[]" id="feedbackcall" style="margin-left:16px;" />
1054 </td>
1055
1056 <td style="padding: 15px 3px;">
1057 <label for="feedbackcallback"><img title="Контактная форма" src="<?php echo $purl . '/img/feedback/callback.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1058 <input type="checkbox" name="networks2[]" id="feedbackcallback" style="margin-left:16px;" />
1059 </td>
1060
1061 <td style="padding: 15px 3px;">
1062 <label for="feedbackchat"><img title="Чат" src="<?php echo $purl . '/img/feedback/chat.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1063 <input type="checkbox" name="networks2[]" id="feedbackchat" style="margin-left:16px;" />
1064 </td>
1065
1066 <td style="padding: 15px 3px;">
1067 <label for="feedbackmail"><img title="E-mail" src="<?php echo $purl . '/img/feedback/mail.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1068 <input type="checkbox" name="networks2[]" id="feedbackmail" style="margin-left:16px;" />
1069 </td>
1070
1071 <td style="padding: 15px 3px;">
1072 <label for="feedbackvkontakte"><img title="VKontakte" src="<?php echo $purl . '/img/feedback/vkontakte.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1073 <input type="checkbox" name="networks2[]" id="feedbackvkontakte" style="margin-left:16px;" />
1074 </td>
1075
1076 <td style="padding: 15px 3px;">
1077 <label for="feedbackodnoklassniki"><img title="Odnoklassniki" src="<?php echo $purl . '/img/feedback/odnoklassniki.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1078 <input type="checkbox" name="networks2[]" id="feedbackodnoklassniki" style="margin-left:16px;" />
1079 </td>
1080
1081 <td style="padding: 15px 3px;">
1082 <label for="feedbacktwitter"><img title="Twitter" src="<?php echo $purl . '/img/feedback/twitter.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1083 <input type="checkbox" name="networks2[]" id="feedbacktwitter" style="margin-left:16px;" />
1084 </td>
1085
1086 <td style="padding: 15px 3px;">
1087 <label for="feedbackfacebook"><img title="Facebook" src="<?php echo $purl . '/img/feedback/facebook.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1088 <input type="checkbox" name="networks2[]" id="feedbackfacebook" style="margin-left:16px;" />
1089 </td>
1090
1091 <td style="padding: 15px 3px;">
1092 <label for="feedbackviber"><img title="Viber" src="<?php echo $purl . '/img/feedback/viber.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1093 <input type="checkbox" name="networks2[]" id="feedbackviber" style="margin-left:16px;" />
1094 </td>
1095
1096 <td style="padding: 15px 3px;">
1097 <label for="feedbackwhatsapp"><img title="Whatsapp" src="<?php echo $purl . '/img/feedback/whatsapp.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1098 <input type="checkbox" name="networks2[]" id="feedbackwhatsapp" style="margin-left:16px;" />
1099 </td>
1100
1101 <td style="padding: 15px 3px;">
1102 <label for="feedbacktelegram"><img title="Telegram" src="<?php echo $purl . '/img/feedback/telegram.png'; ?>" style="margin-bottom: 5px;width:52px;height:52px; vertical-align: middle; " /><br /></label>
1103 <input type="checkbox" name="networks2[]" id="feedbacktelegram" style="margin-left:16px;" />
1104 </td>
1105
1106 </tr>
1107 </table>
1108 </td>
1109 </tr>
1110 <tr class="ytfeedbackchildtr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
1111 <th><?php _e('Порядок кнопок:', 'rss-for-yandex-turbo'); ?></th>
1112 <td>
1113 <input style="" type="text" name="ytfeedbacknetw" id="ytfeedbacknetw" size="62" value="<?php echo $yturbo_options['ytfeedbacknetw']; ?>" disabled="disabled" />
1114 <input type="text" style="display:none;" name="ytfeedbacknetwspan" id="ytfeedbacknetwspan" value="<?php echo $yturbo_options['ytfeedbacknetw']; ?>"/>
1115 <br /><small style=""><?php _e('Для сортировки иконок сначала снимите все чекбоксы, а потом снова их выберите в нужном вам порядке.', 'rss-for-yandex-turbo'); ?></small>
1116 </td>
1117 </tr>
1118 <tr class="ytfeedbackchildtr ytfeedbackcontactstr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
1119 <th><?php _e('Контакты для кнопок:', 'rss-for-yandex-turbo'); ?></th>
1120 <td>
1121 <select name="ytfeedbackcontacts" id="ytfeedbackcontacts" style="width: 260px;">
1122 <option value="myselect" selected='true'><?php _e('- Выбрать -', 'rss-for-yandex-turbo'); ?></option>
1123 <option disabled="disabled" value="feedbackcall"><?php _e('Звонок', 'rss-for-yandex-turbo'); ?></option>
1124 <option disabled="disabled" value="feedbackcallback"><?php _e('Контактная форма', 'rss-for-yandex-turbo'); ?></option>
1125 <option disabled="disabled" value="feedbackchat"><?php _e('Чат', 'rss-for-yandex-turbo'); ?></option>
1126 <option disabled="disabled" value="feedbackmail"><?php _e('E-mail', 'rss-for-yandex-turbo'); ?></option>
1127 <option disabled="disabled" value="feedbackvkontakte"><?php _e('VKontakte', 'rss-for-yandex-turbo'); ?></option>
1128 <option disabled="disabled" value="feedbackodnoklassniki"><?php _e('Odnoklassniki', 'rss-for-yandex-turbo'); ?></option>
1129 <option disabled="disabled" value="feedbacktwitter"><?php _e('Twitter', 'rss-for-yandex-turbo'); ?></option>
1130 <option disabled="disabled" value="feedbackfacebook"><?php _e('Facebook', 'rss-for-yandex-turbo'); ?></option>
1131 <option disabled="disabled" value="feedbackviber"><?php _e('Viber', 'rss-for-yandex-turbo'); ?></option>
1132 <option disabled="disabled" value="feedbackwhatsapp"><?php _e('Whatsapp', 'rss-for-yandex-turbo'); ?></option>
1133 <option disabled="disabled" value="feedbacktelegram"><?php _e('Telegram', 'rss-for-yandex-turbo'); ?></option>
1134 </select>
1135 <br /><small><?php _e('Для установки контактов выберите нужную кнопку из списка (доступны только отмеченные кнопки связи).', 'rss-for-yandex-turbo'); ?><br />
1136 </small>
1137 </td>
1138 </tr>
1139 <tr class="ytfeedbackcalltr" style="display:none;">
1140 <th><?php _e('Звонок:', 'rss-for-yandex-turbo'); ?></th>
1141 <td>
1142 <input type="text" name="ytfeedbackcall" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackcall']); ?>" />
1143 <br /><small><?php _e('Укажите телефонный номер в международном формате (пример: <tt>+74951234567</tt>).', 'rss-for-yandex-turbo'); ?> </small>
1144 </td>
1145 </tr>
1146 <tr class="ytfeedbackcallbacktr" style="display:none;">
1147 <th><?php _e('Email для контактной формы:', 'rss-for-yandex-turbo'); ?></th>
1148 <td>
1149 <input type="text" name="ytfeedbackcallback" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackcallback']); ?>" />
1150 <br /><small><?php _e('Укажите адрес e-mail (пример: <tt>mail@test.ru</tt>).', 'rss-for-yandex-turbo'); ?><br />
1151 <?php _e('Разрешено указывать только e-mail, принадлежащий вашему домену.', 'rss-for-yandex-turbo'); ?><br />
1152 </small>
1153 </td>
1154 </tr>
1155 <tr class="ytfeedbackcallbacktr" style="display:none;">
1156 <th><?php _e('Название организации:', 'rss-for-yandex-turbo'); ?></th>
1157 <td>
1158 <input type="text" name="ytfeedbackcallback2" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackcallback2']); ?>" />
1159 <br /><small><?php _e('Укажите юридическое название вашей организации (пример: <tt>ООО «Ромашка»</tt>).', 'rss-for-yandex-turbo'); ?><br />
1160 <?php _e('* При заполнении требуется указать ссылку на пользовательское соглашении.', 'rss-for-yandex-turbo'); ?><br />
1161 </small>
1162 </td>
1163 </tr>
1164 <tr class="ytfeedbackcallbacktr" style="display:none;">
1165 <th><?php _e('Пользовательское соглашение:', 'rss-for-yandex-turbo'); ?></th>
1166 <td>
1167 <input type="text" name="ytfeedbackcallback3" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackcallback3']); ?>" />
1168 <br /><small><?php _e('Укажите ссылку на пользовательское соглашение о предоставлении обратной связи.', 'rss-for-yandex-turbo'); ?><br />
1169 <?php _e('* При заполнении требуется указать юридическое название вашей организации.', 'rss-for-yandex-turbo'); ?><br />
1170 </small>
1171 </td>
1172 </tr>
1173 <tr class="ytfeedbackchattr" style="display:none;">
1174 <th><?php _e('Чат:', 'rss-for-yandex-turbo'); ?></th>
1175 <td>
1176 <input disabled="disabled" type="text" name="ytfeedbackchat" size="40" value="" />
1177 <br /><small><?php _e('Указывать ничего не надо, если вы создали чат для своего сайта.', 'rss-for-yandex-turbo'); ?><br />
1178 <?php _e('Справку о том, как создать "Чат для бизнеса" читайте <a target="_blank" href="https://tech.yandex.ru/turbo/doc/rss/elements/feedback-docpage/#feedback__chat">здесь</a>.', 'rss-for-yandex-turbo'); ?><br />
1179 </small>
1180 </td>
1181 </tr>
1182 <tr class="ytfeedbackmailtr" style="display:none;">
1183 <th><?php _e('E-mail:', 'rss-for-yandex-turbo'); ?></th>
1184 <td>
1185 <input type="text" name="ytfeedbackmail" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackmail']); ?>" />
1186 <br /><small><?php _e('Укажите адрес e-mail (пример: <tt>mail@test.ru</tt>).', 'rss-for-yandex-turbo'); ?></small>
1187 </td>
1188 </tr>
1189 <tr class="ytfeedbackvkontaktetr" style="display:none;">
1190 <th><?php _e('VKontakte:', 'rss-for-yandex-turbo'); ?></th>
1191 <td>
1192 <input type="text" name="ytfeedbackvkontakte" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackvkontakte']); ?>" />
1193 <br /><small><?php _e('Укажите урл (профиль, группа или чат) ВКонтакте (пример для чата: <tt>https://vk.me/123456</tt>, где <tt>123456</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
1194 </td>
1195 </tr>
1196 <tr class="ytfeedbackodnoklassnikitr" style="display:none;">
1197 <th><?php _e('Odnoklassniki:', 'rss-for-yandex-turbo'); ?></th>
1198 <td>
1199 <input type="text" name="ytfeedbackodnoklassniki" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackodnoklassniki']); ?>" />
1200 <br /><small><?php _e('Укажите урл (профиль или группа) Одноклассники (пример для профиля: <tt>https://www.ok.ru/profile/123456</tt>, где <tt>123456</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
1201 </td>
1202 </tr>
1203 <tr class="ytfeedbacktwittertr" style="display:none;">
1204 <th><?php _e('Twitter:', 'rss-for-yandex-turbo'); ?></th>
1205 <td>
1206 <input type="text" name="ytfeedbacktwitter" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbacktwitter']); ?>" />
1207 <br /><small><?php _e('Укажите урл профиля Twitter (пример: <tt>https://twitter.com/yandex</tt>, где <tt>yandex</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
1208 </td>
1209 </tr>
1210 <tr class="ytfeedbackfacebooktr" style="display:none;">
1211 <th><?php _e('Facebook:', 'rss-for-yandex-turbo'); ?></th>
1212 <td>
1213 <input type="text" name="ytfeedbackfacebook" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackfacebook']); ?>" />
1214 <br /><small><?php _e('Укажите урл (профиль, группа или чат) Facebook (пример для профиля: <tt>https://www.facebook.com/yandex</tt>, где <tt>yandex</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
1215 </td>
1216 </tr>
1217 <tr class="ytfeedbackvibertr" style="display:none;">
1218 <th><?php _e('Viber:', 'rss-for-yandex-turbo'); ?></th>
1219 <td>
1220 <input type="text" name="ytfeedbackviber" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackviber']); ?>" />
1221 <br /><small><?php _e('Укажите урл связи для Viber (пример для чата: <tt>viber://chat?number=+74951234567</tt>, где <tt>+74991234567</tt> это ваш номер телефона).', 'rss-for-yandex-turbo'); ?></small>
1222 </td>
1223 </tr>
1224 <tr class="ytfeedbackwhatsapptr" style="display:none;">
1225 <th><?php _e('Whatsapp:', 'rss-for-yandex-turbo'); ?></th>
1226 <td>
1227 <input type="text" name="ytfeedbackwhatsapp" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbackwhatsapp']); ?>" />
1228 <br /><small><?php _e('Укажите урл связи для Whatsapp (пример: <tt>whatsapp://send?phone=74951234567</tt>, где <tt>74951234567</tt> это ваш номер телефона).', 'rss-for-yandex-turbo'); ?></small>
1229 </td>
1230 </tr>
1231 <tr class="ytfeedbacktelegramtr" style="display:none;">
1232 <th><?php _e('Telegram:', 'rss-for-yandex-turbo'); ?></th>
1233 <td>
1234 <input type="text" name="ytfeedbacktelegram" size="40" value="<?php echo stripslashes($yturbo_options['ytfeedbacktelegram']); ?>" />
1235 <br /><small><?php _e('Укажите урл связи для Telegram (пример: <tt>https://t.me/123456</tt>, где <tt>123456</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
1236 </td>
1237 </tr>
1238 <tr class="ytcommentstr trbordertop">
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>
1246 <tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
1247 <th class="tdcheckbox"><?php _e('Аватары:', 'rss-for-yandex-turbo'); ?></th>
1248 <td>
1249 <label for="ytcommentsavatar"><input type="checkbox" value="enabled" name="ytcommentsavatar" id="ytcommentsavatar" <?php if ($yturbo_options['ytcommentsavatar'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить аватары к комментариям', 'rss-for-yandex-turbo'); ?></label>
1250 <br /><small><?php _e('Выводить или нет аватары (граватары) к комментариям.', 'rss-for-yandex-turbo'); ?><br />
1251 <?php _e('Внимание! Картинки аватаров могут не уложиться в лимит изображений на одну запись (не более <strong>50</strong> штук).', 'rss-for-yandex-turbo'); ?> <br />
1252 <?php _e('В случае отключения вывода аватаров Яндекс выведет на месте аватаров картинку-заглушку.', 'rss-for-yandex-turbo'); ?><br />
1253 </small>
1254 </td>
1255 </tr>
1256 <tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
1257 <th><?php _e('Число комментариев:', 'rss-for-yandex-turbo'); ?></th>
1258 <td>
1259 <input style="max-width: 50px;" name="ytcommentsnumber" type="number" min="1" max="40" step="1" value="<?php echo $yturbo_options['ytcommentsnumber']; ?>" />
1260 <br /><small><?php _e('Укажите число выводимых комментариев (максимально можно выводить только <strong>40</strong> комментариев).', 'rss-for-yandex-turbo'); ?><br/>
1261 </small>
1262 </td>
1263 </tr>
1264 <tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
1265 <th><?php _e('Сортировка:', 'rss-for-yandex-turbo'); ?></th>
1266 <td>
1267 <select name="ytcommentsorder" id="ytcommentsorder" style="width: 260px;">
1268 <option value="В начале новые комментарии" <?php if ($yturbo_options['ytcommentsorder'] == 'В начале новые комментарии') echo 'selected="selected"'; ?>><?php _e('В начале новые комментарии', 'rss-for-yandex-turbo'); ?></option>
1269 <option value="В начале старые комментарии" <?php if ($yturbo_options['ytcommentsorder'] == 'В начале старые комментарии') echo 'selected="selected"'; ?>><?php _e('В начале старые комментарии', 'rss-for-yandex-turbo'); ?></option>
1270 </select>
1271 <br /><small><?php _e('Сортировка комментариев по дате добавления.', 'rss-for-yandex-turbo'); ?> <br />
1272 <?php _e('Учтите, что при использовании древовидных комментариев сортировка визуально может быть нарушена.', 'rss-for-yandex-turbo'); ?><br />
1273 </small>
1274 </td>
1275 </tr>
1276 <tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
1277 <th class="tdcheckbox"><?php _e('Дата комментариев:', 'rss-for-yandex-turbo'); ?></th>
1278 <td>
1279 <label for="ytcommentsdate"><input type="checkbox" value="enabled" name="ytcommentsdate" id="ytcommentsdate" <?php if ($yturbo_options['ytcommentsdate'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить дату к комментариям', 'rss-for-yandex-turbo'); ?></label>
1280 <br /><small><?php _e('Указывать дату для комментариев по <a target="_blank" href="https://tech.yandex.ru/turbo/doc/rss/elements/comments-docpage/">спецификации</a> Яндекса необязательно.', 'rss-for-yandex-turbo'); ?>
1281 </small>
1282 </td>
1283 </tr>
1284 <tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
1285 <th class="tdcheckbox"><?php _e('Древовидность:', 'rss-for-yandex-turbo'); ?></th>
1286 <td>
1287 <label for="ytcommentsdrevo"><input type="checkbox" value="enabled" name="ytcommentsdrevo" id="ytcommentsdrevo" <?php if ($yturbo_options['ytcommentsdrevo'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Использовать древовидность', 'rss-for-yandex-turbo'); ?></label>
1288 <br /><small><?php _e('Выводить или не выводить комментарии в древовидном виде.', 'rss-for-yandex-turbo'); ?><br />
1289 <?php _e('Поддерживается древовидность только для 2 уровней глубины.', 'rss-for-yandex-turbo'); ?><br />
1290 <?php _e('Учтите, что отключение древовидности не повлияет на сортировку комментариев.', 'rss-for-yandex-turbo'); ?><br />
1291 </small>
1292 </td>
1293 </tr>
1294 <tr class="ytrelatedtr trbordertop">
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;"'; ?>>
1302 <th><?php _e('Количество похожих записей:', 'rss-for-yandex-turbo'); ?></th>
1303 <td>
1304 <input style="max-width: 50px;" name="ytrelatednumber" type="number" min="1" max="30" step="1" value="<?php echo $yturbo_options['ytrelatednumber']; ?>" />
1305 <br /><small><?php _e('Укажите число записей в блоке похожих записей.', 'rss-for-yandex-turbo'); ?> <br >
1306 <?php _e('Список похожих записей будет формироваться случайным образом из записей рубрики текущей записи.', 'rss-for-yandex-turbo'); ?><br />
1307 <?php _e('Внимание! Не устанавливайте слишком большое число похожих записей, если вы используете вместе с ними вывод миниатюр.', 'rss-for-yandex-turbo'); ?><br />
1308 <?php _e('Лимит Яндекса на общее количество изображений одной страницы - <strong>50</strong> (миниатюры похожих записей тоже учитываются).', 'rss-for-yandex-turbo'); ?><br />
1309 <?php _e('Больше <strong>30</strong> похожих записей установить нельзя (тоже лимит Яндекса на количество ссылок в блоке похожих записей).', 'rss-for-yandex-turbo'); ?><br />
1310 </small>
1311 </td>
1312 </tr>
1313 <tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
1314 <th><?php _e('Ограничение по дате:', 'rss-for-yandex-turbo'); ?></th>
1315 <td>
1316 <input style="max-width: 50px;" name="ytrelateddate" type="number" min="1" max="99" step="1" value="<?php echo $yturbo_options['ytrelateddate']; ?>" />
1317 <br /><small><?php _e('Для похожих записей будут взяты только записи, опубликованные за указанное количество последних месяцев.', 'rss-for-yandex-turbo'); ?><br >
1318 <?php _e('Это ограничение поможет избежать ситуаций, когда в похожих записях выводятся статьи 10-летней давности.', 'rss-for-yandex-turbo'); ?><br />
1319 <?php _e('Не ставьте маленькое количество месяцев в случае, если ваш сайт не слишком часто обновляется.', 'rss-for-yandex-turbo'); ?><br />
1320 <?php _e('В такой ситуации список похожих записей может быть очень коротким (или вообще пустым).', 'rss-for-yandex-turbo'); ?><br />
1321 <?php _e('Если информация на вашем сайте не устаревает со временем, то ограничение по дате не имеет смысла (смело ставьте 99 месяцев).', 'rss-for-yandex-turbo'); ?><br />
1322 </small>
1323 </td>
1324 </tr>
1325 <tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
1326 <th><?php _e('Миниатюра для похожих записей:', 'rss-for-yandex-turbo'); ?></th>
1327 <td>
1328 <select name="ytrelatedselectthumb" style="width: 260px;">
1329 <?php $image_sizes = get_intermediate_image_sizes(); ?>
1330 <?php foreach ($image_sizes as $size_name): ?>
1331 <option value="<?php echo $size_name ?>" <?php if ($yturbo_options['ytrelatedselectthumb'] == $size_name) echo 'selected="selected"'; ?>><?php echo $size_name ?></option>
1332 <?php endforeach; ?>
1333 <option value="Не использовать" <?php if ($yturbo_options['ytrelatedselectthumb'] == 'Не использовать') echo 'selected="selected"'; ?>><?php echo 'Не использовать'; ?></option>
1334 </select>
1335 <br /><small><?php _e('Выберите нужный размер миниатюры (в списке находятся все зарегистрированные на сайте размеры миниатюр). ', 'rss-for-yandex-turbo'); ?><br />
1336 <?php _e('Вывод миниатюр для похожих записей можно отключить.', 'rss-for-yandex-turbo'); ?><br />
1337 </small>
1338 </td>
1339 </tr>
1340 <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>
1348 </tr>
1349 <tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
1350 <th class="tdcheckbox"><?php _e('Кэширование:', 'rss-for-yandex-turbo'); ?></th>
1351 <td>
1352 <label for="ytrelatedcache"><input type="checkbox" value="enabled" name="ytrelatedcache" id="ytrelatedcache" <?php if ($yturbo_options['ytrelatedcache'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Кэшировать список похожих записей', 'rss-for-yandex-turbo'); ?></label>
1353 <br /><small><?php _e('Для ускорения генерирования RSS-ленты вы можете включить кэширование списка похожих записей.', 'rss-for-yandex-turbo'); ?></small>
1354 </td>
1355 </tr>
1356 <tr class="ytrelatedchildtr ytcachetime" style="display:none;">
1357 <th><?php _e('Время жизни кэша:', 'rss-for-yandex-turbo'); ?></th>
1358 <td>
1359 <input style="max-width: 70px;" name="ytrelatedcachetime" type="number" min="1" max="1000" step="1" value="<?php echo $yturbo_options['ytrelatedcachetime']; ?>" />
1360 <br /><small><?php _e('Укажите время жизни кэша (в часах).', 'rss-for-yandex-turbo'); ?><br />
1361 <?php _e('Внимание! Любое изменение настроек плагина скинет кэш похожих записей.', 'rss-for-yandex-turbo'); ?><br />
1362 </td>
1363 </tr>
1364 <tr class="ytratingtr trbordertop">
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;"'; ?>>
1372 <th><?php _e('Диапазон оценок:', 'rss-for-yandex-turbo'); ?></th>
1373 <td>
1374 <?php _e('От:', 'rss-for-yandex-turbo'); ?> <input style="max-width: 60px;margin-right:10px;" name="ytratingmin" type="number" min="1" max="5" step="0.01" value="<?php echo $yturbo_options['ytratingmin']; ?>" />
1375 <?php _e('До:', 'rss-for-yandex-turbo'); ?> <input style="max-width: 60px;" name="ytratingmax" type="number" min="1" max="5" step="0.01" value="<?php echo $yturbo_options['ytratingmax']; ?>" />
1376 <br /><small><?php _e('Укажите минимальную и максимальную оценку.', 'rss-for-yandex-turbo'); ?><br />
1377 <?php _e('Каждой записи будет присвоена случайная оценка в указанном диапазоне.', 'rss-for-yandex-turbo'); ?><br />
1378 <?php _e('Этот рейтинг будет выведен сразу после заголовка с миниатюрой записи.', 'rss-for-yandex-turbo'); ?><br />
1379 </td>
1380 </tr>
1381 <tr class="ytsearchtr trbordertop">
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>
1389 </tr>
1390 <tr class="ytsearchchildtr" <?php if ($yturbo_options['ytsearch'] == 'disabled') echo 'style="display:none;"'; ?>>
1391 <th><?php _e('Текст по умолчанию:', 'rss-for-yandex-turbo'); ?></th>
1392 <td>
1393 <input type="text" style="width:200px;" name="ytsearchplaceholder" size="20" value="<?php echo stripslashes($yturbo_options['ytsearchplaceholder']); ?>" />
1394 <br /><small><?php _e('Текст, который отображается в поисковой строке по умолчанию', 'rss-for-yandex-turbo'); ?><br />
1395 </td>
1396 </tr>
1397 <tr class="ytsearchchildtr" <?php if ($yturbo_options['ytsearch'] == 'disabled') echo 'style="display:none;"'; ?>>
1398 <th><?php _e('Расположение блока:', 'rss-for-yandex-turbo'); ?></th>
1399 <td>
1400 <select name="ytsearchmesto" id="ytsearchmesto" style="width: 260px;">
1401 <option value="В начале записи" <?php if ($yturbo_options['ytsearchmesto'] == 'В начале записи') echo 'selected="selected"'; ?>><?php _e('В начале записи', 'rss-for-yandex-turbo'); ?></option>
1402 <option value="В конце записи" <?php if ($yturbo_options['ytsearchmesto'] == 'В конце записи') echo 'selected="selected"'; ?>><?php _e('В конце записи', 'rss-for-yandex-turbo'); ?></option>
1403 </select>
1404 <br /><small><?php _e('В начале записи блок будет расположен после заголовка, а в конце записи после блока "Поделиться".', 'rss-for-yandex-turbo'); ?><br />
1405 </small>
1406 </td>
1407 </tr>
1408
1409 <tr class="trbordertop">
1410 <th></th>
1411 <td>
1412 <input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
1413 </td>
1414 </tr>
1415
1416 </table>
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>
1427 <input type="text" name="ytmetrika" size="22" value="<?php echo stripslashes($yturbo_options['ytmetrika']); ?>" />
1428 <br /><small><?php _e('Укажите числовой идентификатор счетчика (например: <tt>3338249</tt>).', 'rss-for-yandex-turbo'); ?><br />
1429 </small>
1430 </td>
1431 </tr>
1432 <tr>
1433 <th><?php _e('LiveInternet:', 'rss-for-yandex-turbo'); ?></th>
1434 <td>
1435 <input type="text" name="ytliveinternet" size="22" value="<?php echo stripslashes($yturbo_options['ytliveinternet']); ?>" />
1436 <br /><small><?php _e('Укажите идентификатор счетчика (например: <tt>site.ru</tt>).', 'rss-for-yandex-turbo'); ?></small>
1437 </td>
1438 </tr>
1439 <tr>
1440 <th><?php _e('Google Analytics:', 'rss-for-yandex-turbo'); ?></th>
1441 <td>
1442 <input type="text" name="ytgoogle" size="22" value="<?php echo stripslashes($yturbo_options['ytgoogle']); ?>" />
1443 <br /><small><?php _e('Укажите идентификатор отслеживания (например: <tt>UA-12340005-6</tt>).', 'rss-for-yandex-turbo'); ?></small>
1444 </td>
1445 </tr>
1446 <tr>
1447 <th><?php _e('Рейтинг Mail.Ru:', 'rss-for-yandex-turbo'); ?></th>
1448 <td>
1449 <input type="text" name="ytmailru" size="22" value="<?php echo stripslashes($yturbo_options['ytmailru']); ?>" />
1450 <br /><small><?php _e('Укажите числовой идентификатор счетчика (например: <tt>1234567</tt>).', 'rss-for-yandex-turbo'); ?></small>
1451 </td>
1452 </tr>
1453 <tr>
1454 <th><?php _e('Rambler Топ-100:', 'rss-for-yandex-turbo'); ?></th>
1455 <td>
1456 <input type="text" name="ytrambler" size="22" value="<?php echo stripslashes($yturbo_options['ytrambler']); ?>" />
1457 <br /><small><?php _e('Укажите числовой идентификатор счетчика (например: <tt>4505046</tt>).', 'rss-for-yandex-turbo'); ?></small>
1458 </td>
1459 </tr>
1460 <tr>
1461 <th><?php _e('Mediascope (TNS):', 'rss-for-yandex-turbo'); ?></th>
1462 <td>
1463 <input type="text" name="ytmediascope" size="22" value="<?php echo stripslashes($yturbo_options['ytmediascope']); ?>" />
1464 <br /><small><?php _e('Идентификатор проекта <tt>tmsec</tt> с окончанием <tt>-turbo</tt>. <br />Например, если для обычных страниц сайта установлен счетчик <tt>example_total</tt>, <br />то для турбо-страниц указывается <tt>example_total-turbo</tt>.', 'rss-for-yandex-turbo'); ?></small>
1465 </td>
1466 </tr>
1467
1468 <tr class="trbordertop">
1469 <th></th>
1470 <td>
1471 <input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
1472 </td>
1473 </tr>
1474
1475 </table>
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>
1491 <label for="ytad1"><input type="checkbox" value="enabled" name="ytad1" id="ytad1" <?php if ($yturbo_options['ytad1'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить первый блок рекламы (<span style="color:green;">после заголовка записи</span>)', 'rss-for-yandex-turbo'); ?></label>
1492 <br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?></small>
1493 </td>
1494 </tr>
1495 <tr class="myturbo block1" <?php if ($yturbo_options['ytad1'] == 'disabled') echo 'style="display:none;"'; ?>>
1496 <th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
1497 <td>
1498 <select name="ytad1set" id="ytad1set" style="width: 200px;">
1499 <option value="РСЯ" <?php if ($yturbo_options['ytad1set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
1500 <option value="ADFOX" <?php if ($yturbo_options['ytad1set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
1501 </select>
1502 <br /><small><?php _e('Рекламная сеть блока рекламы #1.', 'rss-for-yandex-turbo'); ?></small>
1503 </td>
1504 </tr>
1505 <tr class="myturbo trrsa block1" style="display:none;">
1506 <th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
1507 <td>
1508 <input type="text" name="ytad1rsa" size="22" value="<?php echo stripslashes($yturbo_options['ytad1rsa']); ?>" />
1509 <br /><small><?php _e('Укажите идентификатор блока РСЯ (например, <strong>RA-123456-7</strong>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-0">как его узнать</a>)</small>.', 'rss-for-yandex-turbo'); ?>
1510 </td>
1511 </tr>
1512 <tr class="myturbo trfox1 block1" style="display:none;">
1513 <th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
1514 <td>
1515 <textarea rows="12" cols="60" name="ytadfox1" id="ytadfox1"><?php echo stripcslashes($yturbo_options['ytadfox1']); ?></textarea>
1516 <br /><small><?php _e('Код рекламной сети ADFOX (начиная с <tt><div></tt>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-1">как его узнать</a>).', 'rss-for-yandex-turbo'); ?><br />
1517 </td>
1518 </tr>
1519
1520 <tr class="myturbo trbordertop">
1521 <th class="tdcheckbox"><?php _e('Блок рекламы #2:', 'rss-for-yandex-turbo'); ?></th>
1522 <td>
1523 <label for="ytad2"><input type="checkbox" value="enabled" name="ytad2" id="ytad2" <?php if ($yturbo_options['ytad2'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить второй блок рекламы (<span style="color:green;">в середине записи</span>)', 'rss-for-yandex-turbo'); ?></label>
1524 <br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?></small>
1525 </td>
1526 </tr>
1527 <tr class="myturbo block2" <?php if ($yturbo_options['ytad2'] == 'disabled') echo 'style="display:none;"'; ?>>
1528 <th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
1529 <td>
1530 <select name="ytad2set" id="ytad2set" style="width: 200px;">
1531 <option value="РСЯ" <?php if ($yturbo_options['ytad2set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
1532 <option value="ADFOX" <?php if ($yturbo_options['ytad2set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
1533 </select>
1534 <br /><small><?php _e('Рекламная сеть блока рекламы #2.', 'rss-for-yandex-turbo'); ?></small>
1535 </td>
1536 </tr>
1537 <tr class="myturbo trrsa2 block2" style="display:none;">
1538 <th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
1539 <td>
1540 <input type="text" name="ytad2rsa" size="22" value="<?php echo stripslashes($yturbo_options['ytad2rsa']); ?>" />
1541 <br /><small><?php _e('Укажите идентификатор блока РСЯ (например, <strong>RA-123456-7</strong>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-0">как его узнать</a>)</small>.', 'rss-for-yandex-turbo'); ?>
1542 </td>
1543 </tr>
1544 <tr class="myturbo trfox2 block2" style="display:none;">
1545 <th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
1546 <td>
1547 <textarea rows="12" cols="60" name="ytadfox2" id="ytadfox2"><?php echo stripcslashes($yturbo_options['ytadfox2']); ?></textarea>
1548 <br /><small><?php _e('Код рекламной сети ADFOX (начиная с <tt><div></tt>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-1">как его узнать</a>).', 'rss-for-yandex-turbo'); ?><br />
1549 </td>
1550 </tr>
1551 <tr class="myturbo trbordertop">
1552 <th class="tdcheckbox"><?php _e('Блок рекламы #3:', 'rss-for-yandex-turbo'); ?></th>
1553 <td>
1554 <label for="ytad3"><input type="checkbox" value="enabled" name="ytad3" id="ytad3" <?php if ($yturbo_options['ytad3'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить третий блок рекламы (<span style="color:green;">в конце записи</span>)', 'rss-for-yandex-turbo'); ?></label>
1555 <br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?> </small>
1556 </td>
1557 </tr>
1558 <tr class="myturbo block3" <?php if ($yturbo_options['ytad3'] == 'disabled') echo 'style="display:none;"'; ?>>
1559 <th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
1560 <td>
1561 <select name="ytad3set" id="ytad3set" style="width: 200px;">
1562 <option value="РСЯ" <?php if ($yturbo_options['ytad3set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
1563 <option value="ADFOX" <?php if ($yturbo_options['ytad3set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
1564 </select>
1565 <br /><small><?php _e('Рекламная сеть блока рекламы #3.', 'rss-for-yandex-turbo'); ?></small>
1566 </td>
1567 </tr>
1568 <tr class="myturbo trrsa3 block3" style="display:none;">
1569 <th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
1570 <td>
1571 <input type="text" name="ytad3rsa" size="22" value="<?php echo stripslashes($yturbo_options['ytad3rsa']); ?>" />
1572 <br /><small><?php _e('Укажите идентификатор блока РСЯ (например, <strong>RA-123456-7</strong>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-0">как его узнать</a>)</small>.', 'rss-for-yandex-turbo'); ?>
1573 </td>
1574 </tr>
1575 <tr class="myturbo trfox3 block3" style="display:none;">
1576 <th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
1577 <td>
1578 <textarea rows="12" cols="60" name="ytadfox3" id="ytadfox3"><?php echo stripcslashes($yturbo_options['ytadfox3']); ?></textarea>
1579 <br /><small><?php _e('Код рекламной сети ADFOX (начиная с <tt><div></tt>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-1">как его узнать</a>).', 'rss-for-yandex-turbo'); ?><br />
1580 </td>
1581 </tr>
1582 <tr class="myturbo trbordertop">
1583 <th class="tdcheckbox"><?php _e('Блок рекламы #4:', 'rss-for-yandex-turbo'); ?></th>
1584 <td>
1585 <label for="ytad4"><input type="checkbox" value="enabled" name="ytad4" id="ytad4" <?php if ($yturbo_options['ytad4'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить четвертый блок рекламы (<span style="color:green;">после блока "Поделиться"</span>)', 'rss-for-yandex-turbo'); ?></label>
1586 <br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?><br />
1587 <?php _e('Рекламный блок будет выведен только, если включена опция вывода блока "Поделиться".', 'rss-for-yandex-turbo'); ?></small>
1588 </td>
1589 </tr>
1590 <tr class="myturbo block4" <?php if ($yturbo_options['ytad4'] == 'disabled') echo 'style="display:none;"'; ?>>
1591 <th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
1592 <td>
1593 <select name="ytad4set" id="ytad4set" style="width: 200px;">
1594 <option value="РСЯ" <?php if ($yturbo_options['ytad4set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
1595 <option value="ADFOX" <?php if ($yturbo_options['ytad4set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
1596 </select>
1597 <br /><small><?php _e('Рекламная сеть блока рекламы #4.', 'rss-for-yandex-turbo'); ?></small>
1598 </td>
1599 </tr>
1600 <tr class="myturbo trrsa4 block4" style="display:none;">
1601 <th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
1602 <td>
1603 <input type="text" name="ytad4rsa" size="22" value="<?php echo stripslashes($yturbo_options['ytad4rsa']); ?>" />
1604 <br /><small><?php _e('Укажите идентификатор блока РСЯ (например, <strong>RA-123456-7</strong>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-0">как его узнать</a>)</small>.', 'rss-for-yandex-turbo'); ?>
1605 </td>
1606 </tr>
1607 <tr class="myturbo trfox4 block4" style="display:none;">
1608 <th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
1609 <td>
1610 <textarea rows="12" cols="60" name="ytadfox4" id="ytadfox4"><?php echo stripcslashes($yturbo_options['ytadfox4']); ?></textarea>
1611 <br /><small><?php _e('Код рекламной сети ADFOX (начиная с <tt><div></tt>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-1">как его узнать</a>).', 'rss-for-yandex-turbo'); ?><br />
1612 </td>
1613 </tr>
1614 <tr class="myturbo trbordertop">
1615 <th class="tdcheckbox"><?php _e('Блок рекламы #5:', 'rss-for-yandex-turbo'); ?></th>
1616 <td>
1617 <label for="ytad5"><input type="checkbox" value="enabled" name="ytad5" id="ytad5" <?php if ($yturbo_options['ytad5'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить пятый блок рекламы (<span style="color:green;">после комментариев</span>)', 'rss-for-yandex-turbo'); ?></label>
1618 <br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?> <br />
1619 <?php _e('Рекламный блок будет выведен только, если к записи есть хотя бы один комментарий (и включен вывод комментариев).', 'rss-for-yandex-turbo'); ?></small>
1620 </td>
1621 </tr>
1622 <tr class="myturbo block5" <?php if ($yturbo_options['ytad5'] == 'disabled') echo 'style="display:none;"'; ?>>
1623 <th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
1624 <td>
1625 <select name="ytad5set" id="ytad5set" style="width: 200px;">
1626 <option value="РСЯ" <?php if ($yturbo_options['ytad5set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
1627 <option value="ADFOX" <?php if ($yturbo_options['ytad5set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
1628 </select>
1629 <br /><small><?php _e('Рекламная сеть блока рекламы #5.', 'rss-for-yandex-turbo'); ?></small>
1630 </td>
1631 </tr>
1632 <tr class="myturbo trrsa5 block5" style="display:none;">
1633 <th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
1634 <td>
1635 <input type="text" name="ytad5rsa" size="22" value="<?php echo stripslashes($yturbo_options['ytad5rsa']); ?>" />
1636 <br /><small><?php _e('Укажите идентификатор блока РСЯ (например, <strong>RA-123456-7</strong>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-0">как его узнать</a>)</small>.', 'rss-for-yandex-turbo'); ?>
1637 </td>
1638 </tr>
1639 <tr class="myturbo trfox5 block5" style="display:none;">
1640 <th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
1641 <td>
1642 <textarea rows="12" cols="60" name="ytadfox5" id="ytadfox5"><?php echo stripcslashes($yturbo_options['ytadfox5']); ?></textarea>
1643 <br /><small><?php _e('Код рекламной сети ADFOX (начиная с <tt><div></tt>, <a target="_blank" href="https://tech.yandex.ru/turbo/doc/settings/ads-docpage/#doc-c-tabs-0-tab-1">как его узнать</a>).', 'rss-for-yandex-turbo'); ?><br />
1644 </td>
1645 </tr>
1646 <tr class="myturbo trbordertop">
1647 <th><?php _e('Минимальный размер записи:', 'rss-for-yandex-turbo'); ?></th>
1648 <td>
1649 <input style="max-width: 54px;" name="ytrazmer" type="number" min="1" max="10000" step="1" value="<?php echo $yturbo_options['ytrazmer']; ?>" />
1650 <br /><small><?php _e('Укажите минимальное количество символов записи для добавления рекламы.', 'rss-for-yandex-turbo'); ?><br/>
1651 <?php _e('Данная опция используется только при вставке рекламы в <strong>середину</strong> записи.', 'rss-for-yandex-turbo'); ?><br/>
1652 <?php _e('Учитывается только текст контента записи (HTML-разметка не считается).', 'rss-for-yandex-turbo'); ?>
1653 </small>
1654 </td>
1655 </tr>
1656
1657 <tr class="trbordertop">
1658 <th></th>
1659 <td>
1660 <input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
1661 </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>
1684 <?php
1685 $registered = get_post_types( array('public'=> true), 'objects' );
1686 $exclude = array('attachment');
1687 $types = array();
1688
1689 foreach ( $registered as $post ) {
1690 if ( in_array( $post->name, $exclude ) ) {
1691 continue;
1692 }
1693 $types[ $post->name ] = $post->name;
1694 }
1695
1696 $yttype = explode(",", $yturbo_options['yttype']);
1697 $yttype = array_diff($yttype, array(''));
1698
1699 foreach ( $types as $post_type ) {
1700 $obj = get_post_type_object( $post_type ); ?>
1701 <label class="types" for="<?php echo $post_type; ?>"><input type="checkbox" value="<?php echo $post_type; ?>" name="types[]" id="<?php echo $post_type; ?>" <?php if (in_array($post_type, $yttype)) echo 'checked="checked"'; ?> /><?php echo $obj->labels->name; ?> (<?php echo $post_type; ?>)</label>
1702 <?php } ?>
1703 <small><?php _e('Типы записей для включения в RSS-ленту.', 'rss-for-yandex-turbo'); ?></small>
1704 </td>
1705 </tr>
1706 <tr class="ytqueryselect trbordertop">
1707 <th><?php _e('Включить в RSS:', 'rss-for-yandex-turbo'); ?></th>
1708 <td>
1709 <select name="ytqueryselect" id="ytqueryselect" style="width: 280px;">
1710 <option value="Все таксономии, кроме исключенных" <?php if ($yturbo_options['ytqueryselect'] == 'Все таксономии, кроме исключенных') echo 'selected="selected"'; ?>><?php _e('Все таксономии, кроме исключенных', 'rss-for-yandex-turbo'); ?></option>
1711 <option value="Только указанные таксономии" <?php if ($yturbo_options['ytqueryselect'] == 'Только указанные таксономии') echo 'selected="selected"'; ?>><?php _e('Только указанные таксономии', 'rss-for-yandex-turbo'); ?></option>
1712 </select>
1713 <br /><small><?php _e('Внимание! Будьте осторожны с этой настройкой!', 'rss-for-yandex-turbo'); ?><br />
1714 <span id="includespan" <?php if ($yturbo_options['ytqueryselect'] != 'Только указанные таксономии') echo 'style="display:none;"'; ?>><?php _e('Обязательно установите ниже таксономии для включения в ленту - иначе лента будет пустой.', 'rss-for-yandex-turbo'); ?><br /></span>
1715 <span id="excludespan" <?php if ($yturbo_options['ytqueryselect'] != 'Все таксономии, кроме исключенных') echo 'style="display:none;"'; ?>><?php _e('По умолчанию в ленту попадают записи всех таксономий, кроме указанных ниже.', 'rss-for-yandex-turbo'); ?><br /></span>
1716 </small>
1717 </td>
1718 </tr>
1719 <tr class="yttaxlisttr" <?php if ($yturbo_options['ytqueryselect'] != 'Все таксономии, кроме исключенных') echo 'style="display:none;"'; ?>>
1720 <th><?php _e('Таксономии для исключения:', 'rss-for-yandex-turbo'); ?></th>
1721 <td>
1722 <textarea rows="5" cols="70" name="yttaxlist" id="yttaxlist"><?php echo stripslashes($yturbo_options['yttaxlist']); ?></textarea>
1723 <br /><small><?php _e('Используемый формат: <strong>taxonomy_name:id1,id2,id3</strong>', 'rss-for-yandex-turbo'); ?><br />
1724 <?php _e('Пример: <tt>category:1,2,4</tt> - записи рубрик с ID равным 1, 2 и 4 будут <strong style="color:red;">исключены</strong> из RSS-ленты.', 'rss-for-yandex-turbo'); ?><br />
1725 <?php _e('Каждая новая таксономия должна начинаться с новой строки.', 'rss-for-yandex-turbo'); ?><br />
1726 <?php _e('Стандартные таксономии WordPress: рубрика: <tt>category</tt>, метка: <tt>post_tag</tt>.', 'rss-for-yandex-turbo'); ?><br />
1727
1728 <br /><?php _e('Исключать из RSS-ленты отдельные записи необходимо в метабоксе плагина на странице редактировании записи.', 'rss-for-yandex-turbo'); ?><br />
1729 </small>
1730 </td>
1731 </tr>
1732 <tr class="ytaddtaxlisttr" <?php if ($yturbo_options['ytqueryselect'] != 'Только указанные таксономии') echo 'style="display:none;"'; ?>>
1733 <th><?php _e('Таксономии для добавления:', 'rss-for-yandex-turbo'); ?></th>
1734 <td>
1735 <textarea rows="5" cols="70" name="ytaddtaxlist" id="ytaddtaxlist"><?php echo stripslashes($yturbo_options['ytaddtaxlist']); ?></textarea>
1736 <br /><small><?php _e('Используемый формат: <strong>taxonomy_name:id1,id2,id3</strong>', 'rss-for-yandex-turbo'); ?><br />
1737 <?php _e('Пример: <tt>category:1,2,4</tt> - записи рубрик с ID равным 1, 2 и 4 будут <strong style="color:red;">добавлены</strong> в RSS-ленту.', 'rss-for-yandex-turbo'); ?><br />
1738 <?php _e('Каждая новая таксономия должна начинаться с новой строки.', 'rss-for-yandex-turbo'); ?><br />
1739 <?php _e('Стандартные таксономии WordPress: рубрика: <tt>category</tt>, метка: <tt>post_tag</tt>.', 'rss-for-yandex-turbo'); ?><br />
1740
1741 <br /><?php _e('Исключать из RSS-ленты отдельные записи необходимо в метабоксе плагина на странице редактировании записи.', 'rss-for-yandex-turbo'); ?><br />
1742 </small>
1743 </td>
1744 </tr>
1745 <tr class="trbordertop">
1746 <th class="tdcheckbox"><?php _e('Колонка в админке:', 'rss-for-yandex-turbo'); ?></th>
1747 <td>
1748 <label for="ytturbocolumn"><input type="checkbox" value="enabled" name="ytturbocolumn" id="ytturbocolumn" <?php if ($yturbo_options['ytturbocolumn'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Добавить колонку "Турбо" в админку', 'rss-for-yandex-turbo'); ?></label>
1749 <br /><small><?php _e('Будет выведена колонка (при просмотре списка записей) с информацией о турбо-статусе записей.', 'rss-for-yandex-turbo'); ?><br />
1750 <?php _e('Статусы: есть в RSS-ленте, исключена вручную, запись на удалении, исключена фильтрами таксономий.', 'rss-for-yandex-turbo'); ?><br />
1751 <?php _e('Статусы отображаются иконками для компактности, подробная информация при наведении курсора мышки.', 'rss-for-yandex-turbo'); ?><br />
1752 </small>
1753 </td>
1754 </tr>
1755
1756 <tr class="trbordertop">
1757 <th></th>
1758 <td>
1759 <input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
1760 </td>
1761 </tr>
1762 </table>
1763 </div><!-- end tab -->
1764
1765 <div class="xyztabs__content<?php if($yturbo_options['yttab']=='Шаблоны'){echo ' active';} ?>"><!-- begin tab -->
1766
1767 <p><?php _e('Здесь можно создать собственный шаблон формирования контента для указанного типа записей.', 'rss-for-yandex-turbo'); ?><br />
1768 <?php _e('Чтобы здесь появились все выбранные вами типы записей - <strong>сохраните</strong> настройки плагина.', 'rss-for-yandex-turbo'); ?><br />
1769 </p>
1770
1771 <p><?php _e('В шаблоне по умолчанию для каждого типа записей выводится только поле <strong>post_content</strong>.', 'rss-for-yandex-turbo'); ?><br />
1772 <?php _e('В стандартных типах записей (<strong>post</strong>, <strong>page</strong>) в этом поле содержится весь контент записи.', 'rss-for-yandex-turbo'); ?><br /></p>
1773
1774 <p><?php _e('Для использования произвольных полей оберните название произвольного поля символами <strong>%%</strong>.', 'rss-for-yandex-turbo'); ?><br />
1775 <?php _e('Например, <strong>%%views%%</strong>, <strong>%%ratings%%</strong> или <strong>%%_aioseop_title%%</strong>.', 'rss-for-yandex-turbo'); ?>
1776 </p>
1777
1778 <p><?php _e('Простой пример собственного шаблона:', 'rss-for-yandex-turbo'); ?><br />
1779
1780<pre><h2>Приветствуем!</h2>
1781
1782<a href="[yt-permalink]" data-turbo="false">Полная версия статьи</a>
1783
1784%%post_content%%
1785
1786Спасибо за внимание!
1787
1788</pre>
1789 </p>
1790
1791 <p><?php _e('То есть данную функцию плагина можно использовать в качестве "подписи" к вашим записям на турбо-страницах.', 'rss-for-yandex-turbo'); ?><br />
1792 <?php _e('Учтите, что фильтры плагина сработают уже после формирования контента записи по вашему шаблону.', 'rss-for-yandex-turbo'); ?><br />
1793 </p>
1794
1795 <p><?php _e('В шаблоне можно использовать шорткоды (убедитесь, что их вывод не содержит скрипты или css-код).', 'rss-for-yandex-turbo'); ?><br />
1796 <?php _e('В плагин встроено несколько собственных шорткодов, полный их список вы можете посмотреть <a target="_blank" href="https://ru.wordpress.org/plugins/rss-for-yandex-turbo/#%D0%BA%D0%B0%D0%BA%D0%B8%D0%B5%20%D1%88%D0%BE%D1%80%D1%82%D0%BA%D0%BE%D0%B4%D1%8B%20%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B2%20%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0%D1%85%3F">здесь</a>.', 'rss-for-yandex-turbo'); ?></p>
1797 <p> <?php _e('<strong>Внимание!</strong> Произвольные поля плагина <strong>Advanced Custom Fields</strong> необходимо обрабатывать <a target="_blank" href="https://ru.wordpress.org/plugins/rss-for-yandex-turbo/#%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B%20%D0%B8%20%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%20advanced%20custom%20fields">фильтром.</a>', 'rss-for-yandex-turbo'); ?><br /><br />
1798 </p>
1799
1800 <table class="form-table">
1801 <?php
1802 $i = 0;
1803 foreach ( $types as $post_type ) {
1804 $obj = get_post_type_object( $post_type );
1805
1806 if (in_array($post_type, $yttype)) {
1807 $i++; ?>
1808 <tr class="trbordertop">
1809 <th class="tdcheckbox"><?php echo $obj->labels->name; ?>:</th>
1810 <td>
1811
1812 <style>
1813 i.mce-i-yablocks {background-image: url('<?php echo $purl; ?>/img/yablocks.png');}
1814 i.mce-i-small {background-image: url('<?php echo $purl; ?>/img/small.png');}
1815 i.mce-i-big {background-image: url('<?php echo $purl; ?>/img/big.png');}
1816 </style>
1817 <?php if ( !isset($yturbo_options['template-'.$post_type]) ) {$yturbo_options['template-'.$post_type] = '';} ?>
1818 <?php if($yturbo_options['template-'.$post_type]=='') {$yturbo_options['template-'.$post_type]='%%post_content%%';} ?>
1819
1820 <?php $content = html_entity_decode(stripcslashes($yturbo_options['template-'.$post_type]),ENT_QUOTES); ?>
1821 <?php $editor_id = 'wpeditor' . $post_type; ?>
1822 <?php $textarea_name = 'template-' . $post_type; ?>
1823 <?php $settings = array(
1824 'textarea_name' => $textarea_name,
1825 'wpautop' => 1,
1826 'media_buttons' => 1,
1827 'textarea_rows' => 16,
1828 'editor_height' => 300,
1829 'tinymce' => array(
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,
1837 'buttons' => 'strong,em,link,block,del,hr,img,ul,ol,li,code,close,'
1838 ),
1839 );
1840 ?>
1841 <?php wp_editor( $content, $editor_id, $settings); ?>
1842 <small><?php _e('Шаблон контента для типа записи', 'rss-for-yandex-turbo'); ?>: <strong><?php echo $post_type; ?></strong>.</small>
1843
1844 </td>
1845 </tr>
1846 <?php }
1847 } ?>
1848 <?php if($i==0){echo __('<p><strong style="color:red;">Внимание!</strong> У вас не включен вывод ни для одного типа записей. <br />Перейдите на вкладку "<a href="#tab6">Типы записей и исключения</a>" и включите хотя бы один тип записей.</p>', 'rss-for-yandex-turbo');} ?>
1849
1850 <tr class="trbordertop">
1851 <th></th>
1852 <td>
1853 <input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
1854 </td>
1855 </tr>
1856 </table>
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>
1867 <label for="ytexcludeshortcodes"><input type="checkbox" value="enabled" name="ytexcludeshortcodes" id="ytexcludeshortcodes" <?php if ($yturbo_options['ytexcludeshortcodes'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Удалить указанные шорткоды', 'rss-for-yandex-turbo'); ?></label>
1868 <br /><small><?php _e('Из контента записей будут удалены все указанные шорткоды (вместе с их контентом).', 'rss-for-yandex-turbo'); ?> </small>
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>
1895 <tr class="ytexcludetagstr trbordertop">
1896 <th class="tdcheckbox"><?php _e('Фильтр тегов (без контента):', 'rss-for-yandex-turbo'); ?></th>
1897 <td>
1898 <label for="ytexcludetags"><input type="checkbox" value="enabled" name="ytexcludetags" id="ytexcludetags" <?php if ($yturbo_options['ytexcludetags'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Удалить указанные html-теги', 'rss-for-yandex-turbo'); ?></label>
1899 <br /><small><?php _e('Из контента записей будут удалены все указанные html-теги (<strong>сам контент этих тегов останется</strong>).', 'rss-for-yandex-turbo'); ?></small>
1900 </td>
1901 </tr>
1902 <tr class="ytexcludetagslisttr" <?php if ($yturbo_options['ytexcludetags'] == 'disabled') echo 'style="display:none;"'; ?>>
1903 <th><?php _e('Теги для удаления:', 'rss-for-yandex-turbo'); ?></th>
1904 <td>
1905 <textarea rows="4" cols="70" name="ytexcludetagslist" id="ytexcludetagslist"><?php echo stripslashes($yturbo_options['ytexcludetagslist']); ?></textarea>
1906 <br /><small><?php _e('Список удаляемых html-тегов через запятую (пример: <tt><div>,<span></tt>).', 'rss-for-yandex-turbo'); ?><br />
1907 <?php _e('Указывать классы, идентификаторы и прочее нельзя, только сами теги.', 'rss-for-yandex-turbo'); ?><br />
1908 <?php _e('Самозакрывающиеся теги вроде <tt><img src="..." /></tt> и <tt><br /></tt> удалить нельзя.', 'rss-for-yandex-turbo'); ?><br />
1909 </small>
1910 </td>
1911 </tr>
1912 <tr class="ytexcludetags2tr trbordertop">
1913 <th class="tdcheckbox"><?php _e('Фильтр тегов (с контентом):', 'rss-for-yandex-turbo'); ?></th>
1914 <td>
1915 <label for="ytexcludetags2"><input type="checkbox" value="enabled" name="ytexcludetags2" id="ytexcludetags2" <?php if ($yturbo_options['ytexcludetags2'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Удалить указанные html-теги', 'rss-for-yandex-turbo'); ?></label>
1916 <br /><small><?php _e('Из контента записей будут удалены все указанные html-теги (<strong>включая сам контент этих тегов</strong>).', 'rss-for-yandex-turbo'); ?></small>
1917 </td>
1918 </tr>
1919 <tr class="ytexcludetagslist2tr" <?php if ($yturbo_options['ytexcludetags2'] == 'disabled') echo 'style="display:none;"'; ?>>
1920 <th><?php _e('Теги для удаления:', 'rss-for-yandex-turbo'); ?></th>
1921 <td>
1922 <textarea rows="4" cols="70" name="ytexcludetagslist2" id="ytexcludetagslist2"><?php echo stripslashes($yturbo_options['ytexcludetagslist2']); ?></textarea>
1923 <br /><small><?php _e('Список удаляемых html-тегов через запятую (пример: <tt><style>,<script></tt>).', 'rss-for-yandex-turbo'); ?><br />
1924 <?php _e('Указывать классы, идентификаторы и прочее нельзя, только сами теги.', 'rss-for-yandex-turbo'); ?> <br />
1925 <?php _e('Самозакрывающиеся теги вроде <tt><img src="..." /></tt> и <tt><br /></tt> удалить нельзя.', 'rss-for-yandex-turbo'); ?><br />
1926 </small>
1927 </td>
1928 </tr>
1929 <tr class="ytexcludecontenttr trbordertop">
1930 <th class="tdcheckbox"><?php _e('Контент для удаления:', 'rss-for-yandex-turbo'); ?></th>
1931 <td>
1932 <label for="ytexcludecontent"><input type="checkbox" value="enabled" name="ytexcludecontent" id="ytexcludecontent" <?php if ($yturbo_options['ytexcludecontent'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Удалить указанный контент из RSS', 'rss-for-yandex-turbo'); ?></label>
1933 <br /><small><?php _e('Точные вхождения указанного контента будут удалены из записей в RSS-ленте.', 'rss-for-yandex-turbo'); ?></small>
1934 </td>
1935 </tr>
1936 <tr class="ytexcludecontentlisttr" <?php if ($yturbo_options['ytexcludecontent'] == 'disabled') echo 'style="display:none;"'; ?>>
1937 <th><?php _e('Список удаляемого контента:', 'rss-for-yandex-turbo'); ?></th>
1938 <td>
1939 <textarea rows="8" cols="70" name="ytexcludecontentlist" id="ytexcludecontentlist"><?php echo stripcslashes($yturbo_options['ytexcludecontentlist']); ?></textarea>
1940 <br /><small><?php _e('Каждый новый шаблон для удаления должен начинаться с новой строки.', 'rss-for-yandex-turbo'); ?><br />
1941 </small>
1942 </td>
1943 </tr>
1944
1945 <tr class="trbordertop">
1946 <th></th>
1947 <td>
1948 <input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
1949 </td>
1950 </tr>
1951 </table>
1952 </div><!-- end tab -->
1953
1954</div><!-- .xyztabs -->
1955
1956<div id="about" class="postbox" style="margin-bottom:0;">
1957<script>
1958var closeabout = localStorage.getItem('yt-close-about');
1959if (closeabout == 'yes') {
1960 document.getElementById('about').className = 'postbox hide';
1961 document.getElementById('restore-hide-blocks').className = 'dashicons dashicons-admin-generic';
1962}
1963</script>
1964 <h3 style="border-bottom: 1px solid #E1E1E1;background: #f7f7f7;"><span class="tcode"><?php _e('О плагине', 'rss-for-yandex-turbo'); ?></span>
1965 <span id="close-about" class="dashicons dashicons-no-alt" title="<?php _e('Скрыть блок', 'rss-for-yandex-turbo'); ?>"></span></h3>
1966 <div class="inside" style="padding-bottom:15px;display: block;">
1967
1968 <p><?php _e('Если вам нравится мой плагин, то, пожалуйста, поставьте ему <a target="_blank" href="https://wordpress.org/support/plugin/rss-for-yandex-turbo/reviews/#new-post"><strong>5 звезд</strong></a> в репозитории.', 'rss-for-yandex-turbo'); ?></p>
1969 <p style="margin-top:20px;margin-bottom:10px;"><?php _e('Возможно, что вам также будут интересны другие мои плагины:', 'rss-for-yandex-turbo'); ?></p>
1970
1971 <div class="about">
1972 <ul>
1973 <li><a target="_blank" href="https://ru.wordpress.org/plugins/rss-for-yandex-zen/">RSS for Yandex Zen</a> - <?php _e('создание RSS-ленты для сервиса Яндекс.Дзен.', 'rss-for-yandex-turbo'); ?></li>
1974 <li><a target="_blank" href="https://ru.wordpress.org/plugins/bbspoiler/">BBSpoiler</a> - <?php _e('плагин позволит вам спрятать текст под тегами [spoiler]текст[/spoiler].', 'rss-for-yandex-turbo'); ?></li>
1975 <li><a target="_blank" href="https://ru.wordpress.org/plugins/easy-textillate/">Easy Textillate</a> - <?php _e('плагин очень красиво анимирует текст (шорткодами в записях и виджетах или PHP-кодом в файлах темы).', 'rss-for-yandex-turbo'); ?> </li>
1976 <li><a target="_blank" href="https://ru.wordpress.org/plugins/cool-image-share/">Cool Image Share</a> - <?php _e('плагин добавляет иконки социальных сетей на каждое изображение в ваших записях.', 'rss-for-yandex-turbo'); ?> </li>
1977 <li><a target="_blank" href="https://ru.wordpress.org/plugins/today-yesterday-dates/">Today-Yesterday Dates</a> - <?php _e('относительные даты для записей за сегодня и вчера.', 'rss-for-yandex-turbo'); ?> </li>
1978 <li><a target="_blank" href="https://ru.wordpress.org/plugins/truncate-comments/">Truncate Comments</a> - <?php _e('плагин скрывает длинные комментарии js-скриптом (в стиле Яндекса или Амазона).', 'rss-for-yandex-turbo'); ?> </li>
1979 <li><a target="_blank" href="https://ru.wordpress.org/plugins/easy-yandex-share/">Easy Yandex Share</a> - <?php _e('продвинутый вывод блока “Яндекс.Поделиться”.', 'rss-for-yandex-turbo'); ?></li>
1980 <li><a target="_blank" href="https://wordpress.org/plugins/hide-my-dates/">Hide My Dates</a> - <?php _e('this plugin hides post and comment publishing dates from Google.', 'rss-for-yandex-turbo'); ?></li>
1981 <li style="margin: 3px 0px 3px 35px;"><a target="_blank" href="https://ru.wordpress.org/plugins/html5-cumulus/">HTML5 Cumulus</a> <span class="new">new</span> - <?php _e('современная (HTML5) версия классического плагина “WP-Cumulus”.', 'rss-for-yandex-turbo'); ?></li>
1982
1983 </ul>
1984 </div>
1985 </div>
1986</div>
1987<?php wp_nonce_field( plugin_basename(__FILE__), 'yturbo_nonce' ); ?>
1988</form>
1989</div>
1990</div>
1991<?php
1992}
1993//функция вывода страницы настроек плагина end
1994
1995//функция добавления ссылки на страницу настроек плагина в раздел "Настройки" begin
1996function yturbo_menu() {
1997 add_options_page('Яндекс.Турбо', 'Яндекс.Турбо', 'manage_options', 'rss-for-yandex-turbo.php', 'yturbo_options_page');
1998}
1999add_action( 'admin_menu', 'yturbo_menu' );
2000//функция добавления ссылки на страницу настроек плагина в раздел "Настройки" end
2001
2002//создаем метабокс begin
2003function yturbo_meta_box() {
2004 $yturbo_options = get_option('yturbo_options');
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}
2043add_action( 'add_meta_boxes', 'yturbo_meta_box' );
2044//создаем метабокс end
2045
2046//сохраняем метабокс begin
2047function yturbo_save_metabox( $post_id ) {
2048
2049 if ( ! isset($_POST['yturbo_meta_nonce']) )
2050 return $post_id;
2051
2052 if ( ! wp_verify_nonce($_POST['yturbo_meta_nonce'], plugin_basename(__FILE__)) )
2053 return $post_id;
2054
2055 if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
2056 return $post_id;
2057
2058 if(isset($_POST['ytrssenabled'])){
2059 update_post_meta($post_id, 'ytrssenabled_meta_value', 'yes');
2060 } else {
2061 update_post_meta($post_id, 'ytrssenabled_meta_value', 'no');
2062 }
2063 if(isset($_POST['ytremove'])){
2064 update_post_meta($post_id, 'ytremove_meta_value', 'yes');
2065 } else {
2066 update_post_meta($post_id, 'ytremove_meta_value', 'no');
2067 }
2068
2069 if(isset($_POST['ytad1meta'])){
2070 update_post_meta($post_id, 'ytad1meta', 'disabled');
2071 } else {
2072 update_post_meta($post_id, 'ytad1meta', 'enabled');
2073 }
2074 if(isset($_POST['ytad2meta'])){
2075 update_post_meta($post_id, 'ytad2meta', 'disabled');
2076 } else {
2077 update_post_meta($post_id, 'ytad2meta', 'enabled');
2078 }
2079 if(isset($_POST['ytad3meta'])){
2080 update_post_meta($post_id, 'ytad3meta', 'disabled');
2081 } else {
2082 update_post_meta($post_id, 'ytad3meta', 'enabled');
2083 }
2084 if(isset($_POST['ytad4meta'])){
2085 update_post_meta($post_id, 'ytad4meta', 'disabled');
2086 } else {
2087 update_post_meta($post_id, 'ytad4meta', 'enabled');
2088 }
2089 if(isset($_POST['ytad5meta'])){
2090 update_post_meta($post_id, 'ytad5meta', 'disabled');
2091 } else {
2092 update_post_meta($post_id, 'ytad5meta', 'enabled');
2093 }
2094
2095 if(isset($_POST['template_meta'])){
2096 $template_meta = 'yes';
2097 update_post_meta($post_id, 'template_meta', $template_meta);
2098 } else {
2099 $template_meta = 'no';
2100 update_post_meta($post_id, 'template_meta', $template_meta);
2101 }
2102
2103 //сохраняем индивидуальный шаблон только, если стоит галочка на его использовании
2104 if($template_meta == 'yes') {
2105 $custom_template = esc_textarea($_POST['custom_template']);
2106 update_post_meta($post_id, 'custom_template', $custom_template);
2107 }
2108}
2109add_action( 'save_post', 'yturbo_save_metabox' );
2110//сохраняем метабокс end
2111
2112//выводим метабокс begin
2113function yturbo_callback() {
2114 global $post;
2115 $purl = plugins_url('', __FILE__);
2116 wp_nonce_field( plugin_basename(__FILE__), 'yturbo_meta_nonce' );
2117
2118 $yturbo_options = get_option('yturbo_options');
2119
2120 $ytad1meta = get_post_meta($post->ID, 'ytad1meta', true);
2121 if (!$ytad1meta) {$ytad1meta = $yturbo_options['ytad1'];}
2122
2123 $ytad2meta = get_post_meta($post->ID, 'ytad2meta', true);
2124 if (!$ytad2meta) {$ytad2meta = $yturbo_options['ytad2'];}
2125
2126 $ytad3meta = get_post_meta($post->ID, 'ytad3meta', true);
2127 if (!$ytad3meta) {$ytad3meta = $yturbo_options['ytad3'];}
2128
2129 $ytad4meta = get_post_meta($post->ID, 'ytad4meta', true);
2130 if (!$ytad4meta) {$ytad4meta = $yturbo_options['ytad4'];}
2131
2132 $ytad5meta = get_post_meta($post->ID, 'ytad5meta', true);
2133 if (!$ytad5meta) {$ytad5meta = $yturbo_options['ytad5'];}
2134
2135 $ytrssenabled = get_post_meta($post->ID, 'ytrssenabled_meta_value', true);
2136 if (!$ytrssenabled) {$ytrssenabled = 'no';}
2137
2138 $ytremove = get_post_meta($post->ID, 'ytremove_meta_value', true);
2139 if (!$ytremove) {$ytremove = 'no';}
2140
2141 $template_meta = get_post_meta($post->ID, 'template_meta', true);
2142 if (!$template_meta) {$template_meta = 'no';}
2143
2144 $custom_template = get_post_meta($post->ID, 'custom_template', true);
2145 $custom_template = html_entity_decode(stripcslashes($custom_template),ENT_QUOTES);
2146 if (!$custom_template) {
2147 $post_type = get_post_type( get_the_ID() );
2148 if ( !isset($yturbo_options['template-'.$post_type]) ) {$yturbo_options['template-'.$post_type] = '';}
2149 if ( $yturbo_options['template-'.$post_type] == '' ) {
2150 $custom_template = '%%post_content%%';
2151 } else {
2152 $custom_template = html_entity_decode(stripcslashes($yturbo_options['template-'.$post_type]),ENT_QUOTES);
2153 }
2154 }
2155 //обрабатываем шаблон функцией wpautop, если активирован блочный редактор
2156 global $wp_version;
2157 $block_editor_enabled = false;
2158 if ( version_compare( $wp_version, '5.0', '>=' ) ) {
2159 $block_editor_enabled = get_current_screen()->is_block_editor();
2160 }
2161 if ( $block_editor_enabled == true ) {
2162 $custom_template = wpautop( $custom_template );
2163 }
2164 ?>
2165
2166 <p style="margin: 10px 0px 0px 1px!important;">
2167
2168<script>
2169jQuery(document).ready(function($) {
2170 if ($('#ytrssenabled').is(':checked')) {$temp = 1;}
2171 if ($('#ytremove').is(':checked')) {$('#ytrssenabled').removeAttr('checked');$('#ytrssenabled').attr('disabled', true);}
2172 $('#ytrssenabled').change(function() {
2173 if(this.checked) {
2174 $temp = 1;
2175 } else {
2176 $temp = 0;
2177 }
2178 });
2179 $('#ytremove').change(function() {
2180 if(this.checked) {
2181 $('#ytrssenabled').removeAttr('checked');
2182 $('#ytrssenabled').attr('disabled', true);
2183 } else {
2184 $('#ytrssenabled').attr('disabled', false);
2185 if ($temp == 1) {$('#ytrssenabled').attr ('checked', 'checked');}
2186 }
2187 });
2188 $('#template_meta').change(function() {
2189 if(this.checked) {
2190 $('#custom_template_op').fadeIn();
2191 } else {
2192 $('#custom_template_op').hide();
2193 }
2194 });
2195})
2196</script>
2197<style>
2198i.mce-i-yablocks {background-image: url('<?php echo $purl; ?>/img/yablocks.png');}
2199i.mce-i-small {background-image: url('<?php echo $purl; ?>/img/small.png');}
2200i.mce-i-big {background-image: url('<?php echo $purl; ?>/img/big.png');}
2201tt{padding: 1px 5px 1px;margin: 0 1px;background: #eaeaea;background: rgba(0, 0, 0, .07);font-family: Consolas, Monaco, monospace;unicode-bidi: embed;}
2202</style>
2203
2204 <label for="ytrssenabled"><input type="checkbox" <?php if ($ytremove != 'yes') {echo 'value="enabled"';}else{echo 'disabled';} ?> name="ytrssenabled" id="ytrssenabled" <?php if ($ytrssenabled == 'yes' && $ytremove != 'yes') echo 'checked="checked"'; ?> /><?php _e('Исключить эту запись из RSS', 'rss-for-yandex-turbo'); ?></label><br />
2205 <label for="ytremove"><input type="checkbox" name="ytremove" id="ytremove" <?php if ($ytremove == 'yes') echo 'checked="checked"'; ?> /><?php _e('Удалить турбо-страницу для этой записи', 'rss-for-yandex-turbo'); ?></label><br>
2206
2207 <small style="margin-top:5px;"><?php _e('Удалить турбо-страницу можно только, если запись попадет в RSS-ленту.', 'rss-for-yandex-turbo'); ?></small>
2208 </p>
2209
2210 <p style="margin:10px 0 5px 1px!important;">
2211
2212 <?php if ($yturbo_options['ytad1'] == 'enabled') { ?>
2213 <label for="ytad1meta"><input type="checkbox" name="ytad1meta" id="ytad1meta" <?php if ($ytad1meta == 'disabled') echo 'checked="checked"'; ?> /><?php _e('Отключить блок рекламы #1 для этой записи (в начале записи)', 'rss-for-yandex-turbo'); ?></label><br />
2214 <?php } ?>
2215 <?php if ($yturbo_options['ytad2'] == 'enabled') { ?>
2216 <label for="ytad2meta"><input type="checkbox" name="ytad2meta" id="ytad2meta" <?php if ($ytad2meta == 'disabled') echo 'checked="checked"'; ?> /><?php _e('Отключить блок рекламы #2 для этой записи (в середине записи)', 'rss-for-yandex-turbo'); ?></label><br />
2217 <?php } ?>
2218 <?php if ($yturbo_options['ytad3'] == 'enabled') { ?>
2219 <label for="ytad3meta"><input type="checkbox" name="ytad3meta" id="ytad3meta" <?php if ($ytad3meta == 'disabled') echo 'checked="checked"'; ?> /><?php _e('Отключить блок рекламы #3 для этой записи (в конце записи)', 'rss-for-yandex-turbo'); ?></label><br />
2220 <?php } ?>
2221 <?php if ($yturbo_options['ytad4'] == 'enabled') { ?>
2222 <label for="ytad4meta"><input type="checkbox" name="ytad4meta" id="ytad4meta" <?php if ($ytad4meta == 'disabled') echo 'checked="checked"'; ?> /><?php _e('Отключить блок рекламы #4 для этой записи (после блока "Поделиться")', 'rss-for-yandex-turbo'); ?></label><br />
2223 <?php } ?>
2224 <?php if ($yturbo_options['ytad5'] == 'enabled') { ?>
2225 <label for="ytad5meta"><input type="checkbox" name="ytad5meta" id="ytad5meta" <?php if ($ytad5meta == 'disabled') echo 'checked="checked"'; ?> /><?php _e('Отключить блок рекламы #5 для этой записи (после комментариев)', 'rss-for-yandex-turbo'); ?></label><br />
2226 <?php } ?>
2227 </p>
2228
2229 <div style="margin:10px 0 5px 1px!important;">
2230 <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 />
2231 <div id="custom_template_op" class="foptions" style="margin:5px 0 0 0;margin-top:5px;<?php if ($template_meta != 'yes') echo 'display:none;'; ?>">
2232 <style>.foptions .wp-editor-wrap .button,.foptions .wp-editor-wrap .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}.foptions .wp-editor-wrap .button-secondary:active,.foptions .wp-editor-wrap .button.active,.foptions .wp-editor-wrap .button.active:hover,.foptions .wp-editor-wrap .button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.foptions .wp-editor-wrap .button:active,.foptions .wp-editor-wrap .button:focus{outline:2px solid transparent;outline-offset:0}.foptions .wp-editor-wrap .button-secondary:focus,.foptions .wp-editor-wrap .button-secondary:hover,.foptions .wp-editor-wrap .button.focus,.foptions .wp-editor-wrap .button.hover,.foptions .wp-editor-wrap .button:focus,.foptions .wp-editor-wrap .button:hover{background:#fafafa;border-color:#999;color:#23282d}.foptions .wp-editor-area,.foptions .wp-editor-area:active,.foptions .wp-editor-area:focus{box-shadow:0 0 2px rgba(30,140,190,0)!important;border:none!important;border-radius:0!important}.foptions .wp-editor-wrap #insert-media-button:focus,.foptions .wp-editor-wrap .button:focus{border-color:#5b9dd9;box-shadow:0 0 3px rgba(0,115,170,.8)}.foptions .wp-editor-wrap .button-secondary:active,.foptions .wp-editor-wrap .button.active,.foptions .wp-editor-wrap .button.active:hover,.foptions .wp-editor-wrap .button:active{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}.foptions .wp-editor-wrap .mce-ico.mce-i-table{margin-top:2px;height:18px}.foptions #wp-customtemplate-wrap{margin-bottom:6px}.foptions .wp-editor-wrap .mce-btn-has-text .mce-ico {padding-right: 0px!important;}.foptions .wp-editor-wrap .mce-btn-has-text .mce-txt{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif!important;}</style>
2233 <div style="margin-top:10px;"></div>
2234 <?php $settings = array(
2235 'textarea_name' => 'custom_template',
2236 'wpautop' => 1,
2237 'media_buttons' => 1,
2238 'textarea_rows' => 16,
2239 'editor_height' => 350,
2240 'tinymce' => array(
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',
2248 'buttons' => 'strong,em,link,block,del,hr,img,ul,ol,li,code,close,'
2249 ),
2250 ); ?>
2251 <?php wp_editor( $custom_template, 'customtemplate', $settings ); ?>
2252 <small><?php _e('Названия произвольных полей должны быть обернуты символами <strong>%%</strong>.', 'rss-for-yandex-turbo'); ?>
2253 <?php _e('Например, <strong>%%views%%</strong>. Стандартное поле со всем контентом - <strong>%%post_content%%</strong>.', 'rss-for-yandex-turbo'); ?><br />
2254 <?php _e('Проверяйте отображение записи в "Отладке" в Яндекс.Вебмастере - визуальный редактор WordPress не может отобразить блоки так, как они будут выглядеть на турбо-страницах. ', 'rss-for-yandex-turbo'); ?><br />
2255 <?php _e('При слишком большом различии контента мобильной версии страницы от ее турбо-версии Яндекс может выдать ошибку и отключить турбо-страницу для этой записи.', 'rss-for-yandex-turbo'); ?><br />
2256 <?php _e('Документацию по оформлению элементов турбо-страниц вы можете посмотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/index-docpage/">тут</a>, список встроенных в плагин шорткодов <a target="_blank" href="https://ru.wordpress.org/plugins/rss-for-yandex-turbo/#%D0%BA%D0%B0%D0%BA%D0%B8%D0%B5%20%D1%88%D0%BE%D1%80%D1%82%D0%BA%D0%BE%D0%B4%D1%8B%20%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B2%20%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0%D1%85%3F">здесь</a>.', 'rss-for-yandex-turbo'); ?><br />
2257
2258 <?php if ( $block_editor_enabled == true ) { ?>
2259 <?php _e('<br /><span style="color:red;">Внимание!</span> Вы используете блочный редактор, в этом случае автоформатирование текста на основе переноса строк работать не будет, расставляйте ', 'rss-for-yandex-turbo'); ?><br />
2260 <?php _e('теги <tt><p></tt> и <tt><br /></tt> вручную или в визуальном режиме редактора (плагин потом заменит код <tt><p>%%post_content%%</p></tt> на <tt>%%post_content%%</tt>).', 'rss-for-yandex-turbo'); ?><br />
2261 <?php } ?>
2262 </small>
2263 </div>
2264 </div>
2265
2266<?php }
2267//выводим метабокс end
2268
2269//добавляем новую rss-ленту begin
2270function yturbo_add_feed() {
2271 $yturbo_options = get_option('yturbo_options');
2272 add_feed($yturbo_options['ytrssname'], 'yturbo_feed_template');
2273}
2274add_action( 'init', 'yturbo_add_feed' );
2275//добавляем новую rss-ленту end
2276
2277//шаблон для RSS-ленты Яндекс.Турбо begin
2278function yturbo_feed_template() {
2279$yturbo_options = get_option('yturbo_options');
2280
2281$yttitle = $yturbo_options['yttitle'];
2282$ytlink = $yturbo_options['ytlink'];
2283$ytdescription = $yturbo_options['ytdescription'];
2284$ytlanguage = $yturbo_options['ytlanguage'];
2285$ytnumber = $yturbo_options['ytnumber'];
2286$ytrazb = $yturbo_options['ytrazb'];
2287$ytrazbnumber = $yturbo_options['ytrazbnumber'];
2288$yttype = $yturbo_options['yttype'];
2289$yttype = explode(",", $yttype);
2290$yttype = array_diff($yttype, array(''));
2291$ytfigcaption = $yturbo_options['ytfigcaption'];
2292$ytauthorselect = $yturbo_options['ytauthorselect'];
2293$ytauthor = $yturbo_options['ytauthor'];
2294$ytthumbnail = $yturbo_options['ytthumbnail'];
2295$ytselectthumb = $yturbo_options['ytselectthumb'];
2296
2297if ( 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'];
2308$ytadfox1 = html_entity_decode(stripcslashes($yturbo_options['ytadfox1']),ENT_QUOTES);
2309$ytad2 = $yturbo_options['ytad2'];
2310$ytad2set = $yturbo_options['ytad2set'];
2311$ytad2rsa = $yturbo_options['ytad2rsa'];
2312$ytadfox2 = html_entity_decode(stripcslashes($yturbo_options['ytadfox2']),ENT_QUOTES);
2313$ytad3 = $yturbo_options['ytad3'];
2314$ytad3set = $yturbo_options['ytad3set'];
2315$ytad3rsa = $yturbo_options['ytad3rsa'];
2316$ytadfox3 = html_entity_decode(stripcslashes($yturbo_options['ytadfox3']),ENT_QUOTES);
2317$ytad4 = $yturbo_options['ytad4'];
2318$ytad4set = $yturbo_options['ytad4set'];
2319$ytad4rsa = $yturbo_options['ytad4rsa'];
2320$ytadfox4 = html_entity_decode(stripcslashes($yturbo_options['ytadfox4']),ENT_QUOTES);
2321$ytad5 = $yturbo_options['ytad5'];
2322$ytad5set = $yturbo_options['ytad5set'];
2323$ytad5rsa = $yturbo_options['ytad5rsa'];
2324$ytadfox5 = html_entity_decode(stripcslashes($yturbo_options['ytadfox5']),ENT_QUOTES);
2325
2326$ytexcludetags = $yturbo_options['ytexcludetags'];
2327$ytexcludetagslist = html_entity_decode($yturbo_options['ytexcludetagslist']);
2328$ytexcludetags2 = $yturbo_options['ytexcludetags2'];
2329$ytexcludetagslist2 = html_entity_decode($yturbo_options['ytexcludetagslist2']);
2330$ytexcludecontent = $yturbo_options['ytexcludecontent'];
2331$ytexcludecontentlist = html_entity_decode($yturbo_options['ytexcludecontentlist']);
2332$tax_query = array();
2333
2334$ytrelated = $yturbo_options['ytrelated'];
2335$ytrelatednumber = $yturbo_options['ytrelatednumber'];
2336$ytrelatedselectthumb = $yturbo_options['ytrelatedselectthumb'];
2337$ytrelatedcachetime = $yturbo_options['ytrelatedcachetime'];
2338$ytremoveturbo = $yturbo_options['ytremoveturbo'];
2339$ytrelatedinfinity = $yturbo_options['ytrelatedinfinity'];
2340$ytrelatedcache = $yturbo_options['ytrelatedcache'];
2341
2342$ytmetrika = $yturbo_options['ytmetrika'];
2343$ytliveinternet = $yturbo_options['ytliveinternet'];
2344$ytgoogle = $yturbo_options['ytgoogle'];
2345$ytmailru = $yturbo_options['ytmailru'];
2346$ytrambler = $yturbo_options['ytrambler'];
2347$ytmediascope = $yturbo_options['ytmediascope'];
2348
2349$ytqueryselect = $yturbo_options['ytqueryselect'];
2350$yttaxlist = $yturbo_options['yttaxlist'];
2351$ytaddtaxlist = $yturbo_options['ytaddtaxlist'];
2352
2353$ytselectmenu = $yturbo_options['ytselectmenu'];
2354$ytcomments = $yturbo_options['ytcomments'];
2355$ytcommentsnumber = $yturbo_options['ytcommentsnumber'];
2356$ytcommentsorder = $yturbo_options['ytcommentsorder'];
2357if ($ytcommentsorder=='В начале новые комментарии'){
2358 $reverse_top_level=false;
2359 $reverse_children=false;
2360} else {
2361 $reverse_top_level=true;
2362 $reverse_children=true;
2363}
2364$ytcommentsdate = $yturbo_options['ytcommentsdate'];
2365$ytcommentsdrevo = $yturbo_options['ytcommentsdrevo'];
2366if ($ytcommentsdrevo=='enabled') {
2367 $ytcommentsdrevo = 2;
2368} else {
2369 $ytcommentsdrevo = 1;
2370}
2371$ytpostdate = $yturbo_options['ytpostdate'];
2372
2373$ytrating = $yturbo_options['ytrating'];
2374$ytratingmin = $yturbo_options['ytratingmin'];
2375$ytratingmax = $yturbo_options['ytratingmax'];
2376$ytrelateddate = $yturbo_options['ytrelateddate'];
2377
2378if ($ytqueryselect=='Все таксономии, кроме исключенных' && $yttaxlist) {
2379 $textAr = explode("\n", trim($yttaxlist));
2380 $textAr = array_filter($textAr, 'trim');
2381 $tax_query = array( 'relation' => 'AND' );
2382 foreach ($textAr as $line) {
2383 $tax = explode(":", $line);
2384 $taxterm = explode(",", $tax[1]);
2385 $tax_query[] = array(
2386 'taxonomy' => $tax[0],
2387 'field' => 'id',
2388 'terms' => $taxterm,
2389 'operator' => 'NOT IN',
2390 );
2391 }
2392}
2393if (!$ytaddtaxlist) {$ytaddtaxlist = 'category:10000000';}
2394if ($ytqueryselect=='Только указанные таксономии' && $ytaddtaxlist) {
2395 $textAr = explode("\n", trim($ytaddtaxlist));
2396 $textAr = array_filter($textAr, 'trim');
2397 $tax_query = array( 'relation' => 'OR' );
2398 foreach ($textAr as $line) {
2399 $tax = explode(":", $line);
2400 $taxterm = explode(",", $tax[1]);
2401 $tax_query[] = array(
2402 'taxonomy' => $tax[0],
2403 'field' => 'id',
2404 'terms' => $taxterm,
2405 'operator' => 'IN',
2406 );
2407 }
2408}
2409
2410if ($ytrazb == 'enabled' && $ytrazbnumber) {
2411 if (isset($_GET['paged'])) {
2412 $paged = $_GET['paged'];
2413 } else {
2414 $paged = 0;
2415 }
2416 $offset = $ytrazbnumber * ($paged - 1);
2417 if ($paged == 0) {
2418 $paged = 1;
2419 $offset = 0;
2420 }
2421 $temp = ceil($ytnumber / $ytrazbnumber);
2422 if ($paged > $temp) {echo 'Не хватает записей для этой ленты, измените настройки плагина.'; return;}
2423 $perpage = $ytrazbnumber * $paged;
2424} else {
2425 $offset = 0;
2426 $ytrazbnumber = $ytnumber;
2427}
2428if($yttype[0]==''){$yttype[0]='trulala';}//если в настройках не выбраны типы записей, то отключаем дефолтный post_type равный 'post'
2429
2430$args = array('offset'=> $offset,'ignore_sticky_posts' => 1, 'post_type' => $yttype, 'post_status' => 'publish', 'posts_per_page' => $ytrazbnumber,'tax_query' => $tax_query,
2431'meta_query' => array('relation' => 'OR', array('key' => 'ytrssenabled_meta_value', 'compare' => 'NOT EXISTS',),
2432array('key' => 'ytrssenabled_meta_value', 'value' => 'yes', 'compare' => '!=',),));
2433$query = new WP_Query( $args );
2434
2435header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
2436echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EOL;
2437?>
2438<rss
2439 xmlns:yandex="http://news.yandex.ru"
2440 xmlns:media="http://search.yahoo.com/mrss/"
2441 xmlns:turbo="http://turbo.yandex.ru"
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 } ?>
2451 <?php if ($ytmailru) { ?><turbo:analytics id="<?php echo $ytmailru; ?>" type="MailRu"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
2452 <?php if ($ytrambler) { ?><turbo:analytics id="<?php echo $ytrambler; ?>" type="Rambler"></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') { ?>
2461 <item turbo="true">
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');
2473 $gmt_offset_str = $gmt_offset >= 0 ? '+' . $gmt_offset_str : '-' . $gmt_offset_str; ?>
2474 <?php if ($yturbo_options['ytdateformat'] == 'create') { ?>
2475 <pubDate><?php echo mysql2date('D, d M Y H:i:s '.$gmt_offset_str, get_date_from_gmt(get_post_time('Y-m-d H:i:s', true)), false); ?></pubDate>
2476 <?php } ?>
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;
2484 } else {
2485 echo '<author>'.get_the_author().'</author>'.PHP_EOL;
2486 } } ?>
2487 <turbo:content><![CDATA[
2488 <?php
2489 global $post;
2490 $tt = $post;
2491 $content = yturbo_the_content_feed();
2492 $post = $tt;
2493 setup_postdata( $post );
2494 $content = yturbo_build_template($content);
2495 $post = $tt;
2496 setup_postdata( $post );
2497
2498 if ($ytexcludetags != 'disabled' && $ytexcludetagslist) {
2499 $content = yturbo_strip_tags_without_content($content, $ytexcludetagslist);
2500 }
2501 if ($ytexcludetags2 != 'disabled' && $ytexcludetagslist2) {
2502 $content = yturbo_strip_tags_with_content($content, $ytexcludetagslist2, true);
2503 }
2504
2505 //удаляем все атрибуты тега img кроме src
2506 $content = yturbo_strip_attributes($content,array('src'));
2507
2508 $content = wpautop($content);
2509
2510 //удаляем unicode-символы (как невалидные в rss)
2511 $content = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/u', '', $content);
2512
2513 //удаляем разметку движка при использовании шорткода с подписью [caption] (в html4 темах - classic editor)
2514 $pattern = "/<div id=\"attachment(.*?)>(.*?)<img (.*?) \/>(.*?)<\/p>\n<p id=\"caption-attachment(.*?)\">(.*?)<\/p>\n<\/div>/i";
2515 $replacement = '<img data-caption="$6" $3 />';
2516 $content = preg_replace($pattern, $replacement, $content);
2517 //разметка описания на случай, если тег <div> удаляется в настройках плагина
2518 $pattern = "/<p><img(.*?) \/><\/p>\n<p id=\"caption-attachment(.*?)\">(.*?)<\/p>/i";
2519 $replacement = '<img data-caption="$3"$1 />';
2520 $content = preg_replace($pattern, $replacement, $content);
2521
2522 //удаляем разметку движка при использовании шорткода с подписью [caption] (в html5 темах - classic editor)
2523 $pattern = "/<figure id=\"attachment(.*?)\"(.*?)>(.*?)<img (.*?) \/>(.*?)<figcaption id=\"caption-attachment(.*?)\">(.*?)<\/figcaption><\/figure>/i";
2524 $replacement = '<img data-caption="$7" $4 />';
2525 $content = preg_replace($pattern, $replacement, $content);
2526
2527 //удаляем <figure>, если они изначально присутствуют в контенте записи (с указанным caption - gutenberg)
2528 $pattern = "/<figure(.*?)>(.*?)<img src=\"(.*?)\" \/>(.*?)<figcaption>(.*?)<\/figcaption><\/figure>/i";
2529 $replacement = '<img data-caption="$5" src="$3" />';
2530 $content = preg_replace($pattern, $replacement, $content);
2531
2532 //удаляем <figure>, если они изначально присутствуют в контенте записи (без caption - gutenberg)
2533 $pattern = "/<figure(.*?)>(.*?)<img(.*?)>(.*?)<\/figure>/i";
2534 $replacement = '<img$3>';
2535 $content = preg_replace($pattern, $replacement, $content);
2536
2537 //удаляем <figure> вокруг всех элементов (яндекс такое не понимает)
2538 $pattern = "/<figure(.*?)>/i";
2539 $replacement = '';
2540 $content = preg_replace($pattern, $replacement, $content);
2541 $pattern = "/<\/figure>/i";
2542 $replacement = '';
2543 $content = preg_replace($pattern, $replacement, $content);
2544 $pattern = "/<figcaption>(.*?)<\/figcaption>/i";
2545 $replacement = '';
2546 $content = preg_replace($pattern, $replacement, $content);
2547
2548 //преобразуем iframe с видео
2549 $pattern = "/<iframe title=\"(.*?)\"(.*?) allow=\"(.*?)\"(.*?)><\/iframe>/i";
2550 $replacement = '<iframe$2 allowfullscreen="true"></iframe>';
2551 $content = preg_replace($pattern, $replacement, $content);
2552
2553 //удаляем <p> у отдельно стоящих изображений
2554 $pattern = "/<p><img(.*?)><\/p>/i";
2555 $replacement = '<img$1>';
2556 $content = preg_replace($pattern, $replacement, $content);
2557
2558 //добавляем data-caption если его вообще нет в теге img
2559 $pattern = "/<img(?!([^>]*\b)data-caption=)([^>]*?)>/i";
2560 $replacement = '<img data-caption=""$1$2>';
2561 $content = preg_replace( $pattern, $replacement, $content );
2562
2563 //обрабатываем img теги и оборачиваем их тегами figure
2564 if ($ytfigcaption == 'Использовать подписи') {
2565 //если описания нет
2566 $pattern = "/<img data-caption=\"\" src=\"(.*?)\" \/>/i";
2567 $replacement = '<figure><img src="$1" /></figure>';
2568 $content = preg_replace($pattern, $replacement, $content);
2569 //если описание есть
2570 $pattern = "/<img data-caption=\"(.*?)\" src=\"(.*?)\" \/>/i";
2571 $replacement = '<figure><img src="$2" /><figcaption>$1</figcaption></figure>';
2572 $content = preg_replace($pattern, $replacement, $content);
2573 }
2574 if ($ytfigcaption == 'Отключить описания') {
2575 $pattern = "/<img data-caption=\"(.*?)\" src=\"(.*?)\" \/>/i";
2576 $replacement = '<figure><img src="$2" /></figure>';
2577 $content = preg_replace($pattern, $replacement, $content);
2578 }
2579
2580 $purl = plugins_url('', __FILE__);
2581
2582 //формируем video для mp4 файлов согласно документации яндекса (гутенберг)
2583 $pattern = "/<video(.*?)src=\"(.*?).mp4\"><\/video>/i";
2584 $replacement = '<figure><video><source src="$2.mp4" type="video/mp4" /></video><img src="'.$purl.'/img/video.png'.'" /></figure>';
2585 $content = preg_replace($pattern, $replacement, $content);
2586
2587 //формируем video для mp4 файлов согласно документации яндекса (классический редактор)
2588 $content = str_replace('<!--[if lt IE 9]><script>document.createElement(\'video\');</script><![endif]-->', '', $content);
2589 $pattern = "/<video class=\"wp-video-shortcode\"(.*?)><source(.*?)src=\"(.*?).mp4(.*?)\"(.*?)\/>(.*?)<\/video>/i";
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;
2607 if ($ytrelated=='enabled' && $ytrelatednumber && $ytrelatedinfinity != 'enabled') $i = $ytrelatednumber;
2608 if ($ytthumbnail=='enabled' && has_post_thumbnail(get_the_ID())) $i++;
2609 $final = array();
2610 foreach ($res[0] as $r) {
2611 if (! in_array($r, $final)) {$i++;}
2612 if ($i > 50 && ! in_array($r, $final)) {
2613 $content = str_replace($r, '', $content);
2614 }
2615 if (! in_array($r, $final)) {$final[] = $r;}
2616 }
2617 }
2618
2619 if ($ytexcludecontent != 'disabled' && $ytexcludecontentlist) {
2620 $textAr = explode("\n", str_replace(array("\r\n", "\r"), "\n", $ytexcludecontentlist));
2621 foreach ($textAr as $line) {
2622 $line = stripcslashes($line);
2623 $content = str_replace($line, '', $content);
2624 }
2625 }
2626
2627 //преобразовываем галереи в турбо-галереи
2628 add_shortcode('gallery', 'gallery_shortcode');
2629 add_filter( 'post_gallery', 'yturbo_gallery', 10, 2 );
2630 $content = do_shortcode($content);
2631 $content = yturbo_do_gallery($content);
2632
2633 $ytad4meta = get_post_meta($post->ID, 'ytad4meta', true);
2634 $ytad5meta = get_post_meta($post->ID, 'ytad5meta', true);
2635
2636 $content = apply_filters( 'yturbo_add_contents', $content );
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 );
2646 $menu_items = wp_get_nav_menu_items($menu->term_id);
2647
2648 foreach ( (array) $menu_items as $key => $menu_item ) {
2649 $title = $menu_item->title;
2650 $url = $menu_item->url;
2651 echo '<a href="' . $url . '">' . $title . '</a>'.PHP_EOL;
2652 }
2653
2654 echo '</menu>'.PHP_EOL;} ?>
2655 </header>
2656 <?php if ($ytrating == 'enabled') {
2657 $temprating = mt_rand ($ytratingmin*100, $ytratingmax*100) / 100;
2658 echo '
2659 <div itemscope itemtype="http://schema.org/Rating">
2660 <meta itemprop="ratingValue" content="'.$temprating.'">
2661 <meta itemprop="bestRating" content="5">
2662 </div>
2663 ';
2664 } ?>
2665 <?php if ($yturbo_options['ytsearch'] != 'disabled' && $yturbo_options['ytsearchmesto'] == 'В начале записи') {echo yturbo_search_widget();} ?>
2666 <?php if ($yturbo_options['ytfeedback'] != 'disabled' && $yturbo_options['ytfeedbackselect'] == 'false' && $yturbo_options['ytfeedbackselectmesto'] == 'В начале записи') {echo yturbo_widget_feedback();} ?>
2667 <?php
2668 $temp = apply_filters( 'yturbo_add_custom_ads', $content );
2669 if ( $temp != $content ) {
2670 echo $temp;
2671 } else {
2672 echo yturbo_add_advert($content);
2673 }
2674 ?>
2675 <?php if ($yturbo_options['ytshare'] == 'enabled') {
2676 echo PHP_EOL.'<div data-block="share" data-network="'.$yturbo_options['ytnetw'].'"></div>';
2677 if ($ytad4 == 'enabled' && $ytad4meta != 'disabled') { echo PHP_EOL.'<figure data-turbo-ad-id="fourth_ad_place"></figure>'.PHP_EOL; }
2678 do_action( 'yturbo_after_share' );
2679 } ?>
2680 <?php if ($yturbo_options['ytfeedback'] != 'disabled' && $yturbo_options['ytfeedbackselect'] == 'false' && $yturbo_options['ytfeedbackselectmesto'] == 'В конце записи') {echo yturbo_widget_feedback();} ?>
2681 <?php if ($yturbo_options['ytfeedback'] != 'disabled' && $yturbo_options['ytfeedbackselect'] != 'false') {echo yturbo_widget_feedback();} ?>
2682 <?php if ($yturbo_options['ytsearch'] != 'disabled' && $yturbo_options['ytsearchmesto'] == 'В конце записи') {echo yturbo_search_widget();} ?>
2683 <?php if ($ytcomments == 'enabled') {
2684 $comments = get_comments(array(
2685 'post_id' => get_the_ID(),
2686 'status' => 'approve',
2687 ));
2688 if ($comments) {echo PHP_EOL.'<div data-block="comments" data-url="'.get_permalink().'#respond">';}
2689 wp_list_comments(array(
2690 'type' => 'comment',
2691 'per_page' => $ytcommentsnumber,
2692 'callback' => 'yturbo_comments',
2693 'end-callback' => 'yturbo_comments_end',
2694 'title_li' => null,
2695 'max_depth' => $ytcommentsdrevo,
2696 'reverse_top_level' => $reverse_top_level,
2697 'reverse_children' => $reverse_children,
2698 'style' => 'div',
2699 ), $comments);
2700 if ($comments) {echo '</div>';}
2701 if ($comments && $ytad5 == 'enabled' && $ytad5meta != 'disabled') { echo PHP_EOL.'<figure data-turbo-ad-id="fifth_ad_place"></figure>'.PHP_EOL; }
2702 do_action( 'yturbo_after_comments' );
2703 } ?>
2704 ]]></turbo:content>
2705 <?php
2706 if ( $ytrelated=='enabled' ) {
2707
2708 $tempID = get_the_ID();
2709 $rcontent = '';
2710
2711 if ($ytrelatedcache == 'enabled') {$rcontent = get_transient('related-' . $tempID);}
2712
2713 if(!$rcontent) {
2714 $cats = array();
2715 $childonly = array();
2716 foreach (get_the_category(get_the_ID()) as $cat) {
2717 array_push($cats, $cat->cat_ID);
2718 if ($cat->category_parent !== 0 ) {
2719 array_push($childonly, $cat->cat_ID);
2720 }
2721 }
2722 if ($childonly) $cats = $childonly;
2723 $cur_post_id = array();
2724 array_push($cur_post_id, get_the_ID());
2725
2726 $args = array('post__not_in' => $cur_post_id, 'cat' => $cats,'orderby' => 'rand','date_query' => array('after' => $ytrelateddate . ' month ago',),'ignore_sticky_posts' => 1, 'post_type' => $yttype, 'post_status' => 'publish', 'posts_per_page' => $ytrelatednumber,'tax_query' => $tax_query,'meta_query' => array('relation' => 'OR', array('key' => 'ytrssenabled_meta_value', 'compare' => 'NOT EXISTS',),array('key' => 'ytrssenabled_meta_value', 'value' => 'yes', 'compare' => '!=',),));
2727 $related = new WP_Query( $args );
2728
2729 if (!$related->have_posts()) {
2730 $args = array('post__not_in' => $cur_post_id, 'orderby' => 'rand','date_query' => array('after' => $ytrelateddate . ' month ago',),'ignore_sticky_posts' => 1, 'post_type' => $yttype, 'post_status' => 'publish', 'posts_per_page' => $ytrelatednumber,'tax_query' => $tax_query,'meta_query' => array('relation' => 'OR', array('key' => 'ytrssenabled_meta_value', 'compare' => 'NOT EXISTS',),array('key' => 'ytrssenabled_meta_value', 'value' => 'yes', 'compare' => '!=',),));
2731 $related = new WP_Query( $args );
2732 }
2733
2734 if ($related->have_posts()) {
2735 if ( $ytrelatedinfinity == 'disabled') {
2736 $rcontent .= '<yandex:related>'.PHP_EOL;
2737 } else {
2738 $rcontent .= '<yandex:related type="infinity">'.PHP_EOL;
2739 }
2740 }
2741 while ($related->have_posts()) : $related->the_post();
2742 $ytremove = get_post_meta(get_the_ID(), 'ytremove_meta_value', true);
2743 if ( $ytremove == 'yes' ) continue;
2744 $thumburl = '';
2745 if ($ytrelatedselectthumb != "Не использовать" && has_post_thumbnail(get_the_ID()) && $ytrelatedinfinity != "enabled") {
2746 $thumburl = ' img="' . strtok(get_the_post_thumbnail_url(get_the_ID(),$ytrelatedselectthumb), '?') . '"';
2747 }
2748 $rlink = htmlspecialchars(get_the_permalink());
2749 $rtitle = get_the_title_rss();
2750 if ($ytrelatedselectthumb != "Не использовать" && $ytrelatedinfinity != "enabled") {
2751 $rcontent .= '<link url="'.$rlink.'"'.$thumburl.'>'.$rtitle.'</link>'.PHP_EOL;
2752 } else {
2753 $rcontent .= '<link url="'.$rlink.'">'.$rtitle.'</link>'.PHP_EOL;
2754 }
2755
2756 endwhile;
2757 if ($related->have_posts()) {$rcontent .= '</yandex:related>'.PHP_EOL;}
2758 if ($related->have_posts()) {echo $rcontent;}
2759 wp_reset_query($related);
2760
2761 if ($ytrelatedcache == 'enabled') {set_transient('related-' . $tempID, $rcontent, $ytrelatedcachetime * HOUR_IN_SECONDS);}
2762 } else {
2763 echo $rcontent;
2764 }
2765 } ?>
2766 </item>
2767<?php endwhile; ?>
2768<?php wp_reset_postdata(); ?>
2769<?php wp_reset_query(); ?>
2770</channel>
2771</rss>
2772<?php }
2773//шаблон для RSS-ленты Яндекс.Турбо end
2774
2775//установка правильного content type для ленты плагина begin
2776function yturbo_feed_content_type( $content_type, $type ) {
2777 $yturbo_options = get_option('yturbo_options');
2778 if ( $yturbo_options['ytrssname'] == $type ) {
2779 $content_type = 'application/rss+xml';
2780 }
2781 return $content_type;
2782}
2783add_filter( 'feed_content_type', 'yturbo_feed_content_type', 10, 2 );
2784//установка правильного content type для ленты плагина end
2785
2786//функция формирования content в rss begin
2787function yturbo_the_content_feed() {
2788 $yturbo_options = get_option('yturbo_options');
2789 remove_shortcode('gallery');
2790 if ($yturbo_options['ytexcerpt'] == 'enabled') {
2791 $content = '';
2792 if ( has_excerpt( get_the_ID() ) ) {
2793 $content = '<p>' . get_the_excerpt( get_the_ID() ) . '</p>';
2794 }
2795 $content .= apply_filters('the_content', yturbo_strip_shortcodes(get_post_field('post_content', get_the_ID())));
2796 } else {
2797 $content = apply_filters('the_content', yturbo_strip_shortcodes(get_post_field('post_content', get_the_ID())));
2798 }
2799 $content = apply_filters('yturbo_the_content', $content);
2800 $content = str_replace(']]>', ']]>', $content);
2801 $content = apply_filters('wp_staticize_emoji', $content);
2802 $content = apply_filters('_oembed_filter_feed_content', $content);
2803 return $content;
2804}
2805//функция формирования content в rss end
2806
2807//функция удаления тегов вместе с их контентом begin
2808function yturbo_strip_tags_with_content( $text, $tags = '', $invert = FALSE ) {
2809 preg_match_all( '/<(.+?)[\s]*\/?[\s]*>/si', trim( $tags ), $tags_array );
2810 $tags_array = array_unique( $tags_array[1] );
2811
2812 $regex = '';
2813
2814 if ( count( $tags_array ) > 0 ) {
2815 if ( ! $invert ) {
2816 $regex = '@<(?!(?:' . implode( '|', $tags_array ) . ')\b)(\w+)\b[^>]*?(>((?!<\1\b).)*?<\/\1|\/)>@si';
2817 $text = preg_replace( $regex, '', $text );
2818 } else {
2819 $regex = '@<(' . implode( '|', $tags_array ) . ')\b[^>]*?(>((?!<\1\b).)*?<\/\1|\/)>@si';
2820 $text = preg_replace( $regex, '', $text );
2821 }
2822 } elseif ( ! $invert ) {
2823 $regex = '@<(\w+)\b[^>]*?(>((?!<\1\b).)*?<\/\1|\/)>@si';
2824 $text = preg_replace( $regex, '', $text );
2825 }
2826
2827 if ( $regex && preg_match( $regex, $text ) ) {
2828 $text = yturbo_strip_tags_with_content( $text, $tags, $invert );
2829 }
2830
2831 return $text;
2832}
2833//функция удаления тегов вместе с их контентом end
2834
2835//функция удаления тегов без их контента begin
2836function yturbo_strip_tags_without_content( $text, $tags = '' ) {
2837
2838 preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);
2839 $tags = array_unique($tags[1]);
2840
2841 if(is_array($tags) AND count($tags) > 0) {
2842 foreach($tags as $tag) {
2843 $text = preg_replace("/<\\/?" . $tag . "(.|\\s)*?>/", '', $text);
2844 }
2845 }
2846 return $text;
2847}
2848//функция удаления тегов без их контента end
2849
2850//функция принудительной установки header-тега X-Robots-Tag (решение проблемы с SEO-плагинами) begin
2851function yturbo_index_follow_rss() {
2852 $yturbo_options = get_option('yturbo_options');
2853 if ( is_feed($yturbo_options['ytrssname']) ) {
2854 header( 'X-Robots-Tag: index, follow', true );
2855 header( 'HTTP/1.1 200 OK', true );
2856 }
2857}
2858add_action( 'template_redirect', 'yturbo_index_follow_rss', 999999 );
2859//функция принудительной установки header-тега X-Robots-Tag (решение проблемы с SEO-плагинами) end
2860
2861//функция подсчета количества rss-лент и их вывод на странице настроек плагина begin
2862function yturbo_count_feeds() {
2863$yturbo_options = get_option('yturbo_options');
2864
2865$ytnumber = $yturbo_options['ytnumber'];
2866$ytrazb = $yturbo_options['ytrazb'];
2867$ytrazbnumber = $yturbo_options['ytrazbnumber'];
2868$yttype = $yturbo_options['yttype'];
2869$yttype = explode(",", $yttype);
2870$yttype = array_diff($yttype, array(''));
2871
2872$tax_query = array();
2873
2874$ytqueryselect = $yturbo_options['ytqueryselect'];
2875$yttaxlist = $yturbo_options['yttaxlist'];
2876$ytaddtaxlist = $yturbo_options['ytaddtaxlist'];
2877
2878if ($ytqueryselect=='Все таксономии, кроме исключенных' && $yttaxlist) {
2879 $textAr = explode("\n", trim($yttaxlist));
2880 $textAr = array_filter($textAr, 'trim');
2881 $tax_query = array( 'relation' => 'AND' );
2882 foreach ($textAr as $line) {
2883 $tax = explode(":", $line);
2884 $taxterm = explode(",", $tax[1]);
2885 $tax_query[] = array(
2886 'taxonomy' => $tax[0],
2887 'field' => 'id',
2888 'terms' => $taxterm,
2889 'operator' => 'NOT IN',
2890 );
2891 }
2892}
2893if (!$ytaddtaxlist) {$ytaddtaxlist = 'category:10000000';}
2894if ($ytqueryselect=='Только указанные таксономии' && $ytaddtaxlist) {
2895 $textAr = explode("\n", trim($ytaddtaxlist));
2896 $textAr = array_filter($textAr, 'trim');
2897 $tax_query = array( 'relation' => 'OR' );
2898 foreach ($textAr as $line) {
2899 $tax = explode(":", $line);
2900 $taxterm = explode(",", $tax[1]);
2901 $tax_query[] = array(
2902 'taxonomy' => $tax[0],
2903 'field' => 'id',
2904 'terms' => $taxterm,
2905 'operator' => 'IN',
2906 );
2907 }
2908}
2909
2910if ($ytnumber > 500) :
2911if ($ytrazb == 'enabled') {
2912$paged = 2;
2913echo '<p>Вы установили слишком большое общее количество записей в RSS (больше 500 записей), <br />
2914поэтому чтобы не нагружать базу данных фактическая проверка наличия записей в разбитых <br />
2915RSS-лентах не осуществлялась. Проверяйте наличие записей самостоятельно (пустые <br />
2916RSS-ленты сервис Яндекс.Вебмастер откажется принимать и выдаст ошибку).</p>
2917<p>Всего у вас ' . yturbo_russian_number(ceil($ytnumber / $ytrazbnumber), array(' RSS-лента', ' RSS-ленты', ' RSS-лент')) . ' (максимально по '.yturbo_russian_number($ytrazbnumber, array(' запись', ' записи', ' записей')). ' в каждой):</p>';
2918echo '<ul style="margin-bottom: 25px;">';
2919if ( 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 {
2922 echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'</a></li>';
2923}
2924while ($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}
2939if ($paged >= 10 && (ceil($ytnumber / $ytrazbnumber))>10) {
2940 echo '</div>';
2941}
2942echo '</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}
2953else :
2954
2955if($yttype[0]==''){$yttype[0]='trulala';}//если в настройках не выбраны типы записей, то отключаем дефолтный post_type равный 'post'
2956$args = array('ignore_sticky_posts' => 1, 'post_type' => $yttype, 'post_status' => 'publish', 'posts_per_page' => $ytnumber,'tax_query' => $tax_query,
2957'meta_query' => array('relation' => 'OR', array('key' => 'ytrssenabled_meta_value', 'compare' => 'NOT EXISTS',),
2958array('key' => 'ytrssenabled_meta_value', 'value' => 'yes', 'compare' => '!=',),));
2959$query = new WP_Query( $args );
2960
2961if ($query->post_count < $ytnumber) $ytnumber = $query->post_count;
2962
2963if ($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}
2969
2970echo '<ul style="margin-bottom: 20px;">';
2971if ( get_option('permalink_structure') ) {
2972 echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/</a></li>';
2973} else {
2974 echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'</a></li>';
2975}
2976
2977if ($ytrazb == 'enabled' && (ceil($query->post_count / $ytrazbnumber) > 1)) {
2978 for ($x=1; $x++<ceil($query->post_count / $ytrazbnumber);) {
2979 if ( get_option('permalink_structure') ) {
2980 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>';
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
2995echo '</ul>';
2996
2997endif;
2998}
2999//функция подсчета количества rss-лент и их вывод на странице настроек плагина end
3000
3001//функция склонения слов после числа begin
3002function yturbo_russian_number( $number, $titles ) {
3003 $cases = array (2, 0, 1, 1, 1, 2);
3004 return $number . ' ' . $titles[ ($number%100 > 4 && $number %100 < 20) ? 2 : $cases[min($number%10, 5)] ];
3005}
3006//функция склонения слов после числа end
3007
3008//функция добавления рекламы в запись begin
3009function yturbo_add_advert( $content ) {
3010
3011 $yturbo_options = get_option('yturbo_options');
3012 $ytrazmer = $yturbo_options['ytrazmer'];
3013 $ytad1 = $yturbo_options['ytad1'];
3014 $ytad2 = $yturbo_options['ytad2'];
3015 $ytad3 = $yturbo_options['ytad3'];
3016
3017 $tempcontent = $content;
3018 $tempcontent = strip_tags($tempcontent);
3019 $tempcontent = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $tempcontent);
3020
3021 $num = ceil(mb_strlen($tempcontent) / 2);
3022
3023 global $post;
3024 $ytad1meta = get_post_meta($post->ID, 'ytad1meta', true);
3025 $ytad2meta = get_post_meta($post->ID, 'ytad2meta', true);
3026 $ytad3meta = get_post_meta($post->ID, 'ytad3meta', true);
3027
3028 if ($ytad2 != 'enabled' or $ytad2meta == 'disabled') {$ads ='';}
3029
3030 if ($ytad2 == 'enabled' && $ytad2meta != 'disabled') {
3031 $ads = PHP_EOL.'<figure data-turbo-ad-id="second_ad_place"></figure>';
3032 }
3033
3034 if (mb_strlen($tempcontent) > (int)$ytrazmer) {
3035 $content = preg_replace('~[^^]{'. $num .'}.*?(?:\r?\n\r?\n|</p>|</figure>|</ul>|</pre>|</table>|</ol>|</blockquote>)~su', "\${0}$ads", trim( $content ), 1);
3036 }
3037
3038 if ($ytad1 == 'enabled' && $ytad1meta != 'disabled') { $content = '<figure data-turbo-ad-id="first_ad_place"></figure>'.PHP_EOL . $content;}
3039 if ($ytad3 == 'enabled' && $ytad3meta != 'disabled') { $content = PHP_EOL . $content . PHP_EOL.'<figure data-turbo-ad-id="third_ad_place"></figure>';}
3040
3041 return $content;
3042}
3043//функция добавления рекламы в запись end
3044
3045//функция удаления всех атрибутов тега img кроме указанных begin
3046function yturbo_strip_attributes( $s, $allowedattr = array() ) {
3047
3048 if (preg_match_all("/<img[^>]*\\s([^>]*)\\/*>/msiU", $s, $res, PREG_SET_ORDER)) {
3049 foreach ($res as $r) {
3050 $tag = $r[0];
3051 $attrs = array();
3052 preg_match_all("/\\s.*=(['\"]).*\\1/msiU", " " . $r[1], $split, PREG_SET_ORDER);
3053 foreach ($split as $spl) {
3054 $attrs[] = $spl[0];
3055 }
3056 $newattrs = array();
3057 foreach ($attrs as $a) {
3058 $tmp = explode("=", $a);
3059 if (trim($a) != "" && (!isset($tmp[1]) || (trim($tmp[0]) != "" && !in_array(strtolower(trim($tmp[0])), $allowedattr)))) {
3060
3061 } else {
3062 $newattrs[] = $a;
3063 }
3064 }
3065
3066 //сортировка чтобы alt был раньше src
3067 sort($newattrs);
3068 reset($newattrs);
3069
3070 $attrs = implode(" ", $newattrs);
3071 $rpl = str_replace($r[1], $attrs, $tag);
3072 //заменяем одинарные кавычки на двойные
3073 $rpl = str_replace("'", "\"", $rpl);
3074 //добавляем закрывающий символ / если он отсутствует
3075 $rpl = str_replace("\">", "\" />", $rpl);
3076 //добавляем пробел перед закрывающим символом /
3077 $rpl = str_replace("\"/>", "\" />", $rpl);
3078 //удаляем двойные пробелы
3079 $rpl = str_replace(" ", " ", $rpl);
3080
3081 $s = str_replace($tag, $rpl, $s);
3082 }
3083 }
3084
3085 return $s;
3086}
3087//функция удаления всех атрибутов тега img кроме указанных end
3088
3089//функция удаления транзитного кэша для похожих записей begin
3090function yturbo_clear_transients() {
3091 global $wpdb;
3092
3093 $sql = "
3094 DELETE
3095 FROM {$wpdb->options}
3096 WHERE option_name like '\_transient\_related-%'
3097 OR option_name like '\_transient\_timeout\_related-%'
3098 ";
3099
3100 $wpdb->query($sql);
3101}
3102//функция удаления транзитного кэша для похожих записей end
3103
3104//функция преобразования стандартных галерей движка в турбо-галереи begin
3105function yturbo_gallery( $output, $attr ) {
3106
3107 $yturbo_options = get_option('yturbo_options');
3108 if ( ! is_feed($yturbo_options['ytrssname']) ) {return;}
3109
3110 $post = get_post();
3111
3112 static $instance = 0;
3113 $instance++;
3114
3115 if ( ! empty( $attr['ids'] ) ) {
3116 // 'ids' is explicitly ordered, unless you specify otherwise.
3117 if ( empty( $attr['orderby'] ) ) {
3118 $attr['orderby'] = 'post__in';
3119 }
3120 $attr['include'] = $attr['ids'];
3121 }
3122
3123 $html5 = current_theme_supports( 'html5', 'gallery' );
3124 $atts = shortcode_atts( array(
3125 'order' => 'ASC',
3126 'orderby' => 'menu_order ID',
3127 'id' => $post ? $post->ID : 0,
3128 'itemtag' => $html5 ? 'figure' : 'dl',
3129 'icontag' => $html5 ? 'div' : 'dt',
3130 'captiontag' => $html5 ? 'figcaption' : 'dd',
3131 'columns' => 3,
3132 'size' => 'thumbnail',
3133 'include' => '',
3134 'exclude' => '',
3135 'link' => ''
3136 ), $attr, 'gallery' );
3137
3138 $id = intval( $atts['id'] );
3139
3140 $atts['include'] = str_replace(array("»","″"), "", $atts['include']);
3141 $atts['orderby'] = str_replace(array("»","″"), "", $atts['orderby']);
3142 $atts['order'] = str_replace(array("»","″"), "", $atts['order']);
3143 $atts['exclude'] = str_replace(array("»","″"), "", $atts['exclude']);
3144
3145 if ( ! empty( $atts['include'] ) ) {
3146 $_attachments = get_posts( array( 'include' => $atts['include'], 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $atts['order'], 'orderby' => $atts['orderby'] ) );
3147
3148 $attachments = array();
3149 foreach ( $_attachments as $key => $val ) {
3150 $attachments[$val->ID] = $_attachments[$key];
3151 }
3152
3153 } elseif ( ! empty( $atts['exclude'] ) ) {
3154 $attachments = get_children( array( 'post_parent' => $id, 'exclude' => $atts['exclude'], 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $atts['order'], 'orderby' => $atts['orderby'] ) );
3155 } else {
3156 $attachments = get_children( array( 'post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $atts['order'], 'orderby' => $atts['orderby'] ) );
3157 }
3158
3159 if ( empty( $attachments ) ) {
3160 return '';
3161 }
3162
3163 $output = PHP_EOL.'<div data-block="gallery">'.PHP_EOL;
3164
3165 foreach ( $attachments as $id => $attachment ) {
3166 $output .= '<img src="'.wp_get_attachment_url($id) . '"/>'.PHP_EOL;
3167 }
3168 $output .= '</div>'.PHP_EOL;
3169
3170 return $output;
3171}
3172//функция преобразования стандартных галерей движка в турбо-галереи end
3173
3174//функция преобразования стандартных галерей движка в турбо-галереи в гутенберге begin
3175function yturbo_do_gallery( $content ) {
3176
3177 //удаляем ul разметку галерей в гутенберге (wordpress 5.3+)
3178 $pattern = "/<ul class=\"blocks-gallery-grid(.*?)>(.*?)<\/ul>/s";
3179 $replacement = '<div data-block="gallery">$2</div>';
3180 $content = preg_replace($pattern, $replacement, $content);
3181
3182 //удаляем ul разметку галерей в гутенберге (wordpress 5.2+)
3183 $pattern = "/<ul class=\"wp-block-gallery(.*?)>(.*?)<\/ul>/s";
3184 $replacement = '<div data-block="gallery">$2</div>';
3185 $content = preg_replace($pattern, $replacement, $content);
3186
3187 //удаляем li разметку галерей в гутенберге
3188 $pattern = "/<li class=\"blocks-gallery-item\">\n<figure><img src=\"(.*?)\" \/>(.*?)<\/figure>\n<\/li>/i";
3189 $replacement = '<img src="$1"/>';
3190 $content = preg_replace($pattern, $replacement, $content);
3191
3192 return $content;
3193}
3194//функция преобразования стандартных галерей движка в турбо-галереи в гутенберге end
3195
3196//функции открытия и закрытия комментариев begin
3197function yturbo_comments( $comment, $args, $depth ) {
3198 $yturbo_options = get_option('yturbo_options');
3199 $ytcommentsdate = $yturbo_options['ytcommentsdate'];
3200 $ytcommentsdrevo = $yturbo_options['ytcommentsdrevo'];
3201 $ytcommentsavatar = $yturbo_options['ytcommentsavatar'];
3202 echo PHP_EOL;
3203 ?>
3204 <div data-block="comment"
3205 data-author="<?php comment_author(); ?>"
3206 <?php if ($ytcommentsavatar=='enabled') { ?>
3207 data-avatar-url="<?php echo esc_url( get_avatar_url( $comment, 100 ) ); ?>"
3208 <?php } ?>
3209 <?php if ($ytcommentsdate=='enabled') { ?>
3210 data-subtitle="<?php echo get_comment_date(); ?> в <?php echo get_comment_time(); ?>"
3211 <?php } ?>
3212 >
3213 <div data-block="content">
3214 <?php comment_text(); ?>
3215 </div>
3216 <?php if ($args['has_children'] && $ytcommentsdrevo=='enabled') { ?><?php echo '<div data-block="comments">'; ?><?php }
3217}
3218
3219function yturbo_comments_end($comment, $args, $depth) {
3220$yturbo_options = get_option('yturbo_options');
3221$ytcommentsdrevo = $yturbo_options['ytcommentsdrevo'];
3222?>
3223 </div>
3224 <?php if ($depth==1 && $ytcommentsdrevo=='enabled') { ?><?php echo '</div>'; ?><?php } ?>
3225<?php }
3226//функции открытия и закрытия комментариев end
3227
3228//функция формирования объявлений рекламной сети begin
3229function yturbo_turbo_ads() {
3230 $yturbo_options = get_option('yturbo_options');
3231
3232 $ytcomments = $yturbo_options['ytcomments'];
3233 $ytshare = $yturbo_options['ytshare'];
3234
3235 $ytad1 = $yturbo_options['ytad1'];
3236 $ytad1set = $yturbo_options['ytad1set'];
3237 $ytad1rsa = $yturbo_options['ytad1rsa'];
3238 $ytadfox1 = html_entity_decode(stripcslashes($yturbo_options['ytadfox1']),ENT_QUOTES);
3239 $ytad2 = $yturbo_options['ytad2'];
3240 $ytad2set = $yturbo_options['ytad2set'];
3241 $ytad2rsa = $yturbo_options['ytad2rsa'];
3242 $ytadfox2 = html_entity_decode(stripcslashes($yturbo_options['ytadfox2']),ENT_QUOTES);
3243 $ytad3 = $yturbo_options['ytad3'];
3244 $ytad3set = $yturbo_options['ytad3set'];
3245 $ytad3rsa = $yturbo_options['ytad3rsa'];
3246 $ytadfox3 = html_entity_decode(stripcslashes($yturbo_options['ytadfox3']),ENT_QUOTES);
3247 $ytad4 = $yturbo_options['ytad4'];
3248 $ytad4set = $yturbo_options['ytad4set'];
3249 $ytad4rsa = $yturbo_options['ytad4rsa'];
3250 $ytadfox4 = html_entity_decode(stripcslashes($yturbo_options['ytadfox4']),ENT_QUOTES);
3251 $ytad5 = $yturbo_options['ytad5'];
3252 $ytad5set = $yturbo_options['ytad5set'];
3253 $ytad5rsa = $yturbo_options['ytad5rsa'];
3254 $ytadfox5 = html_entity_decode(stripcslashes($yturbo_options['ytadfox5']),ENT_QUOTES);
3255
3256 $yturboads = '';
3257 if ($ytad1 == 'enabled') {
3258 if ($ytad1set == 'РСЯ') {
3259 $yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad1rsa.'" turbo-ad-id="first_ad_place"></turbo:adNetwork>'.PHP_EOL;
3260 }
3261 if ($ytad1set == 'ADFOX') {
3262 $yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="first_ad_place">
3263 <![CDATA[
3264 '.$ytadfox1.'
3265 ]]>
3266 </turbo:adNetwork>'.PHP_EOL;
3267 }
3268 }
3269 if ($ytad2 == 'enabled') {
3270 if ($ytad2set == 'РСЯ') {
3271 $yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad2rsa.'" turbo-ad-id="second_ad_place"></turbo:adNetwork>'.PHP_EOL;
3272 }
3273 if ($ytad2set == 'ADFOX') {
3274 $yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="second_ad_place">
3275 <![CDATA[
3276 '.$ytadfox2.'
3277 ]]>
3278 </turbo:adNetwork>'.PHP_EOL;
3279 }
3280 }
3281 if ($ytad3 == 'enabled') {
3282 if ($ytad3set == 'РСЯ') {
3283 $yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad3rsa.'" turbo-ad-id="third_ad_place"></turbo:adNetwork>'.PHP_EOL;
3284 }
3285 if ($ytad3set == 'ADFOX') {
3286 $yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="third_ad_place">
3287 <![CDATA[
3288 '.$ytadfox3.'
3289 ]]>
3290 </turbo:adNetwork>'.PHP_EOL;
3291 }
3292 }
3293 if ($ytad4 == 'enabled' && $ytshare == 'enabled') {
3294 if ($ytad4set == 'РСЯ') {
3295 $yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad4rsa.'" turbo-ad-id="fourth_ad_place"></turbo:adNetwork>'.PHP_EOL;
3296 }
3297 if ($ytad4set == 'ADFOX') {
3298 $yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="fourth_ad_place">
3299 <![CDATA[
3300 '.$ytadfox4.'
3301 ]]>
3302 </turbo:adNetwork>'.PHP_EOL;
3303 }
3304 }
3305 if ($ytad5 == 'enabled' && $ytcomments == 'enabled') {
3306 if ($ytad5set == 'РСЯ') {
3307 $yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad5rsa.'" turbo-ad-id="fifth_ad_place"></turbo:adNetwork>'.PHP_EOL;
3308 }
3309 if ($ytad5set == 'ADFOX') {
3310 $yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="fifth_ad_place">
3311 <![CDATA[
3312 '.$ytadfox5.'
3313 ]]>
3314 </turbo:adNetwork>'.PHP_EOL;
3315 }
3316 }
3317
3318 return $yturboads;
3319}
3320//функция формирования объявлений рекламной сети end
3321
3322//функция вывода виджета обратной связи begin
3323function yturbo_widget_feedback() {
3324 $yturbo_options = get_option('yturbo_options');
3325
3326 if ($yturbo_options['ytfeedback'] == 'disabled')
3327 return;
3328
3329 $content = PHP_EOL.PHP_EOL.'<div data-block="widget-feedback" data-title="'.$yturbo_options['ytfeedbacktitle'].'" data-stick="'.$yturbo_options['ytfeedbackselect'].'">'.PHP_EOL;
3330
3331 $ytfeedbacknetw = explode(",", $yturbo_options['ytfeedbacknetw']);
3332 $ytfeedbacknetw = array_diff($ytfeedbacknetw, array(''));
3333
3334 foreach ($ytfeedbacknetw as $network) {
3335 switch ($network) {
3336 case 'call':
3337 if ($yturbo_options['ytfeedbackcall']) {
3338 $content .= '<div data-type="call" data-url="'.$yturbo_options['ytfeedbackcall'].'"></div>'.PHP_EOL;
3339 }
3340 break;
3341 case 'callback':
3342 if ($yturbo_options['ytfeedbackcallback']) {
3343 $content .= '<div data-type="callback" data-send-to="'.$yturbo_options['ytfeedbackcallback'].'"';
3344 if ($yturbo_options['ytfeedbackcallback2'] && $yturbo_options['ytfeedbackcallback3']) {
3345 $content .= ' data-agreement-company="'.stripslashes($yturbo_options['ytfeedbackcallback2']).'" data-agreement-link="'.$yturbo_options['ytfeedbackcallback3'].'"';
3346 }
3347 }
3348 $content .= '></div>'.PHP_EOL;
3349 break;
3350 case 'chat':
3351 $content .= '<div data-type="chat"></div>'.PHP_EOL;
3352 break;
3353 case 'mail':
3354 if ($yturbo_options['ytfeedbackmail']) {
3355 $content .= '<div data-type="mail" data-url="'.$yturbo_options['ytfeedbackmail'].'"></div>'.PHP_EOL;
3356 }
3357 break;
3358 case 'vkontakte':
3359 if ($yturbo_options['ytfeedbackvkontakte']) {
3360 $content .= '<div data-type="vkontakte" data-url="'.$yturbo_options['ytfeedbackvkontakte'].'"></div>'.PHP_EOL;
3361 }
3362 break;
3363 case 'odnoklassniki':
3364 if ($yturbo_options['ytfeedbackodnoklassniki']) {
3365 $content .= '<div data-type="odnoklassniki" data-url="'.$yturbo_options['ytfeedbackodnoklassniki'].'"></div>'.PHP_EOL;
3366 }
3367 break;
3368 case 'twitter':
3369 if ($yturbo_options['ytfeedbacktwitter']) {
3370 $content .= '<div data-type="twitter" data-url="'.$yturbo_options['ytfeedbacktwitter'].'"></div>'.PHP_EOL;
3371 }
3372 break;
3373 case 'facebook':
3374 if ($yturbo_options['ytfeedbackfacebook']) {
3375 $content .= '<div data-type="facebook" data-url="'.$yturbo_options['ytfeedbackfacebook'].'"></div>'.PHP_EOL;
3376 }
3377 break;
3378 case 'viber':
3379 if ($yturbo_options['ytfeedbackviber']) {
3380 $content .= '<div data-type="viber" data-url="'.$yturbo_options['ytfeedbackviber'].'"></div>'.PHP_EOL;
3381 }
3382 break;
3383 case 'whatsapp':
3384 if ($yturbo_options['ytfeedbackwhatsapp']) {
3385 $content .= '<div data-type="whatsapp" data-url="'.$yturbo_options['ytfeedbackwhatsapp'].'"></div>'.PHP_EOL;
3386 }
3387 break;
3388 case 'telegram':
3389 if ($yturbo_options['ytfeedbacktelegram']) {
3390 $content .= '<div data-type="telegram" data-url="'.$yturbo_options['ytfeedbacktelegram'].'"></div>'.PHP_EOL;
3391 }
3392 break;
3393 }
3394 }
3395 unset($network);
3396
3397 $content .= '</div>'.PHP_EOL;
3398 return $content;
3399}
3400//функция вывода виджета обратной связи end
3401
3402//функция удаления указанных шорткодов begin
3403function yturbo_strip_shortcodes( $content ) {
3404 $yturbo_options = get_option('yturbo_options');
3405
3406 //выполняем блоки гутенберга
3407 global $wp_version;
3408 if ( version_compare( $wp_version, '5.0', '>=' ) ) {
3409 $content = do_blocks( $content );
3410 }
3411
3412 if ($yturbo_options['ytexcludeshortcodes'] == 'disabled' or !$yturbo_options['ytexcludeshortcodeslist']) return $content;
3413
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++){
3422 $arr[$code[$i]] = 1;
3423 }
3424
3425 $shortcode_tags = $arr;
3426 $content = strip_shortcodes($content);
3427 $shortcode_tags = $stack;
3428
3429 return $content;
3430}
3431//функция удаления указанных шорткодов end
3432
3433//функция формирования контента по шаблону begin
3434function yturbo_build_template( $post_content ) {
3435 $yturbo_options = get_option('yturbo_options');
3436
3437 $post_type = get_post_type( get_the_ID() );
3438
3439 if ( !isset($yturbo_options['template-'.$post_type]) ) {$yturbo_options['template-'.$post_type] = '';}
3440 if( $yturbo_options['template-'.$post_type] == '' ) {$yturbo_options['template-'.$post_type] = '%%post_content%%';}
3441
3442 $content = html_entity_decode(stripcslashes($yturbo_options['template-'.$post_type]),ENT_QUOTES);
3443
3444 //проверка на индивидуальный шаблон записи (если включен и существует)
3445 $template_meta = get_post_meta(get_the_ID(), 'template_meta', true);
3446 if( $template_meta == 'yes' ) {
3447 $custom_template = get_post_meta(get_the_ID(), 'custom_template', true);
3448 $custom_template = html_entity_decode(stripcslashes($custom_template),ENT_QUOTES);
3449 if (!$custom_template) {$custom_template=$content;}
3450 $content = $custom_template;
3451 }
3452
3453 //сначала обработаем шаблон произвольным фильтром
3454 $content = apply_filters('yturbo_the_template', $content);
3455
3456 //заменяем переменные на произвольные поля
3457 if (preg_match_all("/%%(.*?)%%/i", $content, $res)) {
3458 foreach ($res[0] as $r) {
3459 if($r != '%%post_content%%') {
3460 $temp = str_replace('%%', '', $r);
3461 $content = str_replace($r, get_post_meta(get_the_ID(), $temp, true), $content);
3462 }
3463 }
3464 }
3465
3466 //обрабатываем шаблон фильтрами для RSS
3467 $content = do_shortcode($content);
3468 $content = str_replace(']]>', ']]>', $content);
3469 $content = apply_filters('wp_staticize_emoji', $content);
3470 $content = apply_filters('_oembed_filter_feed_content', $content);
3471
3472 //заменяем в шаблоне переменную %%post_content%% на контент записи
3473 $content = str_replace('<p>%%post_content%%</p>', '%%post_content%%', $content);
3474 $content = str_replace('%%post_content%%', $post_content, $content);
3475
3476 return $content;
3477}
3478//функция формирования контента по шаблону end
3479
3480//функция вывода блока поиска begin
3481function yturbo_search_widget() {
3482 $yturbo_options = get_option('yturbo_options');
3483
3484 $url = get_bloginfo('url') . '/?s={s}';
3485 $content = PHP_EOL.'<form action="'. $url . '" method="GET"><input type="search" name="s" placeholder="' . $yturbo_options['ytsearchplaceholder'] . '" /></form>'.PHP_EOL;
3486
3487 return $content;
3488}
3489//функция вывода блока поиска end
3490
3491//вставка оглавления записи begin
3492function yturbo_toc( $content ) {
3493 $yturbo_options = get_option('yturbo_options');
3494
3495 if ( ! is_feed($yturbo_options['ytrssname']) )
3496 return $content;
3497
3498 if ( $yturbo_options['yttoc'] == 'disabled' )
3499 return $content;
3500
3501 $types = $yturbo_options['yttype2'];
3502 $types = explode(",", $types);
3503 $types = array_diff($types, array(''));
3504
3505 if ( ! in_array( get_post_type( get_the_ID() ), $types ) )
3506 return $content;
3507
3508 //подключение файла с классом Kama_Contents begin
3509 if ( ! class_exists('Kama_Contents') ) {
3510 require_once dirname( __FILE__ ) . '/inc/class-Kama_Contents.php';
3511 }
3512 //подключение файла с классом Kama_Contents end
3513
3514 $selectors = array();
3515 if ($yturbo_options['yttoch1']=='enabled'){array_push($selectors, 'h1');}
3516 if ($yturbo_options['yttoch2']=='enabled'){array_push($selectors, 'h2');}
3517 if ($yturbo_options['yttoch3']=='enabled'){array_push($selectors, 'h3');}
3518 if ($yturbo_options['yttoch4']=='enabled'){array_push($selectors, 'h4');}
3519 if ($yturbo_options['yttoch5']=='enabled'){array_push($selectors, 'h5');}
3520 if ($yturbo_options['yttoch6']=='enabled'){array_push($selectors, 'h6');}
3521
3522 $args = array(
3523 'css' => false,
3524 'to_menu' => false,
3525 'title' => $yturbo_options['yttoczag'],
3526 'min_found' => $yturbo_options['yttocnumber'],
3527 'min_length' => 100,
3528 'page_url' => get_the_permalink(),
3529 'selectors' => $selectors,
3530 );
3531
3532 $contents = Kama_Contents::init( $args )->make_contents( $content );
3533
3534 $contents = str_replace("\n", '', $contents);
3535 $contents = trim(preg_replace('/\t+/', '', $contents));
3536 $contents = wpautop($contents);
3537 $contents = str_replace('<div class="kc__wrap" ><span style="display:block;" class="kc-title kc__title" id="kcmenu">', '<div><h3>', $contents);
3538 $contents = str_replace('</span></p>', '</h3>', $contents);
3539 $contents = str_replace(' class="contents"', '', $contents);
3540 $contents = str_replace(' class="top"', '', $contents);
3541 $contents = str_replace(' rel="nofollow"', '', $contents);
3542 $contents = str_replace('<ul>', '<ol>', $contents);
3543 $contents = str_replace('<ul id="kcmenu">', '<ol>', $contents);
3544 $contents = str_replace('</ul>', '</ol>', $contents);
3545
3546 if ( $yturbo_options['yttocmesto'] == 'В начале записи' ) {
3547 return PHP_EOL . $contents . $content;
3548 }
3549 if ( $yturbo_options['yttocmesto'] == 'В конце записи' ) {
3550 return $content . $contents . PHP_EOL;
3551 }
3552 if ( $yturbo_options['yttocmesto'] == 'Перед первым заголовком' ) {
3553 $pattern = "/<h(.*?)>/i";
3554 $replacement = $contents . PHP_EOL . '<h$1>';
3555 $content = preg_replace($pattern, $replacement, $content, 1);
3556 return $content;
3557 }
3558 if ( $yturbo_options['yttocmesto'] == 'После первого заголовка' ) {
3559 $pattern = "/<\/h(.*?)>/i";
3560 $replacement = '</h$1>' . PHP_EOL . PHP_EOL . $contents;
3561 $content = preg_replace($pattern, $replacement, $content, 1);
3562 return $content;
3563 }
3564}
3565add_filter( 'yturbo_add_contents', 'yturbo_toc' );
3566//вставка оглавления записи end
3567
3568//функция удаления эмоджи begin
3569function 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
3580function 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}
3600add_filter( 'the_title_rss', 'yturbo_filter_title_rss' );
3601//приводим заголовки записей в соответствие с требованиями яндекса end
3602
3603//функция обрезки текста по словам begin
3604function yturbo_cut_by_words( $maxlen, $text ) {
3605 $len = (mb_strlen($text) > $maxlen)? mb_strripos(mb_substr($text, 0, $maxlen), ' ') : $maxlen;
3606 $cutStr = mb_substr($text, 0, $len);
3607 $temp = (mb_strlen($text) > $maxlen)? $cutStr. '...' : $cutStr;
3608 return $temp;
3609}
3610//функция обрезки текста по словам end
3611
3612//функция установки не пустого заголовка begin
3613function yturbo_empty_title( $title ) {
3614 $yturbo_options = get_option('yturbo_options');
3615
3616 if ( ! $title ) {
3617 $title = $yturbo_options['yttitle'];
3618 }
3619
3620 return $title;
3621}
3622//функция установки не пустого заголовка end
3623
3624//добавляем плагины в визуальный редактор begin
3625function 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}
3631add_filter( 'mce_external_plugins', 'yturbo_add_plugins_tinymce' );
3632//добавляем плагины в визуальный редактор end
3633
3634//замена протокола в ссылках при отключении турбо-страниц begin
3635function yturbo_filter_permalink_rss( $url ) {
3636 $yturbo_options = get_option('yturbo_options');
3637
3638 if ( ! is_feed($yturbo_options['ytrssname']) )
3639 return $url;
3640
3641 if ( $yturbo_options['ytremoveturbo'] != 'enabled' )
3642 return $url;
3643
3644 if ( $yturbo_options['ytprotokol'] == 'asis' )
3645 return $url;
3646
3647 if ( $yturbo_options['ytprotokol'] == 'http' ) {
3648 $url = str_replace('https://', 'http://', $url);
3649 }
3650
3651 if ( $yturbo_options['ytprotokol'] == 'https' ) {
3652 $url = str_replace('http://', 'https://', $url);
3653 }
3654
3655 return $url;
3656}
3657add_filter( 'the_permalink_rss', 'yturbo_filter_permalink_rss' );
3658//замена протокола в ссылках при отключении турбо-страниц end
3659
3660//добавляем колонку "Турбо" в админке на странице списка записей begin
3661function yturbo_add_column_name( $defaults ) {
3662 $purl = plugins_url('', __FILE__);
3663 $defaults['yturbo'] = '<span class="screen-reader-text">Яндекс.Турбо</span><img title="Яндекс.Турбо" style="width: 20px;height: 20px;vertical-align: bottom;" src="' . $purl . '/img/yablocks.png" />';
3664 return $defaults;
3665}
3666function yturbo_css_for_column_yturbo() {
3667 echo '<style>.column-yturbo{width: 3.0em;}</style>';
3668}
3669function yturbo_add_column_content( $column_name, $post_id ) {
3670 if ($column_name === 'yturbo') {
3671
3672 $yturbo_options = get_option('yturbo_options');
3673
3674 $ytrssenabled = get_post_meta( $post_id, 'ytrssenabled_meta_value', true );
3675 $ytremove = get_post_meta( $post_id, 'ytremove_meta_value', true );
3676
3677 $content = '';
3678 if ( $ytrssenabled == 'yes' ) { $content = '<span title="Запись исключена из RSS-ленты (вручную)" style="vertical-align: middle;color:#72777c;" class="dashicons dashicons-no-alt"></span>'; }
3679 if ( $ytremove == 'yes' ) { $content = '<span title="Турбо-страница на удалении" style="vertical-align: middle;color:#df2424;" class="dashicons dashicons-no-alt"></span>'; }
3680 if ( $ytremove != 'yes' && $ytrssenabled != 'yes' ) { $content = '<span title="Запись есть в RSS-ленте" style="vertical-align: middle;color:#0a8f0a;" class="dashicons dashicons-yes"></span>'; }
3681
3682 $ytqueryselect = $yturbo_options['ytqueryselect'];
3683 $yttaxlist = $yturbo_options['yttaxlist'];
3684 $ytaddtaxlist = $yturbo_options['ytaddtaxlist'];
3685
3686 if ($ytqueryselect=='Все таксономии, кроме исключенных' && $yttaxlist) {
3687 $textAr = explode("\n", trim($yttaxlist));
3688 $textAr = array_filter($textAr, 'trim');
3689 foreach ($textAr as $line) {
3690 $tax = explode(":", $line);
3691 $taxterm = explode(",", $tax[1]);
3692 $taxterm = array_map('intval', $taxterm);
3693 if ( has_term($taxterm, $tax[0]) ) {
3694 $content = '<span title="Запись исключена из RSS-ленты (фильтр по таксономии)" style="vertical-align: middle;color:#72777c;" class="dashicons dashicons-no-alt"></span>';
3695 break;
3696 }
3697 }
3698 }
3699 if (!$ytaddtaxlist) {$ytaddtaxlist = 'category:10000000';}
3700 if ($ytqueryselect=='Только указанные таксономии' && $ytaddtaxlist) {
3701 $textAr = explode("\n", trim($ytaddtaxlist));
3702 $textAr = array_filter($textAr, 'trim');
3703 foreach ($textAr as $line) {
3704 $tax = explode(":", $line);
3705 $taxterm = explode(",", $tax[1]);
3706 $taxterm = array_map('intval', $taxterm);
3707 if ( has_term($taxterm, $tax[0]) ) {
3708 $content = '<span title="Запись есть в RSS-ленте" style="vertical-align: middle;color:#0a8f0a;" class="dashicons dashicons-yes"></span>';
3709 break;
3710 } else {
3711 $content = '<span title="Запись исключена из RSS-ленты (фильтр по таксономии)" style="vertical-align: middle;color:#72777c;" class="dashicons dashicons-no-alt"></span>';
3712 }
3713 }
3714 }
3715
3716 if ( get_post_status($post_id) != 'publish' ) {
3717 $content = '<span title="Записи нет в RSS-ленте (запись не опубликована)" style="vertical-align: middle;color:#72777c;" class="dashicons dashicons-no-alt"></span>';
3718 }
3719
3720 echo $content;
3721 }
3722}
3723function yturbo_add_columns() {
3724 $yturbo_options = get_option('yturbo_options');
3725
3726 if ( $yturbo_options['ytturbocolumn'] == 'disabled' )
3727 return;
3728
3729 $yttype = explode( ",", $yturbo_options['yttype'] );
3730 $yttype = array_diff( $yttype, array('') );
3731
3732 foreach ( $yttype as $post_type ) {
3733 if ( 'page' === $post_type ) continue;
3734 add_filter( "manage_{$post_type}_posts_columns", "yturbo_add_column_name", 5 );
3735 add_action( "manage_{$post_type}_posts_custom_column", "yturbo_add_column_content", 5, 2 );
3736 }
3737
3738 if ( in_array('page', $yttype) ) {
3739 add_filter( 'manage_pages_columns', 'yturbo_add_column_name', 5 );
3740 add_action( 'manage_pages_custom_column', 'yturbo_add_column_content', 5, 2 );
3741 }
3742
3743 add_action( 'admin_head', 'yturbo_css_for_column_yturbo' );
3744}
3745add_action( 'wp_loaded', 'yturbo_add_columns' );
3746//добавляем колонку "Турбо" в админке на странице списка записей end
3747
3748//шорткод вывода ссылки на запись begin
3749function yt_permalink_func( $atts ) {
3750 return esc_url( apply_filters( 'the_permalink_rss', get_permalink() ) );
3751}
3752add_shortcode( 'yt-permalink', 'yt_permalink_func' );
3753//шорткод вывода ссылки на запись end
3754
3755//шорткод вывода заголовка записи begin
3756function yt_title_func( $atts ) {
3757 return get_the_title_rss();
3758}
3759add_shortcode( 'yt-title', 'yt_title_func' );
3760//шорткод вывода заголовка записи end
3761
3762//функция проверки наличия плагина "WPCase: Turbo Ads" begin
3763function 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
3774function 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}
3791add_filter( 'is_protected_meta', 'yturbo_hide_custom_fields', 10, 2 );
3792//скрываем произвольные поля плагина end