Version Description
(10.02.2022) =
- ( ).
- .
- ( ).
- .
Download this release
Release Info
Developer | Flector |
Plugin | RSS for Yandex Turbo |
Version | 1.32 |
Comparing to | |
See all releases |
Code changes from version 1.31 to 1.32
- inc/Contents.php +347 -378
- inc/yturbo-css.css +11 -1
- inc/yturbo-script.js +948 -948
- readme.txt +8 -2
- rss-for-yandex-turbo.php +3698 -3666
inc/Contents.php
CHANGED
@@ -1,428 +1,397 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
|
5 |
-
* Содержание (оглавление) для больших постов.
|
6 |
-
*
|
7 |
-
* оригинал от камы, переименовано так как изменена разметка
|
8 |
-
* @author: Kama
|
9 |
-
* @info: http://wp-kama.ru/?p=1513
|
10 |
-
* @version: 3.18
|
11 |
-
*
|
12 |
-
* @changelog: https://github.com/doiftrue/Kama_Contents/blob/master/CHANGELOG.md
|
13 |
-
*/
|
14 |
-
class YTurbo_Contents {
|
15 |
-
|
16 |
-
public $opt = [
|
17 |
-
// Отступ слева у подразделов в px.
|
18 |
-
'margin' => 40,
|
19 |
-
// Теги по умолчанию по котором будет строиться оглавление. Порядок имеет значение.
|
20 |
-
// Кроме тегов, можно указать атрибут classа: array('h2','.class_name'). Можно указать строкой: 'h2 h3 .class_name'
|
21 |
-
'selectors' => [ 'h2','h3','h4' ],
|
22 |
-
// Ссылка на возврат к оглавлению. '' - убрать ссылку
|
23 |
-
'to_menu' => 'к содержанию ↑',
|
24 |
-
// Заголовок. '' - убрать заголовок
|
25 |
-
'title' => 'Содержание:',
|
26 |
-
// Css стили. '' - убрать стили
|
27 |
-
'css' => '.kc__gotop{ display:block; text-align:right; }
|
28 |
-
.kc__title{ font-style:italic; padding:1em 0; }
|
29 |
-
.kc__anchlink{ color:#ddd!important; position:absolute; margin-left:-1em; }',
|
30 |
-
// JS код (добавляется после HTML кода)
|
31 |
-
'js' => '',
|
32 |
-
// Минимальное количество найденных тегов, чтобы оглавление выводилось.
|
33 |
-
'min_found' => 2,
|
34 |
-
// Минимальная длина (символов) текста, чтобы оглавление выводилось.
|
35 |
-
'min_length' => 2000,
|
36 |
-
// Ссылка на страницу для которой собирается оглавление. Если оглавление выводиться на другой странице...
|
37 |
-
'page_url' => '',
|
38 |
-
// Название шоткода
|
39 |
-
'shortcode' => 'contents',
|
40 |
-
// Оставлять символы в анкорах
|
41 |
-
'spec' => '\'.+$*~=',
|
42 |
-
// Какой тип анкора использовать: 'a' - <a name="anchor"></a> или 'id' -
|
43 |
-
'anchor_type' => 'id',
|
44 |
-
// Название атрибута тега из значения которого будет браться анкор (если этот атрибут есть у тега). Ставим '', чтобы отключить такую проверку...
|
45 |
-
'anchor_attr_name' => 'id',
|
46 |
-
// Включить микроразметку?
|
47 |
-
'markup' => false,
|
48 |
-
// Добавить 'знак' перед подзаголовком статьи со ссылкой на текущий анкор заголовка. Укажите '#', '&' или что вам нравится :)
|
49 |
-
'anchor_link' => '',
|
50 |
-
// минимальное количество символов между заголовками содержания, для которых нужно выводить ссылку "к содержанию".
|
51 |
-
// Не имеет смысла, если параметр 'to_menu' отключен. С целью производительности, кириллица считается без учета кодировки.
|
52 |
-
// Поэтому 800 символов кириллицы - это примерно 1600 символов в этом параметре. 800 - расчет для сайтов на кириллице...
|
53 |
-
'tomenu_simcount' => 800,
|
54 |
-
];
|
55 |
-
|
56 |
-
public $contents; // collect html (contents)
|
57 |
-
|
58 |
-
private $temp;
|
59 |
-
|
60 |
-
static $inst;
|
61 |
-
|
62 |
-
function __construct( $args = array() ){
|
63 |
-
$this->set_opt( $args );
|
64 |
-
return $this;
|
65 |
-
}
|
66 |
|
67 |
-
|
68 |
-
* Create instance.
|
69 |
-
*
|
70 |
-
* @param array $args Options
|
71 |
-
* @return object Instance
|
72 |
-
*/
|
73 |
-
static function init( $args = array() ){
|
74 |
-
is_null( self::$inst ) && self::$inst = new self( $args );
|
75 |
-
if( $args ) self::$inst->set_opt( $args );
|
76 |
-
return self::$inst;
|
77 |
-
}
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
|
|
|
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
*
|
86 |
-
* @param string $content The text, which has a shortcode.
|
87 |
-
* @param string $contents_cb Сallback function that will process the contents list.
|
88 |
-
*
|
89 |
-
* @return string Processed text with a table of contents, if it has a shotcode.
|
90 |
-
*/
|
91 |
-
function shortcode( $content, $contents_cb = '' ){
|
92 |
-
if( false === strpos( $content, '['. $this->opt->shortcode ) )
|
93 |
-
return $content;
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
return $content;
|
98 |
|
99 |
-
|
|
|
100 |
|
101 |
-
|
102 |
-
|
103 |
|
104 |
-
|
105 |
-
|
106 |
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
* You can add "embed" mark here to get <ul> tag only (without header and wrapper block).
|
114 |
-
* It can be useful for use contents inside the text as a list.
|
115 |
-
*
|
116 |
-
* @return string HTML code of contents.
|
117 |
-
*/
|
118 |
-
function make_contents( & $content, $tags = '' ){
|
119 |
-
// return if text is too short
|
120 |
-
if( mb_strlen( strip_tags($content) ) < $this->opt->min_length )
|
121 |
-
return '';
|
122 |
-
|
123 |
-
$this->temp = $this->opt;
|
124 |
-
$this->contents = array();
|
125 |
-
|
126 |
-
if( ! $tags )
|
127 |
-
$tags = $this->opt->selectors;
|
128 |
-
|
129 |
-
if( is_string($tags) ){
|
130 |
-
$extra_tags = array();
|
131 |
-
if( preg_match( '/(as_table)="([^"]+)"/', $tags, $mm ) ){
|
132 |
-
$extra_tags[ $mm[1] ] = explode( '|', $mm[2] );
|
133 |
-
$tags = str_replace( " {$mm[0]}", '', $tags ); // cut
|
134 |
-
}
|
135 |
-
$tags = array_map( 'trim', preg_split('/[ ,]+/', $tags ) );
|
136 |
-
$tags += $extra_tags;
|
137 |
-
}
|
138 |
|
139 |
-
|
|
|
140 |
|
141 |
-
|
142 |
-
|
|
|
|
|
143 |
|
144 |
-
|
145 |
-
|
146 |
-
$
|
|
|
|
|
147 |
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
150 |
}
|
151 |
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
unset( $tags[ $key ] );
|
158 |
-
continue;
|
159 |
}
|
160 |
|
161 |
-
|
162 |
-
$patt = ( ($tag[0] == '.') ? 'class=[\'"][^\'"]*'. substr($tag, 1) : "<$tag" );
|
163 |
-
if( ! preg_match("/$patt/i", $content ) ){
|
164 |
-
unset( $tags[ $key ] );
|
165 |
-
continue;
|
166 |
-
}
|
167 |
}
|
168 |
|
169 |
-
if( ! $tags )
|
170 |
-
return '';
|
171 |
-
|
172 |
-
// set patterns from given $tags
|
173 |
-
// separate classes & tags & set
|
174 |
-
$class_patt = $tag_patt = $level_tags = array();
|
175 |
-
foreach( $tags as $tag ){
|
176 |
-
// class
|
177 |
-
if( $tag[0] == '.' ){
|
178 |
-
$tag = substr( $tag, 1 );
|
179 |
-
$link = & $class_patt;
|
180 |
-
}
|
181 |
-
// html tag
|
182 |
-
else
|
183 |
-
$link = & $tag_patt;
|
184 |
|
185 |
-
|
186 |
-
$
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
// replace all titles & collect contents to $this->contents
|
192 |
-
$patt_in = array();
|
193 |
-
if( $tag_patt ) $patt_in[] = '(?:<('. implode('|', $tag_patt) .')([^>]*)>(.*?)<\/\1>)';
|
194 |
-
if( $class_patt ) $patt_in[] = '(?:<([^ >]+) ([^>]*class=["\'][^>]*('. implode('|', $class_patt) .')[^>]*["\'][^>]*)>(.*?)<\/'. ($patt_in?'\4':'\1') .'>)';
|
195 |
|
196 |
-
|
|
|
197 |
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
|
|
|
|
202 |
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
|
208 |
-
|
209 |
-
|
210 |
-
// html
|
211 |
-
static $css, $js;
|
212 |
-
$embed = isset($this->temp->embed);
|
213 |
-
$_tit = & $this->opt->title;
|
214 |
-
$_is_tit = ! $embed && $_tit;
|
215 |
-
|
216 |
-
// markup
|
217 |
-
$ItemList = $this->opt->markup ? ' itemscope itemtype="http://schema.org/ItemList"' : '';
|
218 |
-
|
219 |
-
if( isset($this->temp->as_table) ){
|
220 |
-
$contents = '
|
221 |
-
<table class="contents" id="kcmenu"'. ($ItemList ?: '') .'>
|
222 |
-
<thead>
|
223 |
-
<tr>
|
224 |
-
<th>'. esc_html( $this->temp->as_table[0] ) .'</th>
|
225 |
-
<th>'. esc_html( $this->temp->as_table[1] ) .'</th>
|
226 |
-
</tr>
|
227 |
-
</thead>
|
228 |
-
<tbody>
|
229 |
-
'. implode('', $this->contents ) .'
|
230 |
-
</tbody>
|
231 |
-
</table>';
|
232 |
-
}
|
233 |
-
else {
|
234 |
-
$contents =
|
235 |
-
( $_is_tit ? '<h3>'. $_tit .'</h3>'. "\n" : '' ) .
|
236 |
-
'<ol>'. "\n".
|
237 |
-
implode('', $this->contents ) .
|
238 |
-
'</ol>'."\n";
|
239 |
}
|
240 |
|
241 |
-
$contents =
|
242 |
-
( ( ! $css && $this->opt->css ) ? '<style>'. preg_replace('/[\n\t ]+/', ' ', $this->opt->css ) .'</style>' : '' ) .
|
243 |
-
$contents .
|
244 |
-
( ( ! $js && $this->opt->js ) ? '<script>'. preg_replace('/[\n\t ]+/', ' ', $this->opt->js ) .'</script>' : '' ) ;
|
245 |
-
|
246 |
-
unset( $this->temp ); // clear cache
|
247 |
-
|
248 |
-
return $this->contents = $contents;
|
249 |
-
}
|
250 |
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
|
269 |
-
|
270 |
}
|
271 |
-
// it's found class selector
|
272 |
-
else{
|
273 |
-
$tag = $match[4];
|
274 |
-
$attrs = $match[5];
|
275 |
-
$tag_txt = $match[7];
|
276 |
|
277 |
-
$level_tag = $match[6]; // class_name
|
278 |
-
}
|
279 |
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
}
|
286 |
-
}
|
287 |
-
|
288 |
-
$opt = $this->opt; // short love
|
289 |
-
|
290 |
-
// if tag contains id attribute it become anchor
|
291 |
-
if( $opt->anchor_attr_name && preg_match('/ *('. preg_quote($opt->anchor_attr_name) .')=([\'"])(.+?)\2 */i', $attrs, $id_match) ){
|
292 |
-
if( in_array($id_match[1], array('id','name')) )
|
293 |
-
$attrs = str_replace( $id_match[0], '', $attrs ); // delete 'id' or 'name' attr from attrs
|
294 |
-
$anchor = $this->_sanitaze_anchor( $id_match[3] );
|
295 |
-
}
|
296 |
-
else
|
297 |
-
$anchor = $this->_sanitaze_anchor( $tag_txt );
|
298 |
-
|
299 |
-
$level = @ $temp->level_tags[ $level_tag ];
|
300 |
-
if( $level > 0 )
|
301 |
-
$sub = ( $opt->margin ? ' style="margin-left:'. ($level*$opt->margin) .'px;"' : '') . ' class="sub sub_'. $level .'"';
|
302 |
-
else
|
303 |
-
$sub = '';
|
304 |
-
|
305 |
-
// collect contents
|
306 |
-
// markup
|
307 |
-
$_is_mark = $opt->markup;
|
308 |
-
|
309 |
-
$temp->counter = empty($temp->counter) ? 1 : $temp->counter+1;
|
310 |
-
|
311 |
-
// $tag_txt не может содержать A, IMG теги - удалим если надо...
|
312 |
-
$cont_elem_txt = $tag_txt;
|
313 |
-
if( false !== strpos($cont_elem_txt, '</a>') ) $cont_elem_txt = preg_replace('~<a[^>]+>|</a>~', '', $cont_elem_txt );
|
314 |
-
if( false !== strpos($cont_elem_txt, '<img') ) $cont_elem_txt = preg_replace('~<img[^>]+>~', '', $cont_elem_txt );
|
315 |
-
|
316 |
-
if( isset($this->temp->as_table) ){
|
317 |
-
$this->contents[] = "\t".'
|
318 |
-
<tr>
|
319 |
-
<td '. ($_is_mark?' itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"':'') .'>
|
320 |
-
<a '. ($_is_mark?' itemprop="url"':'') .' href="'. $opt->page_url .'#'. $anchor .'">
|
321 |
-
'.( $_is_mark ? '<span itemprop="name">'. $cont_elem_txt .'</span>' : $cont_elem_txt ).'
|
322 |
-
</a>
|
323 |
-
'.( $_is_mark ? ' <meta itemprop="position" content="'. $temp->counter .'" />':'' ).'
|
324 |
-
</td>
|
325 |
-
<td>'. $tag_desc .'</td>
|
326 |
-
</tr>'. "\n";
|
327 |
-
}
|
328 |
-
else {
|
329 |
-
$this->contents[] = "\t".'
|
330 |
-
<li'. $sub . ($_is_mark?' itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"':'') .'>
|
331 |
-
<a'. ($_is_mark?' itemprop="url"':'') .' href="'. $opt->page_url .'#'. $anchor .'">
|
332 |
-
'.( $_is_mark ? '<span itemprop="name">'. $cont_elem_txt .'</span>' : $cont_elem_txt ).'
|
333 |
-
</a>
|
334 |
-
'.( $_is_mark ? ' <meta itemprop="position" content="'. $temp->counter .'" />':'' ).'
|
335 |
-
</li>'. "\n";
|
336 |
-
}
|
337 |
|
338 |
-
|
339 |
-
$tag_txt = '<a href="#'. $anchor .'">'. $opt->anchor_link .'</a> ' . $tag_txt;
|
340 |
-
|
341 |
-
// anchor type: 'a' or 'id'
|
342 |
-
if( $opt->anchor_type === 'a' )
|
343 |
-
$new_el = '<a name="'. $anchor .'"></a>'."\n<$tag $attrs>$tag_txt</$tag>";
|
344 |
-
else
|
345 |
-
$new_el = "\n<$tag id=\"$anchor\"$attrs>$tag_txt</$tag>";
|
346 |
-
|
347 |
-
$to_menu = '';
|
348 |
-
if( $opt->to_menu ){
|
349 |
-
// go to contents
|
350 |
-
$to_menu = '<a href="'. $opt->page_url .'#kcmenu">'. $opt->to_menu .'</a>';
|
351 |
-
|
352 |
-
// remove '$to_menu' if simbols beatween $to_menu too small (< 300)
|
353 |
-
$pos = strpos( $temp->content, $match[0] ); // mb_strpos( $temp->content, $match[0] ) - в 150 раз медленнее!
|
354 |
-
if( empty($temp->elpos) ){
|
355 |
-
$prevpos = 0;
|
356 |
-
$temp->elpos = array( $pos );
|
357 |
-
}
|
358 |
-
else {
|
359 |
-
$prevpos = end($temp->elpos);
|
360 |
-
$temp->elpos[] = $pos;
|
361 |
-
}
|
362 |
-
$simbols_count = $pos - $prevpos;
|
363 |
-
if( $simbols_count < $opt->tomenu_simcount ) $to_menu = '';
|
364 |
}
|
365 |
|
366 |
-
return $to_menu . $new_el;
|
367 |
-
}
|
368 |
-
|
369 |
-
## anchor transliteration
|
370 |
-
function _sanitaze_anchor( $anch ){
|
371 |
-
$anch = strip_tags( $anch );
|
372 |
-
|
373 |
-
$anch = apply_filters( 'kama_cont::sanitaze_anchor_before', $anch, $this );
|
374 |
|
375 |
-
$
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ё'=>'yo', 'ж'=>'zh',
|
382 |
-
'з'=>'z', 'и'=>'i', 'й'=>'j', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o',
|
383 |
-
'п'=>'p', 'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'х'=>'h', 'ц'=>'ts',
|
384 |
-
'ч'=>'ch', 'ш'=>'sh', 'щ'=>'shh', 'ъ'=>'', 'ы'=>'y', 'ь'=>'', 'э'=>'e', 'ю'=>'yu', 'я'=>'ya',
|
385 |
-
// other
|
386 |
-
'Ѓ'=>'G', 'Ґ'=>'G', 'Є'=>'YE', 'Ѕ'=>'Z', 'Ј'=>'J', 'І'=>'I', 'Ї'=>'YI', 'Ќ'=>'K', 'Љ'=>'L', 'Њ'=>'N', 'Ў'=>'U', 'Џ'=>'DH',
|
387 |
-
'ѓ'=>'g', 'ґ'=>'g', 'є'=>'ye', 'ѕ'=>'z', 'ј'=>'j', 'і'=>'i', 'ї'=>'yi', 'ќ'=>'k', 'љ'=>'l', 'њ'=>'n', 'ў'=>'u', 'џ'=>'dh'
|
388 |
-
];
|
389 |
|
390 |
-
|
391 |
|
392 |
-
|
393 |
-
$anch = preg_replace( "/[^a-zA-Z0-9_$spec\-]+/", '-', $anch ); // все ненужное на '-'
|
394 |
-
$anch = strtolower( trim( $anch, '-') );
|
395 |
-
$anch = substr( $anch, 0, 70 ); // shorten
|
396 |
|
397 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
|
399 |
-
|
|
|
|
|
|
|
|
|
400 |
|
401 |
-
|
402 |
-
|
|
|
403 |
|
404 |
-
|
405 |
-
|
406 |
-
|
|
|
407 |
|
408 |
-
|
409 |
-
|
|
|
|
|
|
|
|
|
410 |
|
411 |
-
|
412 |
-
$lastnum = is_numeric($lastnum) ? $lastnum + 1 : 2;
|
413 |
|
414 |
-
return
|
415 |
}
|
416 |
-
else
|
417 |
-
$anchors[ $anch ] = 1;
|
418 |
-
|
419 |
-
return $anch;
|
420 |
-
}
|
421 |
|
422 |
-
## cut the shortcode from the content
|
423 |
-
function strip_shortcode( $text ){
|
424 |
-
return preg_replace('~\['. $this->opt->shortcode .'[^\]]*\]~', '', $text );
|
425 |
}
|
426 |
-
|
427 |
-
}
|
428 |
-
|
1 |
<?php
|
2 |
|
3 |
+
// класс выдран, переделан и кастрирован из плагина Table of Contents Plus.
|
4 |
+
// замена класса от камы, так как он не поддерживает вложенность без css.
|
5 |
+
|
6 |
+
if ( ! class_exists( 'YTurbo_Contents' ) ) :
|
7 |
+
class YTurbo_Contents {
|
8 |
+
|
9 |
+
private $options;
|
10 |
+
private $collision_collector; // keeps a track of used anchors for collision detecting
|
11 |
+
|
12 |
+
function __construct() {
|
13 |
+
|
14 |
+
$this->collision_collector = [];
|
15 |
+
$yturbo_options = get_option('yturbo_options');
|
16 |
+
|
17 |
+
$selectors = array();
|
18 |
+
if ($yturbo_options['yttoch1']=='enabled'){array_push($selectors, '1');}
|
19 |
+
if ($yturbo_options['yttoch2']=='enabled'){array_push($selectors, '2');}
|
20 |
+
if ($yturbo_options['yttoch3']=='enabled'){array_push($selectors, '3');}
|
21 |
+
if ($yturbo_options['yttoch4']=='enabled'){array_push($selectors, '4');}
|
22 |
+
if ($yturbo_options['yttoch5']=='enabled'){array_push($selectors, '5');}
|
23 |
+
if ($yturbo_options['yttoch6']=='enabled'){array_push($selectors, '6');}
|
24 |
+
if ( ! $selectors ) array_push($selectors, '1');
|
25 |
+
|
26 |
+
// get options
|
27 |
+
$defaults = [ // default options
|
28 |
+
'fragment_prefix' => 'i',
|
29 |
+
'position' => $yturbo_options['yttocmesto'],
|
30 |
+
'start' => $yturbo_options['yttocnumber'],
|
31 |
+
'show_heading_text' => true,
|
32 |
+
'heading_text' => $yturbo_options['yttoczag'],
|
33 |
+
'show_heirarchy' => true,
|
34 |
+
'ordered_list' => true,
|
35 |
+
'lowercase' => true,
|
36 |
+
'hyphenate' => false,
|
37 |
+
'bullet_spacing' => false,
|
38 |
+
'exclude' => esc_attr(stripslashes($yturbo_options['yttocexclude'])),
|
39 |
+
'heading_levels' => $selectors,
|
40 |
+
];
|
41 |
+
|
42 |
+
$options = '';
|
43 |
+
$this->options = wp_parse_args( $options, $defaults );
|
44 |
+
|
45 |
+
//add_filter( 'yturbo_the_content', [ $this, 'the_content' ], 100 ); // run after shortcodes are interpretted (level 10)
|
46 |
|
47 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
+
function __destruct() {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
+
/**
|
52 |
+
* Returns a clean url to be used as the destination anchor target
|
53 |
+
*/
|
54 |
+
private function url_anchor_target( $title ) {
|
55 |
+
$return = false;
|
56 |
|
57 |
+
if ( $title ) {
|
58 |
+
$return = trim( strip_tags( $title ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
+
// convert accented characters to ASCII
|
61 |
+
$return = remove_accents( $return );
|
|
|
62 |
|
63 |
+
// replace newlines with spaces (eg when headings are split over multiple lines)
|
64 |
+
$return = str_replace( [ "\r", "\n", "\n\r", "\r\n" ], ' ', $return );
|
65 |
|
66 |
+
// remove &
|
67 |
+
$return = str_replace( '&', '', $return );
|
68 |
|
69 |
+
// remove non alphanumeric chars
|
70 |
+
$return = preg_replace( '/[^a-zA-Z0-9 \-_]*/', '', $return );
|
71 |
|
72 |
+
// convert spaces to _
|
73 |
+
$return = str_replace(
|
74 |
+
[ ' ', ' ' ],
|
75 |
+
'_',
|
76 |
+
$return
|
77 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
|
79 |
+
// remove trailing - and _
|
80 |
+
$return = rtrim( $return, '-_' );
|
81 |
|
82 |
+
// lowercase everything?
|
83 |
+
if ( $this->options['lowercase'] ) {
|
84 |
+
$return = strtolower( $return );
|
85 |
+
}
|
86 |
|
87 |
+
// if blank, then prepend with the fragment prefix
|
88 |
+
// blank anchors normally appear on sites that don't use the latin charset
|
89 |
+
if ( ! $return ) {
|
90 |
+
$return = ( $this->options['fragment_prefix'] ) ? $this->options['fragment_prefix'] : '_';
|
91 |
+
}
|
92 |
|
93 |
+
// hyphenate?
|
94 |
+
if ( $this->options['hyphenate'] ) {
|
95 |
+
$return = str_replace( '_', '-', $return );
|
96 |
+
$return = str_replace( '--', '-', $return );
|
97 |
+
}
|
98 |
}
|
99 |
|
100 |
+
if ( array_key_exists( $return, $this->collision_collector ) ) {
|
101 |
+
$this->collision_collector[ $return ]++;
|
102 |
+
$return .= '-' . $this->collision_collector[ $return ];
|
103 |
+
} else {
|
104 |
+
$this->collision_collector[ $return ] = 1;
|
|
|
|
|
105 |
}
|
106 |
|
107 |
+
return apply_filters( 'toc_url_anchor_target', $return );
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
+
private function build_hierarchy( &$matches ) {
|
112 |
+
$current_depth = 100; // headings can't be larger than h6 but 100 as a default to be sure
|
113 |
+
$html = '';
|
114 |
+
$numbered_items = [];
|
115 |
+
$numbered_items_min = null;
|
|
|
|
|
|
|
|
|
|
|
116 |
|
117 |
+
// reset the internal collision collection
|
118 |
+
$this->collision_collector = [];
|
119 |
|
120 |
+
// find the minimum heading to establish our baseline
|
121 |
+
for ( $i = 0; $i < count( $matches ); $i++ ) {
|
122 |
+
if ( $current_depth > $matches[ $i ][2] ) {
|
123 |
+
$current_depth = (int) $matches[ $i ][2];
|
124 |
+
}
|
125 |
+
}
|
126 |
|
127 |
+
$numbered_items[ $current_depth ] = 0;
|
128 |
+
$numbered_items_min = $current_depth;
|
129 |
+
|
130 |
+
for ( $i = 0; $i < count( $matches ); $i++ ) {
|
131 |
+
|
132 |
+
if ( $current_depth === (int) $matches[ $i ][2] ) {
|
133 |
+
$html .= '<li>';
|
134 |
+
}
|
135 |
+
|
136 |
+
// start lists
|
137 |
+
if ( $current_depth !== (int) $matches[ $i ][2] ) {
|
138 |
+
for ( $current_depth; $current_depth < (int) $matches[ $i ][2]; $current_depth++ ) {
|
139 |
+
$numbered_items[ $current_depth + 1 ] = 0;
|
140 |
+
$html .= '<ul><li>';
|
141 |
+
}
|
142 |
+
}
|
143 |
+
|
144 |
+
// list item
|
145 |
+
if ( in_array( $matches[ $i ][2], $this->options['heading_levels'] ) ) {
|
146 |
+
$html .= '<a href="'.get_the_permalink().'#' . $this->url_anchor_target( $matches[ $i ][0] ) . '">';
|
147 |
+
if ( $this->options['ordered_list'] ) {
|
148 |
+
// attach leading numbers when lower in hierarchy
|
149 |
+
$html .= '<span class="toc_number toc_depth_' . ( $current_depth - $numbered_items_min + 1 ) . '">';
|
150 |
+
for ( $j = $numbered_items_min; $j < $current_depth; $j++ ) {
|
151 |
+
$number = ( $numbered_items[ $j ] ) ? $numbered_items[ $j ] : 0;
|
152 |
+
$html .= $number . '.';
|
153 |
+
}
|
154 |
+
|
155 |
+
$html .= ( $numbered_items[ $current_depth ] + 1 ) . '</span> ';
|
156 |
+
$numbered_items[ $current_depth ]++;
|
157 |
+
}
|
158 |
+
$html .= strip_tags( $matches[ $i ][0] ) . '</a>';
|
159 |
+
}
|
160 |
+
|
161 |
+
// end lists
|
162 |
+
if ( count( $matches ) - 1 !== $i ) {
|
163 |
+
if ( $current_depth > (int) $matches[ $i + 1 ][2] ) {
|
164 |
+
for ( $current_depth; $current_depth > (int) $matches[ $i + 1 ][2]; $current_depth-- ) {
|
165 |
+
$html .= '</li></ul>';
|
166 |
+
$numbered_items[ $current_depth ] = 0;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
if ( (int) @$matches[ $i + 1 ][2] === $current_depth ) {
|
171 |
+
$html .= '</li>';
|
172 |
+
}
|
173 |
+
} else {
|
174 |
+
// this is the last item, make sure we close off all tags
|
175 |
+
for ( $current_depth; $current_depth >= $numbered_items_min; $current_depth-- ) {
|
176 |
+
$html .= '</li>';
|
177 |
+
if ( $current_depth !== $numbered_items_min ) {
|
178 |
+
$html .= '</ul>';
|
179 |
+
}
|
180 |
+
}
|
181 |
+
}
|
182 |
+
}
|
183 |
|
184 |
+
return $html;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
}
|
186 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
|
188 |
+
/**
|
189 |
+
* Returns a string with all items from the $find array replaced with their matching
|
190 |
+
* items in the $replace array. This does a one to one replacement (rather than
|
191 |
+
* globally).
|
192 |
+
*
|
193 |
+
* This function is multibyte safe.
|
194 |
+
*
|
195 |
+
* $find and $replace are arrays, $string is the haystack. All variables are
|
196 |
+
* passed by reference.
|
197 |
+
*/
|
198 |
+
private function mb_find_replace( &$find = false, &$replace = false, &$string = '' ) {
|
199 |
+
if ( is_array( $find ) && is_array( $replace ) && $string ) {
|
200 |
+
// check if multibyte strings are supported
|
201 |
+
if ( function_exists( 'mb_strpos' ) ) {
|
202 |
+
for ( $i = 0; $i < count( $find ); $i++ ) {
|
203 |
+
$string =
|
204 |
+
mb_substr( $string, 0, mb_strpos( $string, $find[ $i ] ) ) . // everything before $find
|
205 |
+
$replace[ $i ] . // its replacement
|
206 |
+
mb_substr( $string, mb_strpos( $string, $find[ $i ] ) + mb_strlen( $find[ $i ] ) ); // everything after $find
|
207 |
+
}
|
208 |
+
} else {
|
209 |
+
for ( $i = 0; $i < count( $find ); $i++ ) {
|
210 |
+
$string = substr_replace(
|
211 |
+
$string,
|
212 |
+
$replace[ $i ],
|
213 |
+
strpos( $string, $find[ $i ] ),
|
214 |
+
strlen( $find[ $i ] )
|
215 |
+
);
|
216 |
+
}
|
217 |
+
}
|
218 |
+
}
|
219 |
|
220 |
+
return $string;
|
221 |
}
|
|
|
|
|
|
|
|
|
|
|
222 |
|
|
|
|
|
223 |
|
224 |
+
/**
|
225 |
+
* This function extracts headings from the html formatted $content. It will pull out
|
226 |
+
* only the required headings as specified in the options. For all qualifying headings,
|
227 |
+
* this function populates the $find and $replace arrays (both passed by reference)
|
228 |
+
* with what to search and replace with.
|
229 |
+
*
|
230 |
+
* Returns a html formatted string of list items for each qualifying heading. This
|
231 |
+
* is everything between and NOT including <ul> and </ul>
|
232 |
+
*/
|
233 |
+
public function extract_headings( &$find, &$replace, $content = '' ) {
|
234 |
+
$matches = [];
|
235 |
+
$anchor = '';
|
236 |
+
$items = false;
|
237 |
+
|
238 |
+
// reset the internal collision collection as the_content may have been triggered elsewhere
|
239 |
+
// eg by themes or other plugins that need to read in content such as metadata fields in
|
240 |
+
// the head html tag, or to provide descriptions to twitter/facebook
|
241 |
+
$this->collision_collector = [];
|
242 |
+
|
243 |
+
if ( is_array( $find ) && is_array( $replace ) && $content ) {
|
244 |
+
// get all headings
|
245 |
+
// the html spec allows for a maximum of 6 heading depths
|
246 |
+
if ( preg_match_all( '/(<h([1-6]{1})[^>]*>).*<\/h\2>/msuU', $content, $matches, PREG_SET_ORDER ) ) {
|
247 |
+
|
248 |
+
// remove undesired headings (if any) as defined by heading_levels
|
249 |
+
if ( count( $this->options['heading_levels'] ) != 6 ) {
|
250 |
+
$new_matches = [];
|
251 |
+
for ( $i = 0; $i < count( $matches ); $i++ ) {
|
252 |
+
if ( in_array( $matches[ $i ][2], $this->options['heading_levels'] ) ) {
|
253 |
+
$new_matches[] = $matches[ $i ];
|
254 |
+
}
|
255 |
+
}
|
256 |
+
$matches = $new_matches;
|
257 |
+
}
|
258 |
+
|
259 |
+
// remove specific headings if provided via the 'exclude' property
|
260 |
+
if ( $this->options['exclude'] ) {
|
261 |
+
$excluded_headings = explode( '|', $this->options['exclude'] );
|
262 |
+
if ( count( $excluded_headings ) > 0 ) {
|
263 |
+
for ( $j = 0; $j < count( $excluded_headings ); $j++ ) {
|
264 |
+
// escape some regular expression characters
|
265 |
+
// others: http://www.php.net/manual/en/regexp.reference.meta.php
|
266 |
+
$excluded_headings[ $j ] = str_replace(
|
267 |
+
[ '*' ],
|
268 |
+
[ '.*' ],
|
269 |
+
trim( $excluded_headings[ $j ] )
|
270 |
+
);
|
271 |
+
}
|
272 |
+
|
273 |
+
$new_matches = [];
|
274 |
+
for ( $i = 0; $i < count( $matches ); $i++ ) {
|
275 |
+
$found = false;
|
276 |
+
for ( $j = 0; $j < count( $excluded_headings ); $j++ ) {
|
277 |
+
if ( @preg_match( '/^' . $excluded_headings[ $j ] . '$/imU', strip_tags( $matches[ $i ][0] ) ) ) {
|
278 |
+
$found = true;
|
279 |
+
break;
|
280 |
+
}
|
281 |
+
}
|
282 |
+
if ( ! $found ) {
|
283 |
+
$new_matches[] = $matches[ $i ];
|
284 |
+
}
|
285 |
+
}
|
286 |
+
if ( count( $matches ) !== count( $new_matches ) ) {
|
287 |
+
$matches = $new_matches;
|
288 |
+
}
|
289 |
+
}
|
290 |
+
}
|
291 |
+
|
292 |
+
// remove empty headings
|
293 |
+
$new_matches = [];
|
294 |
+
for ( $i = 0; $i < count( $matches ); $i++ ) {
|
295 |
+
if ( trim( strip_tags( $matches[ $i ][0] ) ) != false ) {
|
296 |
+
$new_matches[] = $matches[ $i ];
|
297 |
+
}
|
298 |
+
}
|
299 |
+
if ( count( $matches ) !== count( $new_matches ) ) {
|
300 |
+
$matches = $new_matches;
|
301 |
+
}
|
302 |
+
|
303 |
+
// check minimum number of headings
|
304 |
+
if ( count( $matches ) >= $this->options['start'] ) {
|
305 |
+
|
306 |
+
for ( $i = 0; $i < count( $matches ); $i++ ) {
|
307 |
+
// get anchor and add to find and replace arrays
|
308 |
+
$anchor = $this->url_anchor_target( $matches[ $i ][0] );
|
309 |
+
$find[] = $matches[ $i ][0];
|
310 |
+
$replace[] = str_replace(
|
311 |
+
[
|
312 |
+
$matches[ $i ][1], // start of heading
|
313 |
+
'</h' . $matches[ $i ][2] . '>', // end of heading
|
314 |
+
],
|
315 |
+
[
|
316 |
+
$matches[ $i ][1] . '<test id="' . $anchor . '">',
|
317 |
+
'</test></h' . $matches[ $i ][2] . '>',
|
318 |
+
],
|
319 |
+
$matches[ $i ][0]
|
320 |
+
);
|
321 |
+
//по умолчанию toc вставляет span внутрь заголовков, а яндекс этого не понимает
|
322 |
+
$pattern = "/<h(.*?)><test id=\"(.*?)\">(.*?)<\/test>/i";
|
323 |
+
$replacement = '<h$1 id="$2">$3';
|
324 |
+
$replace[$i] = preg_replace($pattern, $replacement, $replace[$i]);
|
325 |
+
|
326 |
+
// assemble flat list
|
327 |
+
if ( ! $this->options['show_heirarchy'] ) {
|
328 |
+
$items .= '<li><a href="'.get_the_permalink().'#' . $anchor . '">';
|
329 |
+
if ( $this->options['ordered_list'] ) {
|
330 |
+
$items .= count( $replace ) . ' ';
|
331 |
+
}
|
332 |
+
$items .= strip_tags( $matches[ $i ][0] ) . '</a></li>';
|
333 |
+
}
|
334 |
+
}
|
335 |
+
|
336 |
+
// build a hierarchical toc?
|
337 |
+
// we could have tested for $items but that var can be quite large in some cases
|
338 |
+
if ( $this->options['show_heirarchy'] ) {
|
339 |
+
$items = $this->build_hierarchy( $matches );
|
340 |
+
}
|
341 |
+
}
|
342 |
+
}
|
343 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
|
345 |
+
return $items;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
}
|
347 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
|
349 |
+
function the_content( $content ) {
|
350 |
+
global $post;
|
351 |
+
$yturbo_options = get_option('yturbo_options');
|
352 |
+
$items = '';
|
353 |
+
$find = [];
|
354 |
+
$replace = [];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
355 |
|
356 |
+
$items = $this->extract_headings( $find, $replace, $content );
|
357 |
|
358 |
+
if ( $items ) {
|
|
|
|
|
|
|
359 |
|
360 |
+
// add container, toc title and list items
|
361 |
+
$html = '<div id="toc_container">';
|
362 |
+
if ( $this->options['show_heading_text'] && $this->options['heading_text'] ) {
|
363 |
+
$toc_title = htmlentities( stripslashes($this->options['heading_text']), ENT_COMPAT, 'UTF-8' );
|
364 |
+
$html .= '<h3 class="toc_title">' . $toc_title . '</h3>';
|
365 |
+
}
|
366 |
+
$html .= '<ul class="toc_list">' . $items . '</ul></div>';
|
367 |
+
$html = PHP_EOL . wpautop( $html ) . PHP_EOL;
|
368 |
|
369 |
+
if ( count( $find ) > 0 ) {
|
370 |
+
switch ( $yturbo_options['yttocmesto'] ) {
|
371 |
+
case 'В начале записи':
|
372 |
+
$content = $html . $this->mb_find_replace( $find, $replace, $content );
|
373 |
+
break;
|
374 |
|
375 |
+
case 'В конце записи':
|
376 |
+
$content = $this->mb_find_replace( $find, $replace, $content ) . $html;
|
377 |
+
break;
|
378 |
|
379 |
+
case 'После первого заголовка':
|
380 |
+
$replace[0] = $replace[0] . $html;
|
381 |
+
$content = $this->mb_find_replace( $find, $replace, $content );
|
382 |
+
break;
|
383 |
|
384 |
+
case 'Перед первым заголовком':
|
385 |
+
default:
|
386 |
+
$replace[0] = $html . $replace[0];
|
387 |
+
$content = $this->mb_find_replace( $find, $replace, $content );
|
388 |
+
}
|
389 |
+
}
|
390 |
|
391 |
+
}
|
|
|
392 |
|
393 |
+
return $content;
|
394 |
}
|
|
|
|
|
|
|
|
|
|
|
395 |
|
|
|
|
|
|
|
396 |
}
|
397 |
+
endif;
|
|
|
|
inc/yturbo-css.css
CHANGED
@@ -185,10 +185,20 @@ td table {
|
|
185 |
vertical-align: super;
|
186 |
font-weight: 600;
|
187 |
}
|
188 |
-
.types
|
189 |
margin-bottom: 6px;
|
190 |
display: table;
|
191 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
.xyztabs {
|
193 |
max-width: 100%;
|
194 |
margin: 0 0 20px;
|
185 |
vertical-align: super;
|
186 |
font-weight: 600;
|
187 |
}
|
188 |
+
.types {
|
189 |
margin-bottom: 6px;
|
190 |
display: table;
|
191 |
}
|
192 |
+
.ulshortcodes {
|
193 |
+
max-width: 850px;
|
194 |
+
}
|
195 |
+
.ulshortcodes li {
|
196 |
+
display: inline-block;
|
197 |
+
margin: 0 12px 6px 0;
|
198 |
+
}
|
199 |
+
.ulshortcodes label {
|
200 |
+
vertical-align: initial;
|
201 |
+
}
|
202 |
.xyztabs {
|
203 |
max-width: 100%;
|
204 |
margin: 0 0 20px;
|
inc/yturbo-script.js
CHANGED
@@ -1,694 +1,694 @@
|
|
1 |
jQuery(document).ready(function($) {
|
2 |
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
|
693 |
})
|
694 |
|
@@ -697,302 +697,302 @@ jQuery(document).ready(function($) {
|
|
697 |
|
698 |
|
699 |
String.prototype.replaceAll = function(search, replace){
|
700 |
-
|
701 |
}
|
702 |
|
703 |
jQuery(document).ready(function($) {
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
});
|
713 |
jQuery(function() {
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
});
|
727 |
jQuery(function() {
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
});
|
741 |
jQuery(function() {
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
});
|
755 |
jQuery(function() {
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
});
|
769 |
jQuery(function() {
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
});
|
783 |
|
784 |
jQuery(document).ready(function($) {
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
});
|
800 |
jQuery(function() {
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
});
|
818 |
jQuery(function() {
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
});
|
836 |
jQuery(function() {
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
});
|
854 |
jQuery(function() {
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
});
|
872 |
jQuery(function() {
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
});
|
890 |
jQuery(function() {
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
});
|
908 |
jQuery(function() {
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
});
|
926 |
jQuery(function() {
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
});
|
944 |
jQuery(function() {
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
});
|
962 |
jQuery(function() {
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
});
|
980 |
jQuery(function() {
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
});
|
998 |
|
1 |
jQuery(document).ready(function($) {
|
2 |
|
3 |
+
//блок разбития rss begin
|
4 |
+
$('#ytrazb').change(function() {
|
5 |
+
if ($('#ytrazb').is(':checked')) {
|
6 |
+
$('.ytrazbnumbertr').fadeIn();
|
7 |
+
} else {
|
8 |
+
$('.ytrazbnumbertr').hide();
|
9 |
+
}
|
10 |
+
});
|
11 |
+
//блок разбития rss end
|
12 |
+
|
13 |
+
//блок выборочного отключения begin
|
14 |
+
$('#ytexcludeurls').change(function() {
|
15 |
+
if ($('#ytexcludeurls').is(':checked')) {
|
16 |
+
$('.ytexcludeurlslisttr').fadeIn();
|
17 |
+
} else {
|
18 |
+
$('.ytexcludeurlslisttr').hide();
|
19 |
+
}
|
20 |
+
});
|
21 |
+
//блок выборочного отключения end
|
22 |
+
|
23 |
+
//блок полного отключения begin
|
24 |
+
$('#ytremoveturbo').change(function() {
|
25 |
+
if ($('#ytremoveturbo').is(':checked')) {
|
26 |
+
$('.ytprotokoltr').fadeIn();
|
27 |
+
} else {
|
28 |
+
$('.ytprotokoltr').hide();
|
29 |
+
}
|
30 |
+
});
|
31 |
+
//блок полного отключения end
|
32 |
+
|
33 |
+
//блок включения даты begin
|
34 |
+
$('#ytpostdate').change(function() {
|
35 |
+
if ($('#ytpostdate').is(':checked')) {
|
36 |
+
$('.ytdateformattr').fadeIn();
|
37 |
+
} else {
|
38 |
+
$('.ytdateformattr').hide();
|
39 |
+
}
|
40 |
+
});
|
41 |
+
//блок включения даты end
|
42 |
+
|
43 |
+
//блок выбора размера миниатюры begin
|
44 |
+
$('#ytthumbnail').change(function() {
|
45 |
+
if ($('#ytthumbnail').is(':checked')) {
|
46 |
+
$('.ytselectthumbtr').fadeIn();
|
47 |
+
} else {
|
48 |
+
$('.ytselectthumbtr').hide();
|
49 |
+
}
|
50 |
+
});
|
51 |
+
//блок выбора размера миниатюры end
|
52 |
+
|
53 |
+
//блок указания автора записи begin
|
54 |
+
$('#ytauthorselect').change(function() {
|
55 |
+
if ($('#ytauthorselect option:selected').val() == 'Указать автора') {
|
56 |
+
$('#ownname2').fadeIn();
|
57 |
+
} else {
|
58 |
+
$('#ownname2').hide();
|
59 |
+
}
|
60 |
+
});
|
61 |
+
//блок указания автора записи end
|
62 |
+
|
63 |
+
//блок включения содержания begin
|
64 |
+
$('#yttoc').change(function() {
|
65 |
+
if ($('#yttoc').is(':checked')) {
|
66 |
+
$('.yttocchildtr').fadeIn();
|
67 |
+
} else {
|
68 |
+
$('.yttocchildtr').hide();
|
69 |
+
}
|
70 |
+
});
|
71 |
+
//блок включения содержания end
|
72 |
+
|
73 |
+
//блок включения "поделиться" begin
|
74 |
+
$('#ytshare').change(function() {
|
75 |
+
if ($('#ytshare').is(':checked')) {
|
76 |
+
$('.ytsharechildtr').fadeIn();
|
77 |
+
} else {
|
78 |
+
$('.ytsharechildtr').hide();
|
79 |
+
}
|
80 |
+
});
|
81 |
+
//блок включения "поделиться" end
|
82 |
+
|
83 |
+
//блок включения "обратной связи" begin
|
84 |
+
$('#ytfeedback').change(function() {
|
85 |
+
if ($('#ytfeedback').is(':checked')) {
|
86 |
+
$('.ytfeedbackchildtr').fadeIn();
|
87 |
+
if ($('#ytfeedbackselect option:selected').val() == 'false') {$('.ytfeedbackselectmestotr').fadeIn();}
|
88 |
+
} else {
|
89 |
+
$('.ytfeedbackchildtr').hide();
|
90 |
+
$('.ytfeedbackselectmestotr').hide();
|
91 |
+
$('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
92 |
+
$('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
93 |
+
}
|
94 |
+
});
|
95 |
+
//блок включения "обратной связи" end
|
96 |
+
|
97 |
+
//выбор места при выборе "в указанном месте" в блоке "обратной связи" begin
|
98 |
+
$('#ytfeedbackselect').change(function() {
|
99 |
+
if ($('#ytfeedbackselect option:selected').val() == 'false') {
|
100 |
+
$('.ytfeedbackselectmestotr').fadeIn();
|
101 |
+
} else {
|
102 |
+
$('.ytfeedbackselectmestotr').hide();
|
103 |
+
}
|
104 |
+
});
|
105 |
+
//выбор места при выборе "в указанном месте" в блоке "обратной связи" end
|
106 |
+
|
107 |
+
//выбор контактов в блоке "обратной связи" begin
|
108 |
+
$('#ytfeedbackcontacts').change(function() {
|
109 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackcall') {
|
110 |
+
$('.ytfeedbackcalltr').fadeIn();
|
111 |
+
} else {
|
112 |
+
$('.ytfeedbackcalltr').hide();
|
113 |
+
}
|
114 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackcallback') {
|
115 |
+
$('.ytfeedbackcallbacktr').fadeIn();
|
116 |
+
} else {
|
117 |
+
$('.ytfeedbackcallbacktr').hide();
|
118 |
+
}
|
119 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackchat') {
|
120 |
+
$('.ytfeedbackchattr').fadeIn();
|
121 |
+
} else {
|
122 |
+
$('.ytfeedbackchattr').hide();
|
123 |
+
}
|
124 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackmail') {
|
125 |
+
$('.ytfeedbackmailtr').fadeIn();
|
126 |
+
} else {
|
127 |
+
$('.ytfeedbackmailtr').hide();
|
128 |
+
}
|
129 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackvkontakte') {
|
130 |
+
$('.ytfeedbackvkontaktetr').fadeIn();
|
131 |
+
} else {
|
132 |
+
$('.ytfeedbackvkontaktetr').hide();
|
133 |
+
}
|
134 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackodnoklassniki') {
|
135 |
+
$('.ytfeedbackodnoklassnikitr').fadeIn();
|
136 |
+
} else {
|
137 |
+
$('.ytfeedbackodnoklassnikitr').hide();
|
138 |
+
}
|
139 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbacktwitter') {
|
140 |
+
$('.ytfeedbacktwittertr').fadeIn();
|
141 |
+
} else {
|
142 |
+
$('.ytfeedbacktwittertr').hide();
|
143 |
+
}
|
144 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackfacebook') {
|
145 |
+
$('.ytfeedbackfacebooktr').fadeIn();
|
146 |
+
} else {
|
147 |
+
$('.ytfeedbackfacebooktr').hide();
|
148 |
+
}
|
149 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackviber') {
|
150 |
+
$('.ytfeedbackvibertr').fadeIn();
|
151 |
+
} else {
|
152 |
+
$('.ytfeedbackvibertr').hide();
|
153 |
+
}
|
154 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbackwhatsapp') {
|
155 |
+
$('.ytfeedbackwhatsapptr').fadeIn();
|
156 |
+
} else {
|
157 |
+
$('.ytfeedbackwhatsapptr').hide();
|
158 |
+
}
|
159 |
+
if ($('#ytfeedbackcontacts option:selected').val() == 'feedbacktelegram') {
|
160 |
+
$('.ytfeedbacktelegramtr').fadeIn();
|
161 |
+
} else {
|
162 |
+
$('.ytfeedbacktelegramtr').hide();
|
163 |
+
}
|
164 |
+
});
|
165 |
+
//выбор контактов в блоке "обратной связи" end
|
166 |
+
|
167 |
+
//блок включения комментариев begin
|
168 |
+
$('#ytcomments').change(function() {
|
169 |
+
if ($('#ytcomments').is(':checked')) {
|
170 |
+
$('.ytcommentschildtr').fadeIn();
|
171 |
+
} else {
|
172 |
+
$('.ytcommentschildtr').hide();
|
173 |
+
}
|
174 |
+
});
|
175 |
+
//блок включения комментариев end
|
176 |
+
|
177 |
+
//блок включения "похожих записей" begin
|
178 |
+
$('#ytrelated').change(function() {
|
179 |
+
if ($('#ytrelated').is(':checked')) {
|
180 |
+
if ($('#ytrelatedcache').is(':checked')) {$('.ytcachetime').fadeIn();}
|
181 |
+
$('.ytrelatedchildtr').fadeIn();
|
182 |
+
} else {
|
183 |
+
$('.ytrelatedchildtr').hide();
|
184 |
+
$('.ytcachetime').hide();
|
185 |
+
}
|
186 |
+
});
|
187 |
+
//блок включения "похожих записей" end
|
188 |
+
|
189 |
+
//блок включения кэша в блоке "похожих записей" begin
|
190 |
+
$('#ytrelatedcache').change(function() {
|
191 |
+
if ($('#ytrelatedcache').is(':checked')) {
|
192 |
+
$('.ytcachetime').fadeIn();
|
193 |
+
} else {
|
194 |
+
$('.ytcachetime').hide();
|
195 |
+
}
|
196 |
+
});
|
197 |
+
//блок включения кэша в блоке "похожих записей" end
|
198 |
+
|
199 |
+
//блок включения рейтинга begin
|
200 |
+
$('#ytrating').change(function() {
|
201 |
+
if ($('#ytrating').is(':checked')) {
|
202 |
+
$('.ytratingchildtr').fadeIn();
|
203 |
+
} else {
|
204 |
+
$('.ytratingchildtr').hide();
|
205 |
+
}
|
206 |
+
});
|
207 |
+
//блок включения рейтинга end
|
208 |
+
|
209 |
+
//блок включения поиска begin
|
210 |
+
$('#ytsearch').change(function() {
|
211 |
+
if ($('#ytsearch').is(':checked')) {
|
212 |
+
$('.ytsearchchildtr').fadeIn();
|
213 |
+
} else {
|
214 |
+
$('.ytsearchchildtr').hide();
|
215 |
+
}
|
216 |
+
});
|
217 |
+
//блок включения поиска end
|
218 |
+
|
219 |
+
//блок установки первой рекламы begin
|
220 |
+
$('#ytad1').change(function() {
|
221 |
+
if ($('#ytad1').is(':checked')) {
|
222 |
+
$('.block1').fadeIn();
|
223 |
+
if ($('#ytad1set option:selected').val() == 'РСЯ') {
|
224 |
+
$('.trrsa').fadeIn();
|
225 |
+
$('.trfox1').hide();
|
226 |
+
}
|
227 |
+
if ($('#ytad1set option:selected').val() == 'ADFOX') {
|
228 |
+
$('.trrsa').hide();
|
229 |
+
$('.trfox1').fadeIn();
|
230 |
+
}
|
231 |
+
} else {
|
232 |
+
$('.block1').hide();
|
233 |
+
}
|
234 |
+
});
|
235 |
+
$('#ytad1set').change(function() {
|
236 |
+
if ($('#ytad1set option:selected').val() == 'РСЯ') {
|
237 |
+
$('.trrsa').show();
|
238 |
+
$('.trfox1').hide();
|
239 |
+
}
|
240 |
+
if ($('#ytad1set option:selected').val() == 'ADFOX') {
|
241 |
+
$('.trrsa').hide();
|
242 |
+
$('.trfox1').show();
|
243 |
+
}
|
244 |
+
});
|
245 |
+
//блок установки первой рекламы end
|
246 |
+
|
247 |
+
//блок установки второй рекламы begin
|
248 |
+
$('#ytad2').change(function() {
|
249 |
+
if ($('#ytad2').is(':checked')) {
|
250 |
+
$('.block2').fadeIn();
|
251 |
+
if ($('#ytad2set option:selected').val() == 'РСЯ') {
|
252 |
+
$('.trrsa2').fadeIn();
|
253 |
+
$('.trfox2').hide();
|
254 |
+
}
|
255 |
+
if ($('#ytad2set option:selected').val() == 'ADFOX') {
|
256 |
+
$('.trrsa2').hide();
|
257 |
+
$('.trfox2').fadeIn();
|
258 |
+
}
|
259 |
+
} else {
|
260 |
+
$('.block2').hide();
|
261 |
+
}
|
262 |
+
});
|
263 |
+
$('#ytad2set').change(function() {
|
264 |
+
if ($('#ytad2set option:selected').val() == 'РСЯ') {
|
265 |
+
$('.trrsa2').show();
|
266 |
+
$('.trfox2').hide();
|
267 |
+
}
|
268 |
+
if ($('#ytad2set option:selected').val() == 'ADFOX') {
|
269 |
+
$('.trrsa2').hide();
|
270 |
+
$('.trfox2').show();
|
271 |
+
}
|
272 |
+
});
|
273 |
+
//блок установки второй рекламы end
|
274 |
+
|
275 |
+
//блок установки третьей рекламы begin
|
276 |
+
$('#ytad3').change(function() {
|
277 |
+
if ($('#ytad3').is(':checked')) {
|
278 |
+
$('.block3').fadeIn();
|
279 |
+
if ($('#ytad3set option:selected').val() == 'РСЯ') {
|
280 |
+
$('.trrsa3').fadeIn();
|
281 |
+
$('.trfox3').hide();
|
282 |
+
}
|
283 |
+
if ($('#ytad3set option:selected').val() == 'ADFOX') {
|
284 |
+
$('.trrsa3').hide();
|
285 |
+
$('.trfox3').fadeIn();
|
286 |
+
}
|
287 |
+
} else {
|
288 |
+
$('.block3').hide();
|
289 |
+
}
|
290 |
+
});
|
291 |
+
$('#ytad3set').change(function() {
|
292 |
+
if ($('#ytad3set option:selected').val() == 'РСЯ') {
|
293 |
+
$('.trrsa3').show();
|
294 |
+
$('.trfox3').hide();
|
295 |
+
}
|
296 |
+
if ($('#ytad3set option:selected').val() == 'ADFOX') {
|
297 |
+
$('.trrsa3').hide();
|
298 |
+
$('.trfox3').show();
|
299 |
+
}
|
300 |
+
});
|
301 |
+
//блок установки третьей рекламы end
|
302 |
+
|
303 |
+
//блок установки четвертой рекламы begin
|
304 |
+
$('#ytad4').change(function() {
|
305 |
+
if ($('#ytad4').is(':checked')) {
|
306 |
+
$('.block4').fadeIn();
|
307 |
+
if ($('#ytad4set option:selected').val() == 'РСЯ') {
|
308 |
+
$('.trrsa4').fadeIn();
|
309 |
+
$('.trfox4').hide();
|
310 |
+
}
|
311 |
+
if ($('#ytad4set option:selected').val() == 'ADFOX') {
|
312 |
+
$('.trrsa4').hide();
|
313 |
+
$('.trfox4').fadeIn();
|
314 |
+
}
|
315 |
+
} else {
|
316 |
+
$('.block4').hide();
|
317 |
+
}
|
318 |
+
});
|
319 |
+
$('#ytad4set').change(function() {
|
320 |
+
if ($('#ytad4set option:selected').val() == 'РСЯ') {
|
321 |
+
$('.trrsa4').show();
|
322 |
+
$('.trfox4').hide();
|
323 |
+
}
|
324 |
+
if ($('#ytad4set option:selected').val() == 'ADFOX') {
|
325 |
+
$('.trrsa4').hide();
|
326 |
+
$('.trfox4').show();
|
327 |
+
}
|
328 |
+
});
|
329 |
+
//блок установки четвертой рекламы end
|
330 |
+
|
331 |
+
//блок установки пятой рекламы begin
|
332 |
+
$('#ytad5').change(function() {
|
333 |
+
if ($('#ytad5').is(':checked')) {
|
334 |
+
$('.block5').fadeIn();
|
335 |
+
if ($('#ytad5set option:selected').val() == 'РСЯ') {
|
336 |
+
$('.trrsa5').fadeIn();
|
337 |
+
$('.trfox5').hide();
|
338 |
+
}
|
339 |
+
if ($('#ytad5set option:selected').val() == 'ADFOX') {
|
340 |
+
$('.trrsa5').hide();
|
341 |
+
$('.trfox5').fadeIn();
|
342 |
+
}
|
343 |
+
} else {
|
344 |
+
$('.block5').hide();
|
345 |
+
}
|
346 |
+
});
|
347 |
+
$('#ytad5set').change(function() {
|
348 |
+
if ($('#ytad5set option:selected').val() == 'РСЯ') {
|
349 |
+
$('.trrsa5').show();
|
350 |
+
$('.trfox5').hide();
|
351 |
+
}
|
352 |
+
if ($('#ytad5set option:selected').val() == 'ADFOX') {
|
353 |
+
$('.trrsa5').hide();
|
354 |
+
$('.trfox5').show();
|
355 |
+
}
|
356 |
+
});
|
357 |
+
//блок установки пятой рекламы end
|
358 |
+
|
359 |
+
//блок выбора таксономий для исключения/включения begin
|
360 |
+
$('#ytqueryselect').change(function() {
|
361 |
+
if ($('#ytqueryselect option:selected').val() == 'Все таксономии, кроме исключенных') {
|
362 |
+
$('.yttaxlisttr').fadeIn();
|
363 |
+
$('.exclude-small-text').fadeIn();
|
364 |
+
$('.thexclude').fadeIn();
|
365 |
+
$('#excludespan').fadeIn();
|
366 |
+
} else {
|
367 |
+
$('.yttaxlisttr').hide();
|
368 |
+
$('.exclude-small-text').hide();
|
369 |
+
$('.thexclude').hide();
|
370 |
+
$('#excludespan').hide();
|
371 |
+
}
|
372 |
+
if ($('#ytqueryselect option:selected').val() == 'Только указанные таксономии') {
|
373 |
+
$('.ytaddtaxlisttr').fadeIn();
|
374 |
+
$('.include-small-text').fadeIn();
|
375 |
+
$('.thinclude').fadeIn();
|
376 |
+
$('#includespan').fadeIn();
|
377 |
+
} else {
|
378 |
+
$('.ytaddtaxlisttr').hide();
|
379 |
+
$('.include-small-text').hide();
|
380 |
+
$('.thinclude').hide();
|
381 |
+
$('#includespan').hide();
|
382 |
+
}
|
383 |
+
});
|
384 |
+
//блок выбора таксономий для исключения/включения end
|
385 |
+
|
386 |
+
//блок удаления шорткодов begin
|
387 |
+
$('#ytexcludeshortcodes').change(function() {
|
388 |
+
if ($('#ytexcludeshortcodes').is(':checked')) {
|
389 |
+
$('.ytexcludeshortcodeslisttr').fadeIn();
|
390 |
+
} else {
|
391 |
+
$('.ytexcludeshortcodeslisttr').hide();
|
392 |
+
}
|
393 |
+
});
|
394 |
+
//блок удаления шорткодов end
|
395 |
+
|
396 |
+
//блок удаления тегов без контента begin
|
397 |
+
$('#ytexcludetags').change(function() {
|
398 |
+
if ($('#ytexcludetags').is(':checked')) {
|
399 |
+
$('.ytexcludetagslisttr').fadeIn();
|
400 |
+
} else {
|
401 |
+
$('.ytexcludetagslisttr').hide();
|
402 |
+
}
|
403 |
+
});
|
404 |
+
//блок удаления тегов без контента end
|
405 |
+
|
406 |
+
//блок удаления тегов с контентом begin
|
407 |
+
$('#ytexcludetags2').change(function() {
|
408 |
+
if ($('#ytexcludetags2').is(':checked')) {
|
409 |
+
$('.ytexcludetagslist2tr').fadeIn();
|
410 |
+
} else {
|
411 |
+
$('.ytexcludetagslist2tr').hide();
|
412 |
+
}
|
413 |
+
});
|
414 |
+
//блок удаления тегов с контентом end
|
415 |
+
|
416 |
+
//блок удаления точного контента begin
|
417 |
+
$('#ytexcludecontent').change(function() {
|
418 |
+
if ($('#ytexcludecontent').is(':checked')) {
|
419 |
+
$('.ytexcludecontentlisttr').fadeIn();
|
420 |
+
} else {
|
421 |
+
$('.ytexcludecontentlisttr').hide();
|
422 |
+
}
|
423 |
+
});
|
424 |
+
//блок удаления точного контента end
|
425 |
+
|
426 |
+
|
427 |
+
//вывод полного списка rss-лент begin
|
428 |
+
$('#showlistrss').click(function(){
|
429 |
+
if ($('#allrss').is(':hidden')) {
|
430 |
+
$('#allrss').fadeIn();
|
431 |
+
$('#showlistrss').text('скрыть');
|
432 |
+
} else {
|
433 |
+
$('#allrss').hide();
|
434 |
+
$('#showlistrss').text('показать');
|
435 |
+
}
|
436 |
+
})
|
437 |
+
//вывод полного списка rss-лент end
|
438 |
+
|
439 |
+
//управление табами begin
|
440 |
+
$('ul.xyztabs__caption').on('click', 'li:not(.active)', function() {
|
441 |
+
$(this)
|
442 |
+
.addClass('active').siblings().removeClass('active')
|
443 |
+
.closest('div.xyztabs').find('div.xyztabs__content').removeClass('active').eq($(this).index()).addClass('active');
|
444 |
+
$('#yttab').val($('.xyztabs__caption li.active').text());
|
445 |
+
});
|
446 |
+
|
447 |
+
var tabIndex = window.location.hash.replace('#tab','')-1;
|
448 |
+
if (tabIndex != -1) $('ul.xyztabs__caption li').eq(tabIndex).click();
|
449 |
+
|
450 |
+
$('a[href="#tab"]').click(function() {
|
451 |
+
var tabIndex = $(this).attr('href').replace(/(.*)#tab/, '')-1;
|
452 |
+
$('ul.xyztabs__caption li').eq(tabIndex).click();
|
453 |
+
});
|
454 |
+
//управление табами end
|
455 |
+
|
456 |
+
//управление закрытием рекламных блоков по времени begin
|
457 |
+
checkExpTime();
|
458 |
+
|
459 |
+
$('#close-donat').on('click',function(e) {
|
460 |
+
localStorage.setItem('yt-close-donat', 'yes');
|
461 |
+
$('#donat').slideUp(300);
|
462 |
+
$('#restore-hide-blocks').show(300);
|
463 |
+
setExpTime();
|
464 |
+
});
|
465 |
+
|
466 |
+
$('#close-about').on('click',function(e) {
|
467 |
+
localStorage.setItem('yt-close-about', 'yes');
|
468 |
+
$('#about').slideUp(300);
|
469 |
+
$('#restore-hide-blocks').show(300);
|
470 |
+
setExpTime();
|
471 |
+
});
|
472 |
+
|
473 |
+
$('#restore-hide-blocks').on('click',function(e) {
|
474 |
+
localStorage.removeItem('yt-time');
|
475 |
+
localStorage.removeItem('yt-close-donat');
|
476 |
+
localStorage.removeItem('yt-close-about');
|
477 |
+
$('#restore-hide-blocks').hide(300);
|
478 |
+
$('#donat').slideDown(300);
|
479 |
+
$('#about').slideDown(300);
|
480 |
+
});
|
481 |
+
|
482 |
+
function setExpTime() {
|
483 |
+
var limit = 90 * 24 * 60 * 60 * 1000; // 3 месяца
|
484 |
+
var time = localStorage.getItem('yt-time');
|
485 |
+
if (time === null) {
|
486 |
+
localStorage.setItem('yt-time', +new Date());
|
487 |
+
} else if(+new Date() - time > limit) {
|
488 |
+
localStorage.removeItem('yt-time');
|
489 |
+
localStorage.removeItem('yt-close-donat');
|
490 |
+
localStorage.removeItem('yt-close-about');
|
491 |
+
localStorage.setItem('yt-time', +new Date());
|
492 |
+
}
|
493 |
+
}
|
494 |
+
|
495 |
+
function checkExpTime() {
|
496 |
+
var limit = 90 * 24 * 60 * 60 * 1000; // 3 месяца
|
497 |
+
var time = localStorage.getItem('yt-time');
|
498 |
+
if (time === null) {
|
499 |
+
|
500 |
+
} else if(+new Date() - time > limit) {
|
501 |
+
localStorage.removeItem('yt-time');
|
502 |
+
localStorage.removeItem('yt-close-donat');
|
503 |
+
localStorage.removeItem('yt-close-about');
|
504 |
+
}
|
505 |
+
}
|
506 |
+
//управление закрытием рекламных блоков по времени end
|
507 |
+
|
508 |
+
//скрипт добавления тегов удаления без контента begin
|
509 |
+
var str = $('#tags-list').val();
|
510 |
+
var whitelist = str.split(',');
|
511 |
+
|
512 |
+
var input = document.querySelector('input[name="ytexcludetagslist-input"]'),
|
513 |
+
tagify = new Tagify(input, {
|
514 |
+
whitelist: whitelist,
|
515 |
+
enforceWhitelist: true,
|
516 |
+
dropdown: {
|
517 |
+
maxItems: 20,
|
518 |
+
classname: 'tags-look',
|
519 |
+
enabled: 0,
|
520 |
+
closeOnSelect: false,
|
521 |
+
}
|
522 |
+
})
|
523 |
+
|
524 |
+
tagify
|
525 |
+
.on('add', onAddTag)
|
526 |
+
.on('remove', onRemoveTag)
|
527 |
+
.on('invalid', onInvalidTag)
|
528 |
+
|
529 |
+
function onAddTag(e) {
|
530 |
+
|
531 |
+
$('tag').data('title', $('tag').attr('title')).removeAttr('title');
|
532 |
+
var str = tagify.DOM.originalInput.value;
|
533 |
+
var temp = str.replace(/{"value":"/g, '');
|
534 |
+
temp = temp.replace(/"}/g, '');
|
535 |
+
temp = temp.replace(/"}/g, '');
|
536 |
+
temp = temp.replace(/\[/g, '');
|
537 |
+
temp = temp.replace(/\]/g, '');
|
538 |
+
|
539 |
+
$('#ytexcludetagslist').val(temp);
|
540 |
+
}
|
541 |
+
|
542 |
+
function onRemoveTag(e) {
|
543 |
+
if ($('tags').hasClass('tagify--focus')) {
|
544 |
+
tagify.dropdown.hide.call(tagify);
|
545 |
+
$('tags').removeClass('tagify--focus');
|
546 |
+
}
|
547 |
+
|
548 |
+
var str = tagify.DOM.originalInput.value;
|
549 |
+
var temp = str.replace(/{"value":"/g, '');
|
550 |
+
temp = temp.replace(/"}/g, '');
|
551 |
+
temp = temp.replace(/"}/g, '');
|
552 |
+
temp = temp.replace(/\[/g, '');
|
553 |
+
temp = temp.replace(/\]/g, '');
|
554 |
+
|
555 |
+
$('#ytexcludetagslist').val(temp);
|
556 |
+
|
557 |
+
}
|
558 |
+
|
559 |
+
function onInvalidTag(e) {
|
560 |
+
tagify.dropdown.show.call(tagify);
|
561 |
+
}
|
562 |
+
|
563 |
+
$('tag').data('title', $('tag').attr('title')).removeAttr('title');
|
564 |
+
//скрипт добавления тегов удаления без контента end
|
565 |
+
|
566 |
+
//скрипт добавления тегов удаления с контентом begin
|
567 |
+
var str = $('#tags-list2').val();
|
568 |
+
var whitelist = str.split(',');
|
569 |
+
|
570 |
+
var input = document.querySelector('input[name="ytexcludetagslist-input2"]'),
|
571 |
+
tagify2 = new Tagify(input, {
|
572 |
+
whitelist: whitelist,
|
573 |
+
enforceWhitelist: true,
|
574 |
+
dropdown: {
|
575 |
+
maxItems: 20,
|
576 |
+
classname: 'tags-look',
|
577 |
+
enabled: 0,
|
578 |
+
closeOnSelect: false,
|
579 |
+
}
|
580 |
+
})
|
581 |
+
|
582 |
+
tagify2
|
583 |
+
.on('add', onAddTag2)
|
584 |
+
.on('remove', onRemoveTag2)
|
585 |
+
.on('invalid', onInvalidTag2)
|
586 |
+
|
587 |
+
function onAddTag2(e) {
|
588 |
+
|
589 |
+
$('tag').data('title', $('tag').attr('title')).removeAttr('title');
|
590 |
+
var str = tagify2.DOM.originalInput.value;
|
591 |
+
var temp = str.replace(/{"value":"/g, '');
|
592 |
+
temp = temp.replace(/"}/g, '');
|
593 |
+
temp = temp.replace(/"}/g, '');
|
594 |
+
temp = temp.replace(/\[/g, '');
|
595 |
+
temp = temp.replace(/\]/g, '');
|
596 |
+
|
597 |
+
$('#ytexcludetagslist2').val(temp);
|
598 |
+
}
|
599 |
+
|
600 |
+
function onRemoveTag2(e) {
|
601 |
+
if ($('tags').hasClass('tagify--focus')) {
|
602 |
+
tagify2.dropdown.hide.call(tagify2);
|
603 |
+
$('tags').removeClass('tagify--focus');
|
604 |
+
}
|
605 |
+
|
606 |
+
var str = tagify2.DOM.originalInput.value;
|
607 |
+
var temp = str.replace(/{"value":"/g, '');
|
608 |
+
temp = temp.replace(/"}/g, '');
|
609 |
+
temp = temp.replace(/"}/g, '');
|
610 |
+
temp = temp.replace(/\[/g, '');
|
611 |
+
temp = temp.replace(/\]/g, '');
|
612 |
+
|
613 |
+
$('#ytexcludetagslist2').val(temp);
|
614 |
+
|
615 |
+
}
|
616 |
+
|
617 |
+
function onInvalidTag2(e) {
|
618 |
+
tagify2.dropdown.show.call(tagify2);
|
619 |
+
}
|
620 |
+
|
621 |
+
$('tag').data('title', $('tag').attr('title')).removeAttr('title');
|
622 |
+
//скрипт добавления тегов удаления с контентом end
|
623 |
+
|
624 |
+
//ajax-подгрузка терминов таксономий begin
|
625 |
+
var loaded_disallows = false;
|
626 |
+
|
627 |
+
function load_disallows() {
|
628 |
+
if ( loaded_disallows )
|
629 |
+
return;
|
630 |
+
loaded_disallows = true;
|
631 |
+
|
632 |
+
var finished_taxonomies = {},
|
633 |
+
term_indices = {};
|
634 |
+
|
635 |
+
function load_disallow(taxonomy) {
|
636 |
+
if (taxonomy in finished_taxonomies)
|
637 |
+
return;
|
638 |
+
var display = $('#exclude_' + taxonomy);
|
639 |
+
|
640 |
+
if (display.find('.loading').length)
|
641 |
+
return;
|
642 |
+
|
643 |
+
if (taxonomy in term_indices)
|
644 |
+
term_indices[taxonomy] = term_indices[taxonomy] + 100;
|
645 |
+
else
|
646 |
+
term_indices[taxonomy] = 0;
|
647 |
+
$.ajax({
|
648 |
+
type: 'POST',
|
649 |
+
url: ajaxurl,
|
650 |
+
data: {
|
651 |
+
action: 'yturbo_display_exclude_terms',
|
652 |
+
taxonomy: taxonomy,
|
653 |
+
offset: term_indices[taxonomy],
|
654 |
+
'_ajax_nonce': $('#yturbo_display_exclude_terms-nonce').val()
|
655 |
+
},
|
656 |
+
beforeSend: function() {
|
657 |
+
display.append(loading)
|
658 |
+
},
|
659 |
+
success: function(html) {
|
660 |
+
display.find('.loading').remove();
|
661 |
+
if ('<li>:(</li>' == html) {
|
662 |
+
finished_taxonomies[taxonomy] = true;
|
663 |
+
return;
|
664 |
+
}
|
665 |
+
display.append(html);
|
666 |
+
},
|
667 |
+
dataType: 'html'
|
668 |
+
});
|
669 |
+
}
|
670 |
+
|
671 |
+
$('.exclude_terms').each(function() {
|
672 |
+
var id = jQuery(this).attr('id'),
|
673 |
+
taxonomy;
|
674 |
+
if (!id)
|
675 |
+
return;
|
676 |
+
|
677 |
+
taxonomy = id.replace('exclude_', '');
|
678 |
+
|
679 |
+
load_disallow(taxonomy);
|
680 |
+
$('#exclude_' + taxonomy).parent('.list_terms_scroll_wrapper').scroll(function() {
|
681 |
+
var parent = $(this),
|
682 |
+
content = parent.children('ul');
|
683 |
+
if (parent.scrollTop() + parent.height() > content.height() - 10)
|
684 |
+
load_disallow(taxonomy);
|
685 |
+
})
|
686 |
+
})
|
687 |
+
|
688 |
+
}
|
689 |
+
|
690 |
+
load_disallows();
|
691 |
+
//ajax-подгрузка терминов таксономий end
|
692 |
|
693 |
})
|
694 |
|
697 |
|
698 |
|
699 |
String.prototype.replaceAll = function(search, replace){
|
700 |
+
return this.split(search).join(replace);
|
701 |
}
|
702 |
|
703 |
jQuery(document).ready(function($) {
|
704 |
+
var temp = jQuery('#ytnetw').val();
|
705 |
+
if (temp!==undefined) {
|
706 |
+
if (temp.indexOf('facebook') !== -1) {jQuery('#facebook').attr('checked', 'checked');}
|
707 |
+
if (temp.indexOf('vkontakte') !== -1) {jQuery('#vkontakte').attr('checked', 'checked');}
|
708 |
+
if (temp.indexOf('twitter') !== -1) {jQuery('#twitter').attr('checked', 'checked');}
|
709 |
+
if (temp.indexOf('odnoklassniki') !== -1) {jQuery('#odnoklassniki').attr('checked', 'checked');}
|
710 |
+
if (temp.indexOf('telegram') !== -1) {jQuery('#telegram').attr('checked', 'checked');}
|
711 |
+
}
|
712 |
});
|
713 |
jQuery(function() {
|
714 |
+
jQuery('#facebook').click(function(){
|
715 |
+
if (jQuery('#ytnetw').val().indexOf('facebook') == -1) {
|
716 |
+
temp = jQuery('#ytnetw').val() + 'facebook' + ',';
|
717 |
+
jQuery('#ytnetw').val(temp);
|
718 |
+
jQuery('#ytnetwspan').val(temp);
|
719 |
+
} else {
|
720 |
+
temp = jQuery('#ytnetw').val();
|
721 |
+
temp = temp.replaceAll('facebook,', '');
|
722 |
+
jQuery('#ytnetw').val(temp);
|
723 |
+
jQuery('#ytnetwspan').val(temp);
|
724 |
+
}
|
725 |
+
})
|
726 |
});
|
727 |
jQuery(function() {
|
728 |
+
jQuery('#vkontakte').click(function(){
|
729 |
+
if (jQuery('#ytnetw').val().indexOf('vkontakte') == -1) {
|
730 |
+
temp = jQuery('#ytnetw').val() + 'vkontakte' + ',';
|
731 |
+
jQuery('#ytnetw').val(temp);
|
732 |
+
jQuery('#ytnetwspan').val(temp);
|
733 |
+
} else {
|
734 |
+
temp = jQuery('#ytnetw').val();
|
735 |
+
temp = temp.replaceAll('vkontakte,', '');
|
736 |
+
jQuery('#ytnetw').val(temp);
|
737 |
+
jQuery('#ytnetwspan').val(temp);
|
738 |
+
}
|
739 |
+
})
|
740 |
});
|
741 |
jQuery(function() {
|
742 |
+
jQuery('#twitter').click(function(){
|
743 |
+
if (jQuery('#ytnetw').val().indexOf('twitter') == -1) {
|
744 |
+
temp = jQuery('#ytnetw').val() + 'twitter' + ',';
|
745 |
+
jQuery('#ytnetw').val(temp);
|
746 |
+
jQuery('#ytnetwspan').val(temp);
|
747 |
+
} else {
|
748 |
+
temp = jQuery('#ytnetw').val();
|
749 |
+
temp = temp.replaceAll('twitter,', '');
|
750 |
+
jQuery('#ytnetw').val(temp);
|
751 |
+
jQuery('#ytnetwspan').val(temp);
|
752 |
+
}
|
753 |
+
})
|
754 |
});
|
755 |
jQuery(function() {
|
756 |
+
jQuery('#odnoklassniki').click(function(){
|
757 |
+
if (jQuery('#ytnetw').val().indexOf('odnoklassniki') == -1) {
|
758 |
+
temp = jQuery('#ytnetw').val() + 'odnoklassniki' + ',';
|
759 |
+
jQuery('#ytnetw').val(temp);
|
760 |
+
jQuery('#ytnetwspan').val(temp);
|
761 |
+
} else {
|
762 |
+
temp = jQuery('#ytnetw').val();
|
763 |
+
temp = temp.replaceAll('odnoklassniki,', '');
|
764 |
+
jQuery('#ytnetw').val(temp);
|
765 |
+
jQuery('#ytnetwspan').val(temp);
|
766 |
+
}
|
767 |
+
})
|
768 |
});
|
769 |
jQuery(function() {
|
770 |
+
jQuery('#telegram').click(function(){
|
771 |
+
if (jQuery('#ytnetw').val().indexOf('telegram') == -1) {
|
772 |
+
temp = jQuery('#ytnetw').val() + 'telegram' + ',';
|
773 |
+
jQuery('#ytnetw').val(temp);
|
774 |
+
jQuery('#ytnetwspan').val(temp);
|
775 |
+
} else {
|
776 |
+
temp = jQuery('#ytnetw').val();
|
777 |
+
temp = temp.replaceAll('telegram,', '');
|
778 |
+
jQuery('#ytnetw').val(temp);
|
779 |
+
jQuery('#ytnetwspan').val(temp);
|
780 |
+
}
|
781 |
+
})
|
782 |
});
|
783 |
|
784 |
jQuery(document).ready(function($) {
|
785 |
+
var temp2 = jQuery('#ytfeedbacknetw').val();
|
786 |
+
if (temp2!==undefined) {
|
787 |
+
if (temp2.indexOf('call,') !== -1) {jQuery('#feedbackcall').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackcall"]').removeAttr('disabled');}
|
788 |
+
if (temp2.indexOf('callback') !== -1) {jQuery('#feedbackcallback').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackcallback"]').removeAttr('disabled');}
|
789 |
+
if (temp2.indexOf('chat') !== -1) {jQuery('#feedbackchat').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackchat"]').removeAttr('disabled');}
|
790 |
+
if (temp2.indexOf('mail') !== -1) {jQuery('#feedbackmail').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackmail"]').removeAttr('disabled');}
|
791 |
+
if (temp2.indexOf('vkontakte') !== -1) {jQuery('#feedbackvkontakte').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackvkontakte"]').removeAttr('disabled');}
|
792 |
+
if (temp2.indexOf('odnoklassniki') !== -1) {jQuery('#feedbackodnoklassniki').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackodnoklassniki"]').removeAttr('disabled');}
|
793 |
+
if (temp2.indexOf('twitter') !== -1) {jQuery('#feedbacktwitter').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbacktwitter"]').removeAttr('disabled');}
|
794 |
+
if (temp2.indexOf('facebook') !== -1) {jQuery('#feedbackfacebook').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackfacebook"]').removeAttr('disabled');}
|
795 |
+
if (temp2.indexOf('viber') !== -1) {jQuery('#feedbackviber').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackviber"]').removeAttr('disabled');}
|
796 |
+
if (temp2.indexOf('whatsapp') !== -1) {jQuery('#feedbackwhatsapp').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbackwhatsapp"]').removeAttr('disabled');}
|
797 |
+
if (temp2.indexOf('telegram') !== -1) {jQuery('#feedbacktelegram').attr('checked', 'checked');jQuery('#ytfeedbackcontacts [value="feedbacktelegram"]').removeAttr('disabled');}
|
798 |
+
}
|
799 |
});
|
800 |
jQuery(function() {
|
801 |
+
jQuery('#feedbackcall').click(function(){
|
802 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
803 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
804 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('call,') == -1) {
|
805 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'call' + ',';
|
806 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
807 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
808 |
+
jQuery('#ytfeedbackcontacts [value="feedbackcall"]').removeAttr('disabled');
|
809 |
+
} else {
|
810 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
811 |
+
temp2 = temp2.replaceAll('call,', '');
|
812 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
813 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
814 |
+
jQuery('#ytfeedbackcontacts [value="feedbackcall"]').attr('disabled', 'disabled');
|
815 |
+
}
|
816 |
+
})
|
817 |
});
|
818 |
jQuery(function() {
|
819 |
+
jQuery('#feedbackcallback').click(function(){
|
820 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
821 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
822 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('callback') == -1) {
|
823 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'callback' + ',';
|
824 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
825 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
826 |
+
jQuery('#ytfeedbackcontacts [value="feedbackcallback"]').removeAttr('disabled');
|
827 |
+
} else {
|
828 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
829 |
+
temp2 = temp2.replaceAll('callback,', '');
|
830 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
831 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
832 |
+
jQuery('#ytfeedbackcontacts [value="feedbackcallback"]').attr('disabled', 'disabled');
|
833 |
+
}
|
834 |
+
})
|
835 |
});
|
836 |
jQuery(function() {
|
837 |
+
jQuery('#feedbackchat').click(function(){
|
838 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
839 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
840 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('chat') == -1) {
|
841 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'chat' + ',';
|
842 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
843 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
844 |
+
jQuery('#ytfeedbackcontacts [value="feedbackchat"]').removeAttr('disabled');
|
845 |
+
} else {
|
846 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
847 |
+
temp2 = temp2.replaceAll('chat,', '');
|
848 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
849 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
850 |
+
jQuery('#ytfeedbackcontacts [value="feedbackchat"]').attr('disabled', 'disabled');
|
851 |
+
}
|
852 |
+
})
|
853 |
});
|
854 |
jQuery(function() {
|
855 |
+
jQuery('#feedbackmail').click(function(){
|
856 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
857 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
858 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('mail') == -1) {
|
859 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'mail' + ',';
|
860 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
861 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
862 |
+
jQuery('#ytfeedbackcontacts [value="feedbackmail"]').removeAttr('disabled');
|
863 |
+
} else {
|
864 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
865 |
+
temp2 = temp2.replaceAll('mail,', '');
|
866 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
867 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
868 |
+
jQuery('#ytfeedbackcontacts [value="feedbackmail"]').attr('disabled', 'disabled');
|
869 |
+
}
|
870 |
+
})
|
871 |
});
|
872 |
jQuery(function() {
|
873 |
+
jQuery('#feedbackvkontakte').click(function(){
|
874 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
875 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
876 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('vkontakte') == -1) {
|
877 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'vkontakte' + ',';
|
878 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
879 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
880 |
+
jQuery('#ytfeedbackcontacts [value="feedbackvkontakte"]').removeAttr('disabled');
|
881 |
+
} else {
|
882 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
883 |
+
temp2 = temp2.replaceAll('vkontakte,', '');
|
884 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
885 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
886 |
+
jQuery('#ytfeedbackcontacts [value="feedbackvkontakte"]').attr('disabled', 'disabled');
|
887 |
+
}
|
888 |
+
})
|
889 |
});
|
890 |
jQuery(function() {
|
891 |
+
jQuery('#feedbackodnoklassniki').click(function(){
|
892 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
893 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
894 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('odnoklassniki') == -1) {
|
895 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'odnoklassniki' + ',';
|
896 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
897 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
898 |
+
jQuery('#ytfeedbackcontacts [value="feedbackodnoklassniki"]').removeAttr('disabled');
|
899 |
+
} else {
|
900 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
901 |
+
temp2 = temp2.replaceAll('odnoklassniki,', '');
|
902 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
903 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
904 |
+
jQuery('#ytfeedbackcontacts [value="feedbackodnoklassniki"]').attr('disabled', 'disabled');
|
905 |
+
}
|
906 |
+
})
|
907 |
});
|
908 |
jQuery(function() {
|
909 |
+
jQuery('#feedbacktwitter').click(function(){
|
910 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
911 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
912 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('twitter') == -1) {
|
913 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'twitter' + ',';
|
914 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
915 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
916 |
+
jQuery('#ytfeedbackcontacts [value="feedbacktwitter"]').removeAttr('disabled');
|
917 |
+
} else {
|
918 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
919 |
+
temp2 = temp2.replaceAll('twitter,', '');
|
920 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
921 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
922 |
+
jQuery('#ytfeedbackcontacts [value="feedbacktwitter"]').attr('disabled', 'disabled');
|
923 |
+
}
|
924 |
+
})
|
925 |
});
|
926 |
jQuery(function() {
|
927 |
+
jQuery('#feedbackfacebook').click(function(){
|
928 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
929 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
930 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('facebook') == -1) {
|
931 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'facebook' + ',';
|
932 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
933 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
934 |
+
jQuery('#ytfeedbackcontacts [value="feedbackfacebook"]').removeAttr('disabled');
|
935 |
+
} else {
|
936 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
937 |
+
temp2 = temp2.replaceAll('facebook,', '');
|
938 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
939 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
940 |
+
jQuery('#ytfeedbackcontacts [value="feedbackfacebook"]').attr('disabled', 'disabled');
|
941 |
+
}
|
942 |
+
})
|
943 |
});
|
944 |
jQuery(function() {
|
945 |
+
jQuery('#feedbackviber').click(function(){
|
946 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
947 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
948 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('viber') == -1) {
|
949 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'viber' + ',';
|
950 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
951 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
952 |
+
jQuery('#ytfeedbackcontacts [value="feedbackviber"]').removeAttr('disabled');
|
953 |
+
} else {
|
954 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
955 |
+
temp2 = temp2.replaceAll('viber,', '');
|
956 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
957 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
958 |
+
jQuery('#ytfeedbackcontacts [value="feedbackviber"]').attr('disabled', 'disabled');
|
959 |
+
}
|
960 |
+
})
|
961 |
});
|
962 |
jQuery(function() {
|
963 |
+
jQuery('#feedbackwhatsapp').click(function(){
|
964 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
965 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
966 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('whatsapp') == -1) {
|
967 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'whatsapp' + ',';
|
968 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
969 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
970 |
+
jQuery('#ytfeedbackcontacts [value="feedbackwhatsapp"]').removeAttr('disabled');
|
971 |
+
} else {
|
972 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
973 |
+
temp2 = temp2.replaceAll('whatsapp,', '');
|
974 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
975 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
976 |
+
jQuery('#ytfeedbackcontacts [value="feedbackwhatsapp"]').attr('disabled', 'disabled');
|
977 |
+
}
|
978 |
+
})
|
979 |
});
|
980 |
jQuery(function() {
|
981 |
+
jQuery('#feedbacktelegram').click(function(){
|
982 |
+
jQuery('#ytfeedbackcontacts [value="myselect"]').attr('selected', 'selected');
|
983 |
+
jQuery('.ytfeedbackcalltr,.ytfeedbackcallbacktr,.ytfeedbackchattr,.ytfeedbackmailtr,.ytfeedbackvkontaktetr,.ytfeedbackodnoklassnikitr,.ytfeedbacktwittertr,.ytfeedbackfacebooktr,.ytfeedbackvibertr,.ytfeedbackwhatsapptr,.ytfeedbacktelegramtr').hide();
|
984 |
+
if (jQuery('#ytfeedbacknetw').val().indexOf('telegram') == -1) {
|
985 |
+
temp2 = jQuery('#ytfeedbacknetw').val() + 'telegram' + ',';
|
986 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
987 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
988 |
+
jQuery('#ytfeedbackcontacts [value="feedbacktelegram"]').removeAttr('disabled');
|
989 |
+
} else {
|
990 |
+
temp2 = jQuery('#ytfeedbacknetw').val();
|
991 |
+
temp2 = temp2.replaceAll('telegram,', '');
|
992 |
+
jQuery('#ytfeedbacknetw').val(temp2);
|
993 |
+
jQuery('#ytfeedbacknetwspan').val(temp2);
|
994 |
+
jQuery('#ytfeedbackcontacts [value="feedbacktelegram"]').attr('disabled', 'disabled');
|
995 |
+
}
|
996 |
+
})
|
997 |
});
|
998 |
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: yandex, turbo, yandex turbo, rss, feed, турбо, яндекс турб
|
|
5 |
Requires at least: 4.4
|
6 |
Tested up to: 5.9
|
7 |
Requires PHP: 5.3
|
8 |
-
Stable tag: 1.
|
9 |
|
10 |
Создание RSS-ленты для сервиса Яндекс.Турбо.
|
11 |
|
@@ -464,6 +464,13 @@ add_filter('yturbo_thumb_caption', 'my_yturbo_thumb_caption');`
|
|
464 |
|
465 |
== Changelog ==
|
466 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
467 |
= 1.31 (04.02.2022) =
|
468 |
|
469 |
* исправлена ajax-подгрузка терминов таксономий (настройки исключений).
|
@@ -483,7 +490,6 @@ add_filter('yturbo_thumb_caption', 'my_yturbo_thumb_caption');`
|
|
483 |
* добавлена поддержка CSS (turbo:extendedHtml) - вкладка "Оформление".
|
484 |
* исправлена функция удаления эмоджи (дефизы и тире больше не удаляются из заголовков записей).
|
485 |
* исправлен код таблиц в визуальном редакторе шаблонов.
|
486 |
-
* добавлен фильтр "yturbo_before_ads" (после формирования контента записи, но до вставки рекламы).
|
487 |
|
488 |
= 1.28 (14.08.2020) =
|
489 |
|
5 |
Requires at least: 4.4
|
6 |
Tested up to: 5.9
|
7 |
Requires PHP: 5.3
|
8 |
+
Stable tag: 1.32
|
9 |
|
10 |
Создание RSS-ленты для сервиса Яндекс.Турбо.
|
11 |
|
464 |
|
465 |
== Changelog ==
|
466 |
|
467 |
+
= 1.32 (10.02.2022) =
|
468 |
+
|
469 |
+
* исправлен вывод блока содержания (теперь он поддерживает вложенность).
|
470 |
+
* добавлена возможность отключения вывода даты для конкретной записи или страницы.
|
471 |
+
* исправлено отображение заголовков галерей (если они прописаны).
|
472 |
+
* список удаляемых шорткодов теперь располагается горизонтально.
|
473 |
+
|
474 |
= 1.31 (04.02.2022) =
|
475 |
|
476 |
* исправлена ajax-подгрузка терминов таксономий (настройки исключений).
|
490 |
* добавлена поддержка CSS (turbo:extendedHtml) - вкладка "Оформление".
|
491 |
* исправлена функция удаления эмоджи (дефизы и тире больше не удаляются из заголовков записей).
|
492 |
* исправлен код таблиц в визуальном редакторе шаблонов.
|
|
|
493 |
|
494 |
= 1.28 (14.08.2020) =
|
495 |
|
rss-for-yandex-turbo.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: RSS for Yandex Turbo
|
4 |
Plugin URI: https://wordpress.org/plugins/rss-for-yandex-turbo/
|
5 |
Description: Создание RSS-ленты для сервиса Яндекс.Турбо.
|
6 |
-
Version: 1.
|
7 |
Author: Flector
|
8 |
Author URI: https://profiles.wordpress.org/flector#content-plugins
|
9 |
Text Domain: rss-for-yandex-turbo
|
@@ -13,672 +13,675 @@ Text Domain: rss-for-yandex-turbo
|
|
13 |
require_once plugin_dir_path( __FILE__ ) . 'inc/AdminNotice.php';
|
14 |
use \YTurboAdminNotices\AdminNotice;
|
15 |
function yturbo_add_notice_ads() {
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
}
|
23 |
-
//add_action(
|
24 |
//вывод admin notice с рекламкой (для админов) end
|
25 |
|
26 |
//проверка версии плагина (запуск функции установки новых опций) begin
|
27 |
function yturbo_check_version() {
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
}
|
34 |
-
add_action(
|
35 |
//проверка версии плагина (запуск функции установки новых опций) end
|
36 |
|
37 |
//функция установки новых опций при обновлении плагина у пользователей begin
|
38 |
function yturbo_set_new_options() {
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
|
|
189 |
}
|
190 |
//функция установки новых опций при обновлении плагина у пользователей end
|
191 |
|
192 |
//функция установки значений по умолчанию при активации плагина begin
|
193 |
function yturbo_init() {
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
|
|
336 |
}
|
337 |
-
add_action(
|
338 |
//функция установки значений по умолчанию при активации плагина end
|
339 |
|
340 |
//функция при деактивации плагина begin
|
341 |
function yturbo_on_deactivation() {
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
}
|
353 |
-
register_deactivation_hook(
|
354 |
//функция при деактивации плагина end
|
355 |
|
356 |
//функция при удалении плагина begin
|
357 |
function yturbo_on_uninstall() {
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
}
|
362 |
-
register_uninstall_hook(
|
363 |
//функция при удалении плагина end
|
364 |
|
365 |
//загрузка файла локализации плагина begin
|
366 |
function yturbo_setup() {
|
367 |
-
|
368 |
}
|
369 |
-
add_action(
|
370 |
//загрузка файла локализации плагина end
|
371 |
|
372 |
//добавление ссылки "Настройки" на странице со списком плагинов begin
|
373 |
-
function yturbo_actions(
|
374 |
-
|
375 |
}
|
376 |
-
add_filter(
|
377 |
//добавление ссылки "Настройки" на странице со списком плагинов end
|
378 |
|
379 |
//функция загрузки скриптов и стилей плагина только в админке и только на странице настроек плагина begin
|
380 |
-
function yturbo_files_admin(
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
}
|
391 |
-
add_action(
|
392 |
//функция загрузки скриптов и стилей плагина только в админке и только на странице настроек плагина end
|
393 |
|
394 |
//функция вывода страницы настроек плагина begin
|
395 |
function yturbo_options_page() {
|
396 |
$purl = plugins_url('', __FILE__);
|
397 |
|
398 |
-
if (isset($_POST['submit'])) {
|
399 |
|
400 |
//проверка безопасности при сохранении настроек плагина begin
|
401 |
-
if ( ! wp_verify_nonce(
|
402 |
-
|
403 |
}
|
404 |
//проверка безопасности при сохранении настроек плагина end
|
405 |
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
|
|
671 |
}
|
672 |
$yturbo_options = get_option('yturbo_options');
|
673 |
?>
|
674 |
<?php if ( ! empty($_POST) ) :
|
675 |
if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || ! current_user_can('edit_posts') ) {
|
676 |
-
|
677 |
}
|
678 |
?>
|
679 |
<div id="message" class="updated fade"><p><strong><?php _e('Настройки сохранены.', 'rss-for-yandex-turbo'); ?></strong></p></div>
|
680 |
<?php else : ?>
|
681 |
-
|
682 |
<?php endif; ?>
|
683 |
|
684 |
<div class="wrap foptions">
|
@@ -691,1262 +694,1277 @@ if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || !
|
|
691 |
<script>
|
692 |
var closedonat = localStorage.getItem('yt-close-donat');
|
693 |
if (closedonat == 'yes') {
|
694 |
-
|
695 |
-
|
696 |
}
|
697 |
</script>
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
</div>
|
711 |
|
712 |
<form action="" method="post">
|
713 |
|
714 |
<div class="xyztabs">
|
715 |
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
|
1325 |
-
|
1326 |
-
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
1488 |
-
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
1492 |
-
|
1493 |
-
|
1494 |
-
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
1504 |
-
|
1505 |
-
|
1506 |
-
|
1507 |
-
|
1508 |
-
|
1509 |
-
|
1510 |
-
|
1511 |
-
|
1512 |
-
|
1513 |
-
|
1514 |
-
|
1515 |
-
|
1516 |
-
|
1517 |
-
|
1518 |
-
|
1519 |
-
|
1520 |
-
|
1521 |
-
|
1522 |
-
|
1523 |
-
|
1524 |
-
|
1525 |
-
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
|
1530 |
-
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
-
|
1538 |
-
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
|
1547 |
-
|
1548 |
-
|
1549 |
-
|
1550 |
-
|
1551 |
-
|
1552 |
-
|
1553 |
-
|
1554 |
-
|
1555 |
-
|
1556 |
-
|
1557 |
-
|
1558 |
-
|
1559 |
-
|
1560 |
-
|
1561 |
-
|
1562 |
-
|
1563 |
-
|
1564 |
-
|
1565 |
-
|
1566 |
-
|
1567 |
-
|
1568 |
-
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
1577 |
-
|
1578 |
-
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
|
1586 |
-
|
1587 |
-
|
1588 |
-
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
1592 |
-
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
|
1607 |
-
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
-
|
1612 |
-
|
1613 |
-
|
1614 |
-
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
|
1629 |
-
|
1630 |
-
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
-
|
1635 |
-
|
1636 |
-
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
|
1647 |
-
|
1648 |
-
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
|
1654 |
-
|
1655 |
-
|
1656 |
-
|
1657 |
-
|
1658 |
-
|
1659 |
-
|
1660 |
-
|
1661 |
-
|
1662 |
-
|
1663 |
-
|
1664 |
-
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
-
|
1679 |
-
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
-
|
1684 |
-
|
1685 |
-
|
1686 |
-
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
-
|
1693 |
-
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
-
|
1702 |
-
|
1703 |
-
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
1717 |
-
|
1718 |
-
|
1719 |
-
|
1720 |
-
|
1721 |
-
|
1722 |
-
|
1723 |
-
|
1724 |
-
|
1725 |
-
|
1726 |
-
|
1727 |
-
|
1728 |
-
|
1729 |
-
|
1730 |
-
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
|
1740 |
-
|
1741 |
-
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
-
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
-
|
1767 |
-
|
1768 |
-
|
1769 |
-
|
1770 |
-
|
1771 |
-
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
-
|
1776 |
-
|
1777 |
-
|
1778 |
-
|
1779 |
-
|
1780 |
-
|
1781 |
-
|
1782 |
-
|
1783 |
-
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
1788 |
-
|
1789 |
-
|
1790 |
-
|
1791 |
-
|
1792 |
-
|
1793 |
-
|
1794 |
-
|
1795 |
-
|
1796 |
-
|
1797 |
-
|
1798 |
-
|
1799 |
-
|
1800 |
-
|
1801 |
-
|
1802 |
-
|
1803 |
-
|
1804 |
-
|
1805 |
-
|
1806 |
-
|
1807 |
-
|
1808 |
-
|
1809 |
-
|
1810 |
-
|
1811 |
-
|
1812 |
-
|
1813 |
-
|
1814 |
-
|
1815 |
-
|
1816 |
-
|
1817 |
-
|
1818 |
-
|
1819 |
-
|
1820 |
-
|
1821 |
-
|
1822 |
-
|
1823 |
-
|
1824 |
-
|
1825 |
-
|
1826 |
-
|
1827 |
-
|
1828 |
-
|
1829 |
-
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
|
1836 |
-
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
-
|
1841 |
-
|
1842 |
-
|
1843 |
-
|
1844 |
-
|
1845 |
-
|
1846 |
-
|
1847 |
-
|
1848 |
-
|
1849 |
-
|
1850 |
-
|
1851 |
-
|
1852 |
-
|
1853 |
-
|
1854 |
-
|
1855 |
-
|
1856 |
-
|
1857 |
-
|
1858 |
-
|
1859 |
-
|
1860 |
-
|
1861 |
-
|
1862 |
-
|
1863 |
-
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
-
|
1870 |
-
|
1871 |
-
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
1878 |
-
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
1882 |
-
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
1888 |
-
|
1889 |
-
|
1890 |
-
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
-
|
1897 |
-
|
1898 |
-
|
1899 |
-
|
1900 |
-
|
1901 |
-
|
1902 |
-
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
-
|
1921 |
-
|
1922 |
-
|
1923 |
-
|
1924 |
-
|
1925 |
-
|
1926 |
-
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
1939 |
-
|
1940 |
-
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1950 |
|
1951 |
<pre><h2>Приветствуем!</h2>
|
1952 |
|
@@ -1958,180 +1976,180 @@ if (closedonat == 'yes') {
|
|
1958 |
|
1959 |
</pre>
|
1960 |
|
1961 |
-
|
1962 |
-
|
1963 |
-
|
1964 |
-
|
1965 |
-
|
1966 |
-
|
1967 |
-
|
1968 |
-
|
1969 |
-
|
1970 |
-
|
1971 |
-
|
1972 |
-
|
1973 |
-
|
1974 |
-
|
1975 |
-
|
1976 |
-
|
1977 |
-
|
1978 |
-
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
|
1983 |
-
|
1984 |
-
|
1985 |
-
|
1986 |
-
|
1987 |
-
|
1988 |
-
|
1989 |
-
|
1990 |
-
|
1991 |
-
|
1992 |
-
|
1993 |
-
|
1994 |
-
|
1995 |
-
|
1996 |
-
|
1997 |
-
|
1998 |
-
|
1999 |
-
|
2000 |
-
|
2001 |
-
|
2002 |
-
|
2003 |
-
|
2004 |
-
|
2005 |
-
|
2006 |
-
|
2007 |
-
|
2008 |
-
|
2009 |
-
|
2010 |
-
|
2011 |
-
|
2012 |
-
|
2013 |
-
|
2014 |
-
|
2015 |
-
|
2016 |
-
|
2017 |
-
|
2018 |
-
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
|
2023 |
-
|
2024 |
-
|
2025 |
-
|
2026 |
-
|
2027 |
-
|
2028 |
-
|
2029 |
-
|
2030 |
-
|
2031 |
-
|
2032 |
-
|
2033 |
-
|
2034 |
-
|
2035 |
-
|
2036 |
-
|
2037 |
-
|
2038 |
-
|
2039 |
-
|
2040 |
-
|
2041 |
-
|
2042 |
-
|
2043 |
-
|
2044 |
-
|
2045 |
-
|
2046 |
-
|
2047 |
-
|
2048 |
-
|
2049 |
-
|
2050 |
-
|
2051 |
-
|
2052 |
-
|
2053 |
-
|
2054 |
-
|
2055 |
-
|
2056 |
-
|
2057 |
-
|
2058 |
-
|
2059 |
-
|
2060 |
-
|
2061 |
-
|
2062 |
-
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
|
2067 |
-
|
2068 |
-
|
2069 |
-
|
2070 |
-
|
2071 |
-
|
2072 |
-
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
2076 |
-
|
2077 |
-
|
2078 |
-
|
2079 |
-
|
2080 |
-
|
2081 |
-
|
2082 |
-
|
2083 |
-
|
2084 |
-
|
2085 |
-
|
2086 |
-
|
2087 |
-
|
2088 |
-
|
2089 |
-
|
2090 |
-
|
2091 |
-
|
2092 |
-
|
2093 |
-
|
2094 |
-
|
2095 |
-
|
2096 |
-
|
2097 |
-
|
2098 |
-
|
2099 |
-
|
2100 |
-
|
2101 |
-
|
2102 |
-
|
2103 |
-
|
2104 |
-
|
2105 |
-
|
2106 |
-
|
2107 |
-
|
2108 |
-
|
2109 |
-
|
2110 |
-
|
2111 |
-
|
2112 |
-
|
2113 |
-
|
2114 |
-
|
2115 |
-
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
|
2123 |
-
|
2124 |
-
|
2125 |
-
|
2126 |
-
|
2127 |
-
|
2128 |
-
|
2129 |
-
|
2130 |
-
|
2131 |
-
|
2132 |
-
|
2133 |
-
|
2134 |
-
|
2135 |
|
2136 |
</div><!-- .xyztabs -->
|
2137 |
|
@@ -2139,34 +2157,34 @@ if (closedonat == 'yes') {
|
|
2139 |
<script>
|
2140 |
var closeabout = localStorage.getItem('yt-close-about');
|
2141 |
if (closeabout == 'yes') {
|
2142 |
-
|
2143 |
-
|
2144 |
}
|
2145 |
</script>
|
2146 |
-
|
2147 |
-
|
2148 |
-
|
2149 |
-
|
2150 |
-
|
2151 |
-
|
2152 |
-
|
2153 |
-
|
2154 |
-
|
2155 |
-
|
2156 |
-
|
2157 |
-
|
2158 |
-
|
2159 |
-
|
2160 |
-
|
2161 |
-
|
2162 |
-
|
2163 |
-
|
2164 |
-
|
2165 |
-
|
2166 |
-
|
2167 |
-
|
2168 |
</div>
|
2169 |
-
<?php wp_nonce_field(
|
2170 |
<?php wp_nonce_field('yturbo_display_exclude_terms', 'yturbo_display_exclude_terms-nonce', false); ?>
|
2171 |
<script>
|
2172 |
var spinner = '<?php echo esc_url(admin_url('images/spinner-2x.gif')) ?>',
|
@@ -2182,212 +2200,221 @@ loading = '<li class="loading"><img height="20px" width="20px" src="'+spinner+'"
|
|
2182 |
|
2183 |
//функция добавления ссылки на страницу настроек плагина в раздел "Настройки" begin
|
2184 |
function yturbo_menu() {
|
2185 |
-
|
2186 |
}
|
2187 |
-
add_action(
|
2188 |
//функция добавления ссылки на страницу настроек плагина в раздел "Настройки" end
|
2189 |
|
2190 |
//создаем метабокс begin
|
2191 |
function yturbo_meta_box() {
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
2195 |
-
|
2196 |
-
|
2197 |
-
|
2198 |
-
|
2199 |
-
|
2200 |
-
|
2201 |
-
|
2202 |
-
|
2203 |
-
|
2204 |
-
|
2205 |
-
|
2206 |
-
|
2207 |
-
|
2208 |
-
|
2209 |
-
|
2210 |
-
|
2211 |
-
|
2212 |
-
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
2216 |
-
|
2217 |
-
|
2218 |
-
|
2219 |
-
|
2220 |
-
|
2221 |
-
|
2222 |
-
|
2223 |
-
|
2224 |
-
|
2225 |
-
|
2226 |
-
|
2227 |
-
|
2228 |
-
|
2229 |
-
|
2230 |
}
|
2231 |
-
add_action(
|
2232 |
//создаем метабокс end
|
2233 |
|
2234 |
//сохраняем метабокс begin
|
2235 |
-
function yturbo_save_metabox(
|
2236 |
-
|
2237 |
-
|
2238 |
-
|
2239 |
-
|
2240 |
-
|
2241 |
-
|
2242 |
-
|
2243 |
-
|
2244 |
-
|
2245 |
-
|
2246 |
-
|
2247 |
-
|
2248 |
-
|
2249 |
-
|
2250 |
-
|
2251 |
-
|
2252 |
-
|
2253 |
-
|
2254 |
-
|
2255 |
-
|
2256 |
-
|
2257 |
-
|
2258 |
-
|
2259 |
-
|
2260 |
-
|
2261 |
-
|
2262 |
-
|
2263 |
-
|
2264 |
-
|
2265 |
-
|
2266 |
-
|
2267 |
-
|
2268 |
-
|
2269 |
-
|
2270 |
-
|
2271 |
-
|
2272 |
-
|
2273 |
-
|
2274 |
-
|
2275 |
-
|
2276 |
-
|
2277 |
-
|
2278 |
-
|
2279 |
-
|
2280 |
-
|
2281 |
-
|
2282 |
-
|
2283 |
-
|
2284 |
-
|
2285 |
-
|
2286 |
-
|
2287 |
-
|
2288 |
-
|
2289 |
-
|
2290 |
-
|
2291 |
-
|
2292 |
-
|
2293 |
-
|
2294 |
-
|
2295 |
-
|
2296 |
-
|
2297 |
-
|
2298 |
-
|
2299 |
-
|
2300 |
-
|
|
|
|
|
|
|
|
|
|
|
2301 |
}
|
2302 |
-
add_action(
|
2303 |
//сохраняем метабокс end
|
2304 |
|
2305 |
//выводим метабокс begin
|
2306 |
function yturbo_callback() {
|
2307 |
-
|
2308 |
-
|
2309 |
-
|
2310 |
-
|
2311 |
-
|
2312 |
-
|
2313 |
-
|
2314 |
-
|
2315 |
-
|
2316 |
-
|
2317 |
-
|
2318 |
-
|
2319 |
-
|
2320 |
-
|
2321 |
-
|
2322 |
-
|
2323 |
-
|
2324 |
-
|
2325 |
-
|
2326 |
-
|
2327 |
-
|
2328 |
-
|
2329 |
-
|
2330 |
-
|
2331 |
-
|
2332 |
-
|
2333 |
-
|
2334 |
-
|
2335 |
-
|
2336 |
-
|
2337 |
-
|
2338 |
-
|
2339 |
-
|
2340 |
-
|
2341 |
-
|
2342 |
-
|
2343 |
-
|
2344 |
-
|
2345 |
-
|
2346 |
-
|
2347 |
-
|
2348 |
-
|
2349 |
-
|
2350 |
-
|
2351 |
-
|
2352 |
-
|
2353 |
-
|
2354 |
-
|
2355 |
-
|
2356 |
-
|
2357 |
-
|
2358 |
-
|
2359 |
-
|
2360 |
-
|
2361 |
-
|
2362 |
-
|
|
|
|
|
|
|
|
|
2363 |
|
2364 |
<script>
|
2365 |
jQuery(document).ready(function($) {
|
2366 |
-
|
2367 |
-
|
2368 |
-
|
2369 |
-
|
2370 |
-
|
2371 |
-
|
2372 |
-
|
2373 |
-
|
2374 |
-
|
2375 |
-
|
2376 |
-
|
2377 |
-
|
2378 |
-
|
2379 |
-
|
2380 |
-
|
2381 |
-
|
2382 |
-
|
2383 |
-
|
2384 |
-
|
2385 |
-
|
2386 |
-
|
2387 |
-
|
2388 |
-
|
2389 |
-
|
2390 |
-
|
2391 |
})
|
2392 |
</script>
|
2393 |
<style>
|
@@ -2397,86 +2424,110 @@ i.mce-i-big {background-image: url('<?php echo $purl; ?>/img/big.png');}
|
|
2397 |
tt{padding: 1px 5px 1px;margin: 0 1px;background: #eaeaea;background: rgba(0, 0, 0, .07);font-family: Consolas, Monaco, monospace;unicode-bidi: embed;}
|
2398 |
</style>
|
2399 |
|
2400 |
-
|
2401 |
-
|
2402 |
-
|
2403 |
-
|
2404 |
-
|
2405 |
-
|
2406 |
-
|
2407 |
-
|
2408 |
-
|
2409 |
-
|
2410 |
-
|
2411 |
-
|
2412 |
-
|
2413 |
-
|
2414 |
-
|
2415 |
-
|
2416 |
-
|
2417 |
-
|
2418 |
-
|
2419 |
-
|
2420 |
-
|
2421 |
-
|
2422 |
-
|
2423 |
-
|
2424 |
-
|
2425 |
-
|
2426 |
-
|
2427 |
-
|
2428 |
-
|
2429 |
-
|
2430 |
-
|
2431 |
-
|
2432 |
-
|
2433 |
-
|
2434 |
-
|
2435 |
-
|
2436 |
-
|
2437 |
-
|
2438 |
-
|
2439 |
-
|
2440 |
-
|
2441 |
-
|
2442 |
-
|
2443 |
-
|
2444 |
-
|
2445 |
-
|
2446 |
-
|
2447 |
-
|
2448 |
-
|
2449 |
-
|
2450 |
-
|
2451 |
-
|
2452 |
-
|
2453 |
-
|
2454 |
-
|
2455 |
-
|
2456 |
-
|
2457 |
-
|
2458 |
-
|
2459 |
-
|
2460 |
-
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
2466 |
-
|
2467 |
-
|
2468 |
-
|
2469 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2470 |
|
2471 |
<?php }
|
2472 |
//выводим метабокс end
|
2473 |
|
2474 |
//добавляем новую rss-ленту begin
|
2475 |
function yturbo_add_feed() {
|
2476 |
-
|
2477 |
-
|
2478 |
}
|
2479 |
-
add_action(
|
2480 |
//добавляем новую rss-ленту end
|
2481 |
|
2482 |
//шаблон для RSS-ленты Яндекс.Турбо begin
|
@@ -2500,12 +2551,12 @@ $ytthumbnail = $yturbo_options['ytthumbnail'];
|
|
2500 |
$ytselectthumb = $yturbo_options['ytselectthumb'];
|
2501 |
|
2502 |
if ( yturbo_check_ads() == true ) {
|
2503 |
-
|
2504 |
-
|
2505 |
-
|
2506 |
-
|
2507 |
-
|
2508 |
-
|
2509 |
}
|
2510 |
$ytad1 = $yturbo_options['ytad1'];
|
2511 |
$ytad1set = $yturbo_options['ytad1set'];
|
@@ -2559,19 +2610,19 @@ $ytselectmenu = $yturbo_options['ytselectmenu'];
|
|
2559 |
$ytcomments = $yturbo_options['ytcomments'];
|
2560 |
$ytcommentsnumber = $yturbo_options['ytcommentsnumber'];
|
2561 |
$ytcommentsorder = $yturbo_options['ytcommentsorder'];
|
2562 |
-
if ($ytcommentsorder=='В начале новые комментарии'){
|
2563 |
-
|
2564 |
-
|
2565 |
} else {
|
2566 |
-
|
2567 |
-
|
2568 |
}
|
2569 |
$ytcommentsdate = $yturbo_options['ytcommentsdate'];
|
2570 |
$ytcommentsdrevo = $yturbo_options['ytcommentsdrevo'];
|
2571 |
-
if ($ytcommentsdrevo=='enabled') {
|
2572 |
-
|
2573 |
} else {
|
2574 |
-
|
2575 |
}
|
2576 |
$ytpostdate = $yturbo_options['ytpostdate'];
|
2577 |
|
@@ -2580,448 +2631,447 @@ $ytratingmin = $yturbo_options['ytratingmin'];
|
|
2580 |
$ytratingmax = $yturbo_options['ytratingmax'];
|
2581 |
$ytrelateddate = $yturbo_options['ytrelateddate'];
|
2582 |
|
2583 |
-
if ($ytqueryselect=='Все таксономии, кроме исключенных' && $yttaxlist) {
|
2584 |
-
|
2585 |
-
|
2586 |
-
|
2587 |
-
|
2588 |
-
|
2589 |
-
|
2590 |
-
|
2591 |
-
|
2592 |
-
|
2593 |
-
|
2594 |
-
|
2595 |
-
|
2596 |
-
|
2597 |
}
|
2598 |
-
if (
|
2599 |
-
if ($ytqueryselect=='Только указанные таксономии') {
|
2600 |
-
|
2601 |
-
|
2602 |
-
|
2603 |
-
|
2604 |
-
|
2605 |
-
|
2606 |
-
|
2607 |
-
|
2608 |
-
|
2609 |
-
|
2610 |
-
|
2611 |
-
|
2612 |
-
|
2613 |
}
|
2614 |
|
2615 |
-
if ($ytrazb == 'enabled' && $ytrazbnumber) {
|
2616 |
-
|
2617 |
-
|
2618 |
-
|
2619 |
-
|
2620 |
-
|
2621 |
-
|
2622 |
} else {
|
2623 |
-
|
2624 |
-
|
2625 |
}
|
2626 |
if ( isset($_GET['lenta']) && $_GET['lenta'] == 'trash' ) {
|
2627 |
-
|
2628 |
-
|
2629 |
}
|
2630 |
|
2631 |
//если в настройках не выбраны типы записей, то отключаем дефолтный post_type равный 'post'
|
2632 |
-
if(!isset($yttype[0])){$yttype=array();$yttype[0]='trulala';}
|
2633 |
|
2634 |
$args = array(
|
2635 |
-
|
2636 |
-
|
2637 |
-
|
2638 |
-
|
2639 |
-
|
2640 |
-
|
2641 |
-
|
2642 |
-
|
2643 |
-
|
2644 |
-
|
2645 |
-
|
2646 |
);
|
2647 |
-
$args = apply_filters(
|
2648 |
-
$query = new WP_Query(
|
2649 |
|
2650 |
header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
|
2651 |
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EOL;
|
2652 |
?>
|
2653 |
-
<rss
|
2654 |
-
xmlns:yandex="http://news.yandex.ru"
|
2655 |
-
xmlns:media="http://search.yahoo.com/mrss/"
|
2656 |
-
xmlns:turbo="http://turbo.yandex.ru"
|
2657 |
-
version="2.0">
|
2658 |
<channel>
|
2659 |
-
|
2660 |
-
|
2661 |
-
|
2662 |
-
|
2663 |
-
|
2664 |
-
|
2665 |
-
|
2666 |
-
|
2667 |
-
|
2668 |
-
|
2669 |
-
|
2670 |
-
|
2671 |
-
|
2672 |
-
|
2673 |
-
|
2674 |
-
|
2675 |
-
|
2676 |
-
|
2677 |
-
|
2678 |
-
|
2679 |
-
|
2680 |
-
|
2681 |
-
|
2682 |
-
|
2683 |
-
|
2684 |
-
|
2685 |
-
|
2686 |
-
|
2687 |
-
|
2688 |
-
|
2689 |
-
|
2690 |
-
|
2691 |
-
|
2692 |
-
|
2693 |
-
|
2694 |
-
|
2695 |
-
|
2696 |
-
|
2697 |
-
|
2698 |
-
|
2699 |
-
|
2700 |
-
|
2701 |
-
|
2702 |
-
|
2703 |
-
|
2704 |
-
|
2705 |
-
|
2706 |
-
|
2707 |
-
|
2708 |
-
|
2709 |
-
|
2710 |
-
|
2711 |
-
|
2712 |
-
|
2713 |
-
|
2714 |
-
|
2715 |
-
|
2716 |
-
|
2717 |
-
|
2718 |
-
|
2719 |
-
|
2720 |
-
|
2721 |
-
|
2722 |
-
|
2723 |
-
|
2724 |
-
|
2725 |
-
|
2726 |
-
|
2727 |
-
|
2728 |
-
|
2729 |
-
|
2730 |
-
|
2731 |
-
|
2732 |
-
|
2733 |
-
|
2734 |
-
|
2735 |
-
|
2736 |
-
|
2737 |
-
|
2738 |
-
|
2739 |
-
|
2740 |
-
|
2741 |
-
|
2742 |
-
|
2743 |
-
|
2744 |
-
|
2745 |
-
|
2746 |
-
|
2747 |
-
|
2748 |
-
|
2749 |
-
|
2750 |
-
|
2751 |
-
|
2752 |
-
|
2753 |
-
|
2754 |
-
|
2755 |
-
|
2756 |
-
|
2757 |
-
|
2758 |
-
|
2759 |
-
|
2760 |
-
|
2761 |
-
|
2762 |
-
|
2763 |
-
|
2764 |
-
|
2765 |
-
|
2766 |
-
|
2767 |
-
|
2768 |
-
|
2769 |
-
|
2770 |
-
|
2771 |
-
|
2772 |
-
|
2773 |
-
|
2774 |
-
|
2775 |
-
|
2776 |
-
|
2777 |
-
|
2778 |
-
|
2779 |
-
|
2780 |
-
|
2781 |
-
|
2782 |
-
|
2783 |
-
|
2784 |
-
|
2785 |
-
|
2786 |
-
|
2787 |
-
|
2788 |
-
|
2789 |
-
|
2790 |
-
|
2791 |
-
|
2792 |
-
|
2793 |
-
|
2794 |
-
|
2795 |
-
|
2796 |
-
|
2797 |
-
|
2798 |
-
|
2799 |
-
|
2800 |
-
|
2801 |
-
|
2802 |
-
|
2803 |
-
|
2804 |
-
|
2805 |
-
|
2806 |
-
|
2807 |
-
|
2808 |
-
|
2809 |
-
|
2810 |
-
|
2811 |
-
|
2812 |
-
|
2813 |
-
|
2814 |
-
|
2815 |
-
|
2816 |
-
|
2817 |
-
|
2818 |
-
|
2819 |
-
|
2820 |
-
|
2821 |
-
|
2822 |
-
|
2823 |
-
|
2824 |
-
|
2825 |
-
|
2826 |
-
|
2827 |
-
|
2828 |
-
|
2829 |
-
|
2830 |
-
|
2831 |
-
|
2832 |
-
|
2833 |
-
|
2834 |
-
|
2835 |
-
|
2836 |
-
|
2837 |
-
|
2838 |
-
|
2839 |
-
|
2840 |
-
|
2841 |
-
|
2842 |
-
|
2843 |
-
|
2844 |
-
|
2845 |
-
|
2846 |
-
|
2847 |
-
|
2848 |
-
|
2849 |
-
|
2850 |
-
|
2851 |
-
|
2852 |
-
|
2853 |
-
|
2854 |
-
|
2855 |
-
|
2856 |
-
|
2857 |
-
|
2858 |
-
|
2859 |
-
|
2860 |
-
|
2861 |
-
|
2862 |
-
|
2863 |
-
|
2864 |
-
|
2865 |
-
|
2866 |
-
|
2867 |
-
|
2868 |
-
|
2869 |
-
|
2870 |
-
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
|
2875 |
-
|
2876 |
-
|
2877 |
-
|
2878 |
-
|
2879 |
-
|
2880 |
-
|
2881 |
-
|
2882 |
-
|
2883 |
-
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
-
|
2891 |
-
|
2892 |
-
|
2893 |
-
|
2894 |
-
|
2895 |
-
|
2896 |
-
|
2897 |
-
|
2898 |
-
|
2899 |
-
|
2900 |
-
|
2901 |
-
|
2902 |
-
|
2903 |
-
|
2904 |
-
|
2905 |
-
|
2906 |
-
|
2907 |
-
|
2908 |
-
|
2909 |
-
|
2910 |
-
|
2911 |
-
|
2912 |
-
|
2913 |
-
|
2914 |
-
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
-
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
-
|
2923 |
-
|
2924 |
-
|
2925 |
-
|
2926 |
-
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
-
|
2931 |
-
|
2932 |
-
|
2933 |
-
|
2934 |
-
|
2935 |
-
|
2936 |
-
|
2937 |
-
|
2938 |
-
|
2939 |
-
|
2940 |
-
|
2941 |
-
|
2942 |
-
|
2943 |
-
|
2944 |
-
|
2945 |
-
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
2949 |
-
|
2950 |
-
|
2951 |
-
|
2952 |
-
|
2953 |
-
|
2954 |
-
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
|
2961 |
-
|
2962 |
-
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
|
2967 |
-
|
2968 |
-
|
2969 |
-
|
2970 |
-
|
2971 |
-
|
2972 |
-
|
2973 |
-
|
2974 |
-
|
2975 |
-
|
2976 |
-
|
2977 |
-
|
2978 |
-
|
2979 |
-
|
2980 |
-
|
2981 |
-
|
2982 |
-
|
2983 |
-
|
2984 |
-
|
2985 |
-
|
2986 |
-
|
2987 |
-
|
2988 |
-
|
2989 |
-
|
2990 |
-
|
2991 |
-
|
2992 |
-
|
2993 |
-
|
2994 |
-
|
2995 |
-
|
2996 |
-
|
2997 |
-
|
2998 |
-
|
2999 |
-
|
3000 |
-
|
3001 |
-
|
3002 |
-
|
3003 |
-
|
3004 |
-
|
3005 |
-
|
3006 |
-
|
3007 |
-
|
3008 |
-
|
3009 |
-
|
3010 |
-
|
3011 |
-
|
3012 |
-
|
3013 |
-
|
3014 |
-
|
3015 |
-
|
3016 |
-
|
3017 |
-
|
3018 |
-
|
3019 |
-
|
3020 |
-
|
3021 |
-
|
3022 |
-
|
3023 |
-
|
3024 |
-
|
|
|
|
|
|
|
3025 |
<?php endwhile; ?>
|
3026 |
<?php wp_reset_postdata(); ?>
|
3027 |
<?php wp_reset_query(); ?>
|
@@ -3031,106 +3081,106 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EO
|
|
3031 |
//шаблон для RSS-ленты Яндекс.Турбо end
|
3032 |
|
3033 |
//установка правильного content type для ленты плагина begin
|
3034 |
-
function yturbo_feed_content_type(
|
3035 |
-
|
3036 |
-
|
3037 |
-
|
3038 |
-
|
3039 |
-
|
3040 |
}
|
3041 |
-
add_filter(
|
3042 |
//установка правильного content type для ленты плагина end
|
3043 |
|
3044 |
//функция формирования content в rss begin
|
3045 |
function yturbo_the_content_feed() {
|
3046 |
-
|
3047 |
-
|
3048 |
-
|
3049 |
-
|
3050 |
-
|
3051 |
-
|
3052 |
-
|
3053 |
-
|
3054 |
-
|
3055 |
-
|
3056 |
-
|
3057 |
-
|
3058 |
-
|
3059 |
-
|
3060 |
-
|
3061 |
-
|
3062 |
}
|
3063 |
//функция формирования content в rss end
|
3064 |
|
3065 |
//функция удаления тегов вместе с их контентом begin
|
3066 |
-
function yturbo_strip_tags_with_content(
|
3067 |
-
|
3068 |
-
|
3069 |
-
|
3070 |
-
|
3071 |
-
|
3072 |
-
|
3073 |
-
|
3074 |
-
|
3075 |
-
|
3076 |
-
|
3077 |
-
|
3078 |
-
|
3079 |
-
|
3080 |
-
|
3081 |
-
|
3082 |
-
|
3083 |
-
|
3084 |
-
|
3085 |
-
|
3086 |
-
|
3087 |
-
|
3088 |
-
|
3089 |
-
|
3090 |
-
|
3091 |
-
|
3092 |
-
|
3093 |
-
|
3094 |
-
|
3095 |
-
|
3096 |
-
|
3097 |
-
|
3098 |
-
|
3099 |
}
|
3100 |
//функция удаления тегов вместе с их контентом end
|
3101 |
|
3102 |
//функция удаления тегов без их контента begin
|
3103 |
-
function yturbo_strip_tags_without_content(
|
3104 |
-
|
3105 |
-
|
3106 |
-
|
3107 |
-
|
3108 |
-
|
3109 |
-
|
3110 |
-
|
3111 |
-
|
3112 |
-
|
3113 |
-
|
3114 |
-
|
3115 |
-
|
3116 |
-
|
3117 |
-
|
3118 |
-
|
3119 |
-
|
3120 |
-
|
3121 |
-
|
3122 |
}
|
3123 |
//функция удаления тегов без их контента end
|
3124 |
|
3125 |
//функция принудительной установки header-тега X-Robots-Tag (решение проблемы с SEO-плагинами) begin
|
3126 |
function yturbo_index_follow_rss() {
|
3127 |
-
|
3128 |
-
|
3129 |
-
|
3130 |
-
|
3131 |
-
|
3132 |
}
|
3133 |
-
add_action(
|
3134 |
//функция принудительной установки header-тега X-Robots-Tag (решение проблемы с SEO-плагинами) end
|
3135 |
|
3136 |
//функция подсчета количества rss-лент и их вывод на странице настроек плагина begin
|
@@ -3150,40 +3200,40 @@ $ytqueryselect = $yturbo_options['ytqueryselect'];
|
|
3150 |
$yttaxlist = $yturbo_options['yttaxlist'];
|
3151 |
$ytaddtaxlist = $yturbo_options['ytaddtaxlist'];
|
3152 |
|
3153 |
-
if ($ytqueryselect=='Все таксономии, кроме исключенных' && $yttaxlist) {
|
3154 |
-
|
3155 |
-
|
3156 |
-
|
3157 |
-
|
3158 |
-
|
3159 |
-
|
3160 |
-
|
3161 |
-
|
3162 |
-
|
3163 |
-
|
3164 |
-
|
3165 |
-
|
3166 |
-
|
3167 |
}
|
3168 |
-
if (
|
3169 |
-
if ($ytqueryselect=='Только указанные таксономии') {
|
3170 |
-
|
3171 |
-
|
3172 |
-
|
3173 |
-
|
3174 |
-
|
3175 |
-
|
3176 |
-
|
3177 |
-
|
3178 |
-
|
3179 |
-
|
3180 |
-
|
3181 |
-
|
3182 |
-
|
3183 |
}
|
3184 |
|
3185 |
-
if ($ytnumber > 500) :
|
3186 |
-
if ($ytrazb == 'enabled') {
|
3187 |
$paged = 2;
|
3188 |
echo '<p>Вы установили слишком большое общее количество записей в RSS (больше 500 записей), <br />
|
3189 |
поэтому чтобы не нагружать базу данных фактическая проверка наличия записей в разбитых <br />
|
@@ -3192,79 +3242,79 @@ RSS-ленты сервис Яндекс.Вебмастер откажется
|
|
3192 |
<p>Всего у вас ' . yturbo_russian_number(ceil($ytnumber / $ytrazbnumber), array(' RSS-лента', ' RSS-ленты', ' RSS-лент')) . ' (максимально по '.yturbo_russian_number($ytrazbnumber, array(' запись', ' записи', ' записей')). ' в каждой):</p>';
|
3193 |
echo '<ul style="margin-bottom: 25px;">';
|
3194 |
if ( get_option('permalink_structure') ) {
|
3195 |
-
|
3196 |
} else {
|
3197 |
-
|
3198 |
}
|
3199 |
-
while ($paged <= ceil($ytnumber / $ytrazbnumber) ) {
|
3200 |
-
|
3201 |
-
|
3202 |
-
|
3203 |
-
|
3204 |
-
|
3205 |
-
|
3206 |
-
|
3207 |
-
|
3208 |
-
|
3209 |
-
|
3210 |
-
|
3211 |
-
|
3212 |
-
|
3213 |
}
|
3214 |
-
if ($paged >= 10 && (ceil($ytnumber / $ytrazbnumber))>10) {
|
3215 |
-
|
3216 |
}
|
3217 |
echo '</ul>';
|
3218 |
} else {
|
3219 |
-
|
3220 |
-
|
3221 |
-
|
3222 |
-
|
3223 |
-
|
3224 |
-
|
3225 |
-
|
3226 |
-
|
3227 |
}
|
3228 |
else :
|
3229 |
|
3230 |
-
if(!isset($yttype[0])){$yttype=array();$yttype[0]='trulala';}//если в настройках не выбраны типы записей, то отключаем дефолтный post_type равный 'post'
|
3231 |
$args = array('ignore_sticky_posts' => 1, 'post_type' => $yttype, 'post_status' => 'publish', 'posts_per_page' => $ytnumber,'tax_query' => $tax_query,
|
3232 |
'meta_query' => array('relation' => 'OR', array('key' => 'ytrssenabled_meta_value', 'compare' => 'NOT EXISTS',),
|
3233 |
array('key' => 'ytrssenabled_meta_value', 'value' => 'yes', 'compare' => '!=',),));
|
3234 |
$query = new WP_Query( $args );
|
3235 |
|
3236 |
-
if ($query->post_count < $ytnumber) $ytnumber = $query->post_count;
|
3237 |
|
3238 |
-
if ($ytrazb == 'enabled' && (ceil($query->post_count / $ytrazbnumber) > 1)) {
|
3239 |
-
|
3240 |
-
|
3241 |
} else {
|
3242 |
-
|
3243 |
}
|
3244 |
|
3245 |
echo '<ul style="margin-bottom: 20px;">';
|
3246 |
if ( get_option('permalink_structure') ) {
|
3247 |
-
|
3248 |
} else {
|
3249 |
-
|
3250 |
}
|
3251 |
|
3252 |
-
if ($ytrazb == 'enabled' && (ceil($query->post_count / $ytrazbnumber) > 1)) {
|
3253 |
-
|
3254 |
-
|
3255 |
-
|
3256 |
-
|
3257 |
-
|
3258 |
-
|
3259 |
-
|
3260 |
-
|
3261 |
-
|
3262 |
-
|
3263 |
-
|
3264 |
-
|
3265 |
-
|
3266 |
-
|
3267 |
-
|
3268 |
}
|
3269 |
|
3270 |
echo '</ul>';
|
@@ -3274,809 +3324,796 @@ endif;
|
|
3274 |
//функция подсчета количества rss-лент и их вывод на странице настроек плагина end
|
3275 |
|
3276 |
//функция склонения слов после числа begin
|
3277 |
-
function yturbo_russian_number(
|
3278 |
-
|
3279 |
-
|
3280 |
}
|
3281 |
//функция склонения слов после числа end
|
3282 |
|
3283 |
//функция добавления рекламы в запись begin
|
3284 |
function yturbo_add_advert( $content ) {
|
3285 |
|
3286 |
-
|
3287 |
-
|
3288 |
-
|
3289 |
-
|
3290 |
-
|
3291 |
|
3292 |
-
|
3293 |
-
|
3294 |
-
|
3295 |
|
3296 |
-
|
3297 |
|
3298 |
-
|
3299 |
-
|
3300 |
-
|
3301 |
-
|
3302 |
|
3303 |
-
|
3304 |
|
3305 |
-
|
3306 |
-
|
3307 |
-
|
3308 |
|
3309 |
-
|
3310 |
-
|
3311 |
-
|
3312 |
|
3313 |
-
|
3314 |
-
|
3315 |
|
3316 |
-
|
3317 |
}
|
3318 |
//функция добавления рекламы в запись end
|
3319 |
|
3320 |
//функция удаления всех атрибутов тега img кроме указанных begin
|
3321 |
function yturbo_strip_attributes( $s, $allowedattr = array() ) {
|
3322 |
|
3323 |
-
|
3324 |
-
|
3325 |
-
|
3326 |
-
|
3327 |
-
|
3328 |
-
|
3329 |
-
|
3330 |
-
|
3331 |
-
|
3332 |
-
|
3333 |
-
|
3334 |
-
|
3335 |
-
|
3336 |
-
|
3337 |
-
|
3338 |
-
|
3339 |
-
|
3340 |
-
|
3341 |
-
|
3342 |
-
|
3343 |
-
|
3344 |
-
|
3345 |
-
|
3346 |
-
|
3347 |
-
|
3348 |
-
|
3349 |
-
|
3350 |
-
|
3351 |
-
|
3352 |
-
|
3353 |
-
|
3354 |
-
|
3355 |
-
|
3356 |
-
|
3357 |
-
|
3358 |
-
|
3359 |
-
|
3360 |
-
|
3361 |
-
|
3362 |
}
|
3363 |
//функция удаления всех атрибутов тега img кроме указанных end
|
3364 |
|
3365 |
//функция удаления транзитного кэша для похожих записей begin
|
3366 |
function yturbo_clear_transients() {
|
3367 |
-
|
3368 |
|
3369 |
-
|
3370 |
DELETE
|
3371 |
FROM {$wpdb->options}
|
3372 |
WHERE option_name like '\_transient\_related-%'
|
3373 |
OR option_name like '\_transient\_timeout\_related-%'
|
3374 |
";
|
3375 |
|
3376 |
-
|
3377 |
}
|
3378 |
//функция удаления транзитного кэша для похожих записей end
|
3379 |
|
3380 |
//функция преобразования стандартных галерей движка в турбо-галереи begin
|
3381 |
-
function yturbo_gallery(
|
3382 |
-
|
3383 |
-
|
3384 |
-
|
3385 |
-
|
3386 |
-
|
3387 |
-
|
3388 |
-
|
3389 |
-
|
3390 |
-
|
3391 |
-
|
3392 |
-
|
3393 |
-
|
3394 |
-
|
3395 |
-
|
3396 |
-
|
3397 |
-
|
3398 |
-
|
3399 |
-
|
3400 |
-
|
3401 |
-
|
3402 |
-
|
3403 |
-
|
3404 |
-
|
3405 |
-
|
3406 |
-
|
3407 |
-
|
3408 |
-
|
3409 |
-
|
3410 |
-
|
3411 |
-
|
3412 |
-
|
3413 |
-
|
3414 |
-
|
3415 |
-
|
3416 |
-
|
3417 |
-
|
3418 |
-
|
3419 |
-
|
3420 |
-
|
3421 |
-
|
3422 |
-
|
3423 |
-
|
3424 |
-
|
3425 |
-
|
3426 |
-
|
3427 |
-
|
3428 |
-
|
3429 |
-
|
3430 |
-
|
3431 |
-
|
3432 |
-
|
3433 |
-
|
3434 |
-
|
3435 |
-
|
3436 |
-
|
3437 |
-
|
3438 |
-
|
3439 |
-
|
3440 |
-
|
3441 |
-
|
3442 |
-
|
3443 |
-
|
3444 |
-
|
3445 |
-
|
3446 |
-
|
3447 |
-
|
|
|
3448 |
}
|
3449 |
//функция преобразования стандартных галерей движка в турбо-галереи end
|
3450 |
|
3451 |
//функция преобразования стандартных галерей движка в турбо-галереи в гутенберге begin
|
3452 |
-
function yturbo_do_gallery(
|
3453 |
-
|
3454 |
-
|
3455 |
-
|
3456 |
-
|
3457 |
-
|
3458 |
-
|
3459 |
-
|
3460 |
-
|
3461 |
-
|
3462 |
-
|
3463 |
-
|
3464 |
-
|
3465 |
-
|
3466 |
-
|
3467 |
-
|
3468 |
-
|
3469 |
-
|
3470 |
-
|
3471 |
-
|
3472 |
-
|
3473 |
-
|
3474 |
-
|
3475 |
-
|
3476 |
-
|
3477 |
-
|
3478 |
-
|
3479 |
-
|
3480 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3481 |
}
|
3482 |
//функция преобразования стандартных галерей движка в турбо-галереи в гутенберге end
|
3483 |
|
3484 |
//функции открытия и закрытия комментариев begin
|
3485 |
-
function yturbo_comments(
|
3486 |
-
|
3487 |
-
|
3488 |
-
|
3489 |
-
|
3490 |
-
|
3491 |
-
|
3492 |
-
|
3493 |
-
|
3494 |
-
|
3495 |
-
|
3496 |
-
|
3497 |
-
|
3498 |
-
|
3499 |
-
|
3500 |
-
|
3501 |
-
|
3502 |
-
|
3503 |
-
|
3504 |
-
|
3505 |
}
|
3506 |
|
3507 |
-
function yturbo_comments_end(
|
3508 |
$yturbo_options = get_option('yturbo_options');
|
3509 |
$ytcommentsdrevo = $yturbo_options['ytcommentsdrevo'];
|
3510 |
?>
|
3511 |
-
|
3512 |
-
|
3513 |
<?php }
|
3514 |
//функции открытия и закрытия комментариев end
|
3515 |
|
3516 |
//функция формирования объявлений рекламной сети begin
|
3517 |
function yturbo_turbo_ads() {
|
3518 |
-
|
3519 |
-
|
3520 |
-
|
3521 |
-
|
3522 |
-
|
3523 |
-
|
3524 |
-
|
3525 |
-
|
3526 |
-
|
3527 |
-
|
3528 |
-
|
3529 |
-
|
3530 |
-
|
3531 |
-
|
3532 |
-
|
3533 |
-
|
3534 |
-
|
3535 |
-
|
3536 |
-
|
3537 |
-
|
3538 |
-
|
3539 |
-
|
3540 |
-
|
3541 |
-
|
3542 |
-
|
3543 |
-
|
3544 |
-
|
3545 |
-
|
3546 |
-
|
3547 |
-
|
3548 |
-
|
3549 |
-
|
3550 |
-
|
3551 |
-
|
3552 |
-
|
3553 |
-
|
3554 |
-
|
3555 |
-
|
3556 |
-
|
3557 |
-
|
3558 |
-
|
3559 |
-
|
3560 |
-
|
3561 |
-
|
3562 |
-
|
3563 |
-
|
3564 |
-
|
3565 |
-
|
3566 |
-
|
3567 |
-
|
3568 |
-
|
3569 |
-
|
3570 |
-
|
3571 |
-
|
3572 |
-
|
3573 |
-
|
3574 |
-
|
3575 |
-
|
3576 |
-
|
3577 |
-
|
3578 |
-
|
3579 |
-
|
3580 |
-
|
3581 |
-
|
3582 |
-
|
3583 |
-
|
3584 |
-
|
3585 |
-
|
3586 |
-
|
3587 |
-
|
3588 |
-
|
3589 |
-
|
3590 |
-
|
3591 |
-
|
3592 |
-
|
3593 |
-
|
3594 |
-
|
3595 |
-
|
3596 |
-
|
3597 |
-
|
3598 |
-
|
3599 |
-
|
3600 |
-
|
3601 |
-
|
3602 |
-
|
3603 |
-
|
3604 |
-
|
3605 |
-
|
3606 |
-
|
3607 |
}
|
3608 |
//функция формирования объявлений рекламной сети end
|
3609 |
|
3610 |
//функция вывода виджета обратной связи begin
|
3611 |
function yturbo_widget_feedback() {
|
3612 |
-
|
3613 |
-
|
3614 |
-
|
3615 |
-
|
3616 |
-
|
3617 |
-
|
3618 |
-
|
3619 |
-
|
3620 |
-
|
3621 |
-
|
3622 |
-
|
3623 |
-
|
3624 |
-
|
3625 |
-
|
3626 |
-
|
3627 |
-
|
3628 |
-
|
3629 |
-
|
3630 |
-
|
3631 |
-
|
3632 |
-
|
3633 |
-
|
3634 |
-
|
3635 |
-
|
3636 |
-
|
3637 |
-
|
3638 |
-
|
3639 |
-
|
3640 |
-
|
3641 |
-
|
3642 |
-
|
3643 |
-
|
3644 |
-
|
3645 |
-
|
3646 |
-
|
3647 |
-
|
3648 |
-
|
3649 |
-
|
3650 |
-
|
3651 |
-
|
3652 |
-
|
3653 |
-
|
3654 |
-
|
3655 |
-
|
3656 |
-
|
3657 |
-
|
3658 |
-
|
3659 |
-
|
3660 |
-
|
3661 |
-
|
3662 |
-
|
3663 |
-
|
3664 |
-
|
3665 |
-
|
3666 |
-
|
3667 |
-
|
3668 |
-
|
3669 |
-
|
3670 |
-
|
3671 |
-
|
3672 |
-
|
3673 |
-
|
3674 |
-
|
3675 |
-
|
3676 |
-
|
3677 |
-
|
3678 |
-
|
3679 |
-
|
3680 |
-
|
3681 |
-
|
3682 |
-
|
3683 |
-
|
3684 |
-
|
3685 |
-
|
3686 |
-
|
3687 |
}
|
3688 |
//функция вывода виджета обратной связи end
|
3689 |
|
3690 |
//функция удаления указанных шорткодов begin
|
3691 |
-
function yturbo_strip_shortcodes(
|
3692 |
-
|
3693 |
|
3694 |
-
|
3695 |
-
|
3696 |
-
|
3697 |
-
|
3698 |
-
|
3699 |
|
3700 |
-
|
3701 |
|
3702 |
-
|
3703 |
-
|
3704 |
|
3705 |
-
|
3706 |
-
|
3707 |
|
3708 |
-
|
3709 |
-
|
3710 |
-
|
3711 |
-
|
3712 |
|
3713 |
-
|
3714 |
-
|
3715 |
-
|
3716 |
|
3717 |
-
|
3718 |
}
|
3719 |
//функция удаления указанных шорткодов end
|
3720 |
|
3721 |
//функция формирования контента по шаблону begin
|
3722 |
-
function yturbo_build_template(
|
3723 |
-
|
3724 |
-
|
3725 |
-
|
3726 |
-
|
3727 |
-
|
3728 |
-
|
3729 |
-
|
3730 |
-
|
3731 |
-
|
3732 |
-
|
3733 |
-
|
3734 |
-
|
3735 |
-
|
3736 |
-
|
3737 |
-
|
3738 |
-
|
3739 |
-
|
3740 |
-
|
3741 |
-
|
3742 |
-
|
3743 |
-
|
3744 |
-
|
3745 |
-
|
3746 |
-
|
3747 |
-
|
3748 |
-
|
3749 |
-
|
3750 |
-
|
3751 |
-
|
3752 |
-
|
3753 |
-
|
3754 |
-
|
3755 |
-
|
3756 |
-
|
3757 |
-
|
3758 |
-
|
3759 |
-
|
3760 |
-
|
3761 |
-
|
3762 |
-
|
3763 |
-
|
3764 |
-
|
3765 |
}
|
3766 |
//функция формирования контента по шаблону end
|
3767 |
|
3768 |
//функция вывода блока поиска begin
|
3769 |
function yturbo_search_widget() {
|
3770 |
-
|
3771 |
|
3772 |
-
|
3773 |
-
|
3774 |
|
3775 |
-
|
3776 |
}
|
3777 |
//функция вывода блока поиска end
|
3778 |
|
3779 |
//вставка оглавления записи begin
|
3780 |
-
function yturbo_toc(
|
3781 |
-
|
3782 |
-
|
3783 |
-
|
3784 |
-
|
3785 |
-
|
3786 |
-
|
3787 |
-
|
3788 |
-
|
3789 |
-
|
3790 |
-
|
3791 |
-
|
3792 |
-
|
3793 |
-
|
3794 |
-
|
3795 |
-
|
3796 |
-
|
3797 |
-
|
3798 |
-
|
3799 |
-
|
3800 |
-
|
3801 |
-
|
3802 |
-
|
3803 |
-
|
3804 |
-
if ($yturbo_options['yttoch4']=='enabled'){array_push($selectors, 'h4');}
|
3805 |
-
if ($yturbo_options['yttoch5']=='enabled'){array_push($selectors, 'h5');}
|
3806 |
-
if ($yturbo_options['yttoch6']=='enabled'){array_push($selectors, 'h6');}
|
3807 |
-
|
3808 |
-
$args = array(
|
3809 |
-
'css' => false,
|
3810 |
-
'to_menu' => false,
|
3811 |
-
'title' => $yturbo_options['yttoczag'],
|
3812 |
-
'min_found' => $yturbo_options['yttocnumber'],
|
3813 |
-
'min_length' => 10,
|
3814 |
-
'page_url' => get_the_permalink(),
|
3815 |
-
'selectors' => $selectors,
|
3816 |
-
);
|
3817 |
-
|
3818 |
-
$contents = YTurbo_Contents::init( $args )->make_contents( $content );
|
3819 |
-
|
3820 |
-
$contents = str_replace("\n", '', $contents);
|
3821 |
-
$contents = trim(preg_replace('/\t+/', '', $contents));
|
3822 |
-
$contents = wpautop($contents);
|
3823 |
-
|
3824 |
-
if ( $yturbo_options['yttocmesto'] == 'В начале записи' ) {
|
3825 |
-
return PHP_EOL . $contents . $content;
|
3826 |
-
}
|
3827 |
-
if ( $yturbo_options['yttocmesto'] == 'В конце записи' ) {
|
3828 |
-
return $content . $contents . PHP_EOL;
|
3829 |
-
}
|
3830 |
-
if ( $yturbo_options['yttocmesto'] == 'Перед первым заголовком' ) {
|
3831 |
-
$pattern = "/<h(.*?)>/i";
|
3832 |
-
$replacement = $contents . PHP_EOL . '<h$1>';
|
3833 |
-
$content = preg_replace($pattern, $replacement, $content, 1);
|
3834 |
-
return $content;
|
3835 |
-
}
|
3836 |
-
if ( $yturbo_options['yttocmesto'] == 'После первого заголовка' ) {
|
3837 |
-
$pattern = "/<\/h(.*?)>/i";
|
3838 |
-
$replacement = '</h$1>' . PHP_EOL . PHP_EOL . $contents;
|
3839 |
-
$content = preg_replace($pattern, $replacement, $content, 1);
|
3840 |
-
return $content;
|
3841 |
-
}
|
3842 |
}
|
3843 |
-
add_filter(
|
3844 |
//вставка оглавления записи end
|
3845 |
|
3846 |
//функция удаления эмоджи begin
|
3847 |
-
function yturbo_remove_emoji(
|
3848 |
-
|
3849 |
-
|
3850 |
-
|
3851 |
|
3852 |
-
|
3853 |
}
|
3854 |
//функция удаления эмоджи end
|
3855 |
|
3856 |
//приводим заголовки записей в соответствие с требованиями яндекса begin
|
3857 |
-
function yturbo_filter_title_rss(
|
3858 |
-
|
3859 |
-
|
3860 |
-
|
3861 |
-
|
3862 |
-
|
3863 |
-
|
3864 |
-
|
3865 |
-
|
3866 |
-
|
3867 |
-
|
3868 |
-
|
3869 |
-
|
3870 |
-
|
3871 |
-
|
3872 |
-
|
3873 |
-
|
3874 |
-
|
3875 |
-
|
3876 |
}
|
3877 |
-
add_filter(
|
3878 |
//приводим заголовки записей в соответствие с требованиями яндекса end
|
3879 |
|
3880 |
//функция обрезки текста по словам begin
|
3881 |
-
function yturbo_cut_by_words(
|
3882 |
-
|
3883 |
-
|
3884 |
-
|
3885 |
-
|
3886 |
}
|
3887 |
//функция обрезки текста по словам end
|
3888 |
|
3889 |
//функция установки не пустого заголовка begin
|
3890 |
-
function yturbo_empty_title(
|
3891 |
-
|
3892 |
|
3893 |
-
|
3894 |
-
|
3895 |
-
|
3896 |
|
3897 |
-
|
3898 |
}
|
3899 |
//функция установки не пустого заголовка end
|
3900 |
|
3901 |
//добавляем плагины в визуальный редактор begin
|
3902 |
-
function yturbo_add_plugins_tinymce(
|
3903 |
-
|
3904 |
-
|
3905 |
-
|
3906 |
-
|
3907 |
-
|
3908 |
}
|
3909 |
-
add_filter(
|
3910 |
//добавляем плагины в визуальный редактор end
|
3911 |
|
3912 |
//замена протокола в ссылках при отключении турбо-страниц begin
|
3913 |
-
function yturbo_filter_permalink_rss(
|
3914 |
-
|
3915 |
|
3916 |
-
|
3917 |
-
|
3918 |
|
3919 |
-
|
3920 |
-
|
3921 |
|
3922 |
-
|
3923 |
-
|
3924 |
|
3925 |
-
|
3926 |
-
|
3927 |
-
|
3928 |
|
3929 |
-
|
3930 |
-
|
3931 |
-
|
3932 |
|
3933 |
-
|
3934 |
}
|
3935 |
-
add_filter(
|
3936 |
//замена протокола в ссылках при отключении турбо-страниц end
|
3937 |
|
3938 |
//добавляем колонку "Турбо" в админке на странице списка записей begin
|
3939 |
-
function yturbo_add_column_name(
|
3940 |
-
|
3941 |
-
|
3942 |
-
|
3943 |
}
|
3944 |
function yturbo_css_for_column_yturbo() {
|
3945 |
-
|
3946 |
}
|
3947 |
-
function yturbo_add_column_content(
|
3948 |
-
|
3949 |
-
|
3950 |
-
|
3951 |
-
|
3952 |
-
|
3953 |
-
|
3954 |
-
|
3955 |
-
|
3956 |
-
|
3957 |
-
|
3958 |
-
|
3959 |
-
|
3960 |
-
|
3961 |
-
|
3962 |
-
|
3963 |
-
|
3964 |
-
|
3965 |
-
|
3966 |
-
|
3967 |
-
|
3968 |
-
|
3969 |
-
|
3970 |
-
|
3971 |
-
|
3972 |
-
|
3973 |
-
|
3974 |
-
|
3975 |
-
|
3976 |
-
|
3977 |
-
|
3978 |
-
|
3979 |
-
|
3980 |
-
|
3981 |
-
|
3982 |
-
|
3983 |
-
|
3984 |
-
|
3985 |
-
|
3986 |
-
|
3987 |
-
|
3988 |
-
|
3989 |
-
|
3990 |
-
|
3991 |
-
|
3992 |
-
|
3993 |
-
|
3994 |
-
|
3995 |
-
|
3996 |
-
|
3997 |
-
|
3998 |
-
|
3999 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4000 |
}
|
4001 |
function yturbo_add_columns() {
|
4002 |
-
|
4003 |
|
4004 |
-
|
4005 |
-
|
4006 |
|
4007 |
-
|
4008 |
-
|
4009 |
|
4010 |
-
|
4011 |
-
|
4012 |
-
|
4013 |
-
|
4014 |
-
|
4015 |
|
4016 |
-
|
4017 |
-
|
4018 |
-
|
4019 |
-
|
4020 |
|
4021 |
-
|
4022 |
}
|
4023 |
-
add_action(
|
4024 |
//добавляем колонку "Турбо" в админке на странице списка записей end
|
4025 |
|
4026 |
//шорткод вывода ссылки на запись begin
|
4027 |
-
function yt_permalink_func(
|
4028 |
-
|
4029 |
}
|
4030 |
-
add_shortcode(
|
4031 |
//шорткод вывода ссылки на запись end
|
4032 |
|
4033 |
//шорткод вывода заголовка записи begin
|
4034 |
-
function yt_title_func(
|
4035 |
-
|
4036 |
}
|
4037 |
-
add_shortcode(
|
4038 |
//шорткод вывода заголовка записи end
|
4039 |
|
4040 |
//функция проверки наличия плагина "WPCase: Turbo Ads" begin
|
4041 |
function yturbo_check_ads() {
|
4042 |
-
|
4043 |
-
|
4044 |
-
|
4045 |
-
|
4046 |
-
|
4047 |
-
|
4048 |
}
|
4049 |
//функция проверки наличия плагина "WPCase: Turbo Ads" end
|
4050 |
|
4051 |
//скрываем произвольные поля плагина begin
|
4052 |
-
function yturbo_hide_custom_fields(
|
4053 |
-
|
4054 |
-
|
4055 |
-
|
4056 |
-
|
4057 |
-
|
4058 |
-
|
4059 |
-
|
4060 |
-
|
4061 |
-
|
4062 |
-
|
4063 |
-
|
4064 |
-
|
4065 |
-
|
4066 |
-
|
4067 |
-
|
4068 |
-
|
|
|
4069 |
}
|
4070 |
-
add_filter(
|
4071 |
//скрываем произвольные поля плагина end
|
4072 |
|
4073 |
//функция определения доступных для удаления тегов begin
|
4074 |
function yturbo_tags_list() {
|
4075 |
|
4076 |
-
|
4077 |
-
|
4078 |
|
4079 |
-
|
4080 |
}
|
4081 |
//функция определения доступных для удаления тегов end
|
4082 |
|
@@ -4087,141 +4124,136 @@ $yturbo_options = get_option('yturbo_options');
|
|
4087 |
header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
|
4088 |
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EOL;
|
4089 |
?>
|
4090 |
-
<rss
|
4091 |
-
xmlns:yandex="http://news.yandex.ru"
|
4092 |
-
xmlns:media="http://search.yahoo.com/mrss/"
|
4093 |
-
xmlns:turbo="http://turbo.yandex.ru"
|
4094 |
-
version="2.0">
|
4095 |
<channel>
|
4096 |
-
|
4097 |
-
|
4098 |
-
|
4099 |
-
|
4100 |
-
|
4101 |
-
|
4102 |
-
|
4103 |
-
|
4104 |
-
|
4105 |
-
|
4106 |
-
|
4107 |
-
|
4108 |
-
|
4109 |
-
|
4110 |
-
|
4111 |
-
|
4112 |
-
|
4113 |
-
|
4114 |
-
|
4115 |
-
|
4116 |
-
|
4117 |
</channel>
|
4118 |
</rss>
|
4119 |
<?php }
|
4120 |
//функция вывода мусорной ленты end
|
4121 |
|
4122 |
//функция отслеживания урлов удаляемых записей begin
|
4123 |
-
function yturbo_trash_tracking(
|
4124 |
|
4125 |
-
|
4126 |
|
4127 |
-
|
4128 |
-
|
4129 |
|
4130 |
-
|
4131 |
-
|
4132 |
|
4133 |
-
|
4134 |
-
|
4135 |
|
4136 |
-
|
4137 |
-
|
4138 |
|
4139 |
-
|
4140 |
-
|
4141 |
-
|
4142 |
-
|
4143 |
|
4144 |
-
|
4145 |
}
|
4146 |
-
add_action(
|
4147 |
//функция отслеживания урлов удаляемых записей end
|
4148 |
|
4149 |
//функция отслеживания урлов восстанавливаемых записей begin
|
4150 |
-
function yturbo_untrash_tracking(
|
4151 |
|
4152 |
-
|
4153 |
|
4154 |
-
|
4155 |
-
|
4156 |
|
4157 |
-
|
4158 |
-
|
4159 |
|
4160 |
-
|
4161 |
-
|
4162 |
|
4163 |
-
|
4164 |
-
|
4165 |
|
4166 |
-
|
4167 |
-
|
4168 |
-
|
4169 |
-
|
4170 |
|
4171 |
-
|
4172 |
}
|
4173 |
-
add_action(
|
4174 |
//функция отслеживания урлов восстанавливаемых записей end
|
4175 |
|
4176 |
//регистрируем ajax-функцию вывода терминов таксономий begin
|
4177 |
function yturbo_ajax_register() {
|
4178 |
-
|
4179 |
-
|
4180 |
-
|
4181 |
}
|
4182 |
-
add_action(
|
4183 |
//регистрируем ajax-функцию вывода терминов таксономий end
|
4184 |
|
4185 |
//ajax-функция вывода терминов таксономий (вывод только не выбранных) begin
|
4186 |
function yturbo_ajax_display_exclude_terms() {
|
4187 |
-
|
4188 |
-
|
4189 |
-
|
4190 |
-
|
4191 |
-
|
4192 |
-
|
4193 |
-
|
4194 |
-
|
4195 |
-
|
4196 |
-
|
4197 |
-
|
4198 |
-
|
4199 |
-
|
4200 |
-
|
4201 |
-
|
4202 |
-
|
4203 |
-
|
4204 |
-
|
4205 |
-
|
4206 |
-
|
4207 |
-
|
4208 |
-
|
4209 |
-
|
4210 |
-
|
4211 |
-
|
4212 |
-
|
4213 |
-
|
4214 |
-
|
4215 |
-
|
4216 |
-
|
4217 |
-
|
4218 |
-
|
4219 |
-
|
4220 |
-
|
4221 |
-
|
4222 |
-
|
4223 |
-
|
4224 |
-
|
4225 |
}
|
4226 |
//ajax-функция вывода терминов таксономий (вывод только не выбранных) end
|
4227 |
-
|
3 |
Plugin Name: RSS for Yandex Turbo
|
4 |
Plugin URI: https://wordpress.org/plugins/rss-for-yandex-turbo/
|
5 |
Description: Создание RSS-ленты для сервиса Яндекс.Турбо.
|
6 |
+
Version: 1.32
|
7 |
Author: Flector
|
8 |
Author URI: https://profiles.wordpress.org/flector#content-plugins
|
9 |
Text Domain: rss-for-yandex-turbo
|
13 |
require_once plugin_dir_path( __FILE__ ) . 'inc/AdminNotice.php';
|
14 |
use \YTurboAdminNotices\AdminNotice;
|
15 |
function yturbo_add_notice_ads() {
|
16 |
+
AdminNotice::create('yturbo-ads1')
|
17 |
+
->requiredCap('administrator')
|
18 |
+
->persistentlyDismissible(AdminNotice::DISMISS_PER_USER)
|
19 |
+
->success()
|
20 |
+
->rawHtml(__('<p>Для плагина <strong>RSS for Yandex Turbo</strong> появилось премиум-дополнение <strong><a target="_blank" href="https://wpcase.ru/wpcase-turbo-ads/">WPCase: Turbo Ads</a></strong>, которое позволит <br />вам добавить на турбо-страницы неограниченное количество рекламных блоков в нужных вам местах.</p>', 'rss-for-yandex-turbo'))
|
21 |
+
->show();
|
22 |
}
|
23 |
+
//add_action('admin_notices', 'yturbo_add_notice_ads');
|
24 |
//вывод admin notice с рекламкой (для админов) end
|
25 |
|
26 |
//проверка версии плагина (запуск функции установки новых опций) begin
|
27 |
function yturbo_check_version() {
|
28 |
+
$yturbo_options = get_option('yturbo_options');
|
29 |
+
if (!isset($yturbo_options['version'])){$yturbo_options['version']='1.00';update_option('yturbo_options',$yturbo_options);}
|
30 |
+
if ( $yturbo_options['version'] != '1.32' ) {
|
31 |
+
yturbo_set_new_options();
|
32 |
+
}
|
33 |
}
|
34 |
+
add_action('plugins_loaded', 'yturbo_check_version');
|
35 |
//проверка версии плагина (запуск функции установки новых опций) end
|
36 |
|
37 |
//функция установки новых опций при обновлении плагина у пользователей begin
|
38 |
function yturbo_set_new_options() {
|
39 |
+
$yturbo_options = get_option('yturbo_options');
|
40 |
+
|
41 |
+
//если нет опции при обновлении плагина - записываем ее
|
42 |
+
//if (!isset($yturbo_options['new_option'])) {$yturbo_options['new_option']='value';}
|
43 |
+
|
44 |
+
//если необходимо переписать уже записанную опцию при обновлении плагина
|
45 |
+
//$yturbo_options['old_option'] = 'new_value';
|
46 |
+
|
47 |
+
if (!isset($yturbo_options['ytrssname'])) {$yturbo_options['ytrssname']='turbo';}
|
48 |
+
if (!isset($yturbo_options['ytrelated'])) {$yturbo_options['ytrelated']='disabled';}
|
49 |
+
if (!isset($yturbo_options['ytrelatednumber'])) {$yturbo_options['ytrelatednumber']='5';}
|
50 |
+
if (!isset($yturbo_options['ytrelatedselectthumb'])) {$yturbo_options['ytrelatedselectthumb']='medium';}
|
51 |
+
if (!isset($yturbo_options['ytrelatedcache'])) {$yturbo_options['ytrelatedcache']='enabled';}
|
52 |
+
if (!isset($yturbo_options['ytrelatedcachetime'])) {$yturbo_options['ytrelatedcachetime']='72';}
|
53 |
+
if (!isset($yturbo_options['ytrelatedinfinity'])) {$yturbo_options['ytrelatedinfinity']='disabled';}
|
54 |
+
if (!isset($yturbo_options['ytad3'])) {$yturbo_options['ytad3']='disabled';}
|
55 |
+
if (!isset($yturbo_options['ytad3set'])) {$yturbo_options['ytad3set']='РСЯ';}
|
56 |
+
if (!isset($yturbo_options['ytad3rsa'])) {$yturbo_options['ytad3rsa']='';}
|
57 |
+
if (!isset($yturbo_options['ytadfox1'])) {$yturbo_options['ytadfox1']='';}
|
58 |
+
if (!isset($yturbo_options['ytadfox2'])) {$yturbo_options['ytadfox2']='';}
|
59 |
+
if (!isset($yturbo_options['ytadfox3'])) {$yturbo_options['ytadfox3']='';}
|
60 |
+
if (!isset($yturbo_options['ytrazmer'])) {$yturbo_options['ytrazmer']='500';}
|
61 |
+
if (!isset($yturbo_options['ytremoveturbo'])) {$yturbo_options['ytremoveturbo']='disabled';}
|
62 |
+
if (!isset($yturbo_options['ytauthorselect'])) {$yturbo_options['ytauthorselect']='Указать автора';}
|
63 |
+
if (!isset($yturbo_options['ytliveinternet'])) {$yturbo_options['ytliveinternet']='';}
|
64 |
+
if (!isset($yturbo_options['ytgoogle'])) {$yturbo_options['ytgoogle']='';}
|
65 |
+
if (!isset($yturbo_options['ytmailru'])) {$yturbo_options['ytmailru']='';}
|
66 |
+
if (!isset($yturbo_options['ytrambler'])) {$yturbo_options['ytrambler']='';}
|
67 |
+
if (!isset($yturbo_options['ytmediascope'])) {$yturbo_options['ytmediascope']='';}
|
68 |
+
if (!isset($yturbo_options['ytqueryselect'])) {$yturbo_options['ytqueryselect']='Все таксономии, кроме исключенных';}
|
69 |
+
if (!isset($yturbo_options['yttaxlist'])) {$yturbo_options['yttaxlist']='';}
|
70 |
+
if (!isset($yturbo_options['ytaddtaxlist'])) {$yturbo_options['ytaddtaxlist']='';}
|
71 |
+
if (!isset($yturbo_options['ytselectmenu'])) {$yturbo_options['ytselectmenu']='Не использовать';}
|
72 |
+
if (!isset($yturbo_options['ytshare'])) {$yturbo_options['ytshare']='disabled';}
|
73 |
+
if (!isset($yturbo_options['ytnetw'])) {$yturbo_options['ytnetw']='vkontakte,facebook,twitter,odnoklassniki,telegram,';}
|
74 |
+
if (!isset($yturbo_options['ytcomments'])) {$yturbo_options['ytcomments']='disabled';}
|
75 |
+
if (!isset($yturbo_options['ytcommentsavatar'])) {$yturbo_options['ytcommentsavatar']='disabled';}
|
76 |
+
if (!isset($yturbo_options['ytcommentsnumber'])) {$yturbo_options['ytcommentsnumber']='40';}
|
77 |
+
if (!isset($yturbo_options['ytcommentsorder'])) {$yturbo_options['ytcommentsorder']='В начале старые комментарии';}
|
78 |
+
if (!isset($yturbo_options['ytcommentsdate'])) {$yturbo_options['ytcommentsdate']='enabled';}
|
79 |
+
if (!isset($yturbo_options['ytcommentsdrevo'])) {$yturbo_options['ytcommentsdrevo']='enabled';}
|
80 |
+
if (!isset($yturbo_options['ytpostdate'])) {$yturbo_options['ytpostdate']='enabled';}
|
81 |
+
if (!isset($yturbo_options['ytexcerpt'])) {$yturbo_options['ytexcerpt']='disabled';}
|
82 |
+
if (!isset($yturbo_options['ytad4'])) {$yturbo_options['ytad4']='disabled';}
|
83 |
+
if (!isset($yturbo_options['ytad4set'])) {$yturbo_options['ytad4set']='РСЯ';}
|
84 |
+
if (!isset($yturbo_options['ytad4rsa'])) {$yturbo_options['ytad4rsa']='';}
|
85 |
+
if (!isset($yturbo_options['ytadfox4'])) {$yturbo_options['ytadfox4']='';}
|
86 |
+
if (!isset($yturbo_options['ytad5'])) {$yturbo_options['ytad5']='disabled';}
|
87 |
+
if (!isset($yturbo_options['ytad5set'])) {$yturbo_options['ytad5set']='РСЯ';}
|
88 |
+
if (!isset($yturbo_options['ytad5rsa'])) {$yturbo_options['ytad5rsa']='';}
|
89 |
+
if (!isset($yturbo_options['ytadfox5'])) {$yturbo_options['ytadfox5']='';}
|
90 |
+
if (!isset($yturbo_options['ytfeedback'])) {$yturbo_options['ytfeedback']='disabled';}
|
91 |
+
if (!isset($yturbo_options['ytfeedbackselect'])) {$yturbo_options['ytfeedbackselect']='right';}
|
92 |
+
if (!isset($yturbo_options['ytfeedbackselectmesto'])) {$yturbo_options['ytfeedbackselectmesto']='В конце записи';}
|
93 |
+
if (!isset($yturbo_options['ytfeedbacktitle'])) {$yturbo_options['ytfeedbacktitle']='Обратная связь';}
|
94 |
+
if (!isset($yturbo_options['ytfeedbacknetw'])) {$yturbo_options['ytfeedbacknetw']='call,mail,vkontakte,';}
|
95 |
+
if (!isset($yturbo_options['ytfeedbackcall'])) {$yturbo_options['ytfeedbackcall']='';}
|
96 |
+
if (!isset($yturbo_options['ytfeedbackcallback'])) {$yturbo_options['ytfeedbackcallback']='';}
|
97 |
+
if (!isset($yturbo_options['ytfeedbackcallback2'])) {$yturbo_options['ytfeedbackcallback2']='';}
|
98 |
+
if (!isset($yturbo_options['ytfeedbackcallback3'])) {$yturbo_options['ytfeedbackcallback3']='';}
|
99 |
+
if (!isset($yturbo_options['ytfeedbackmail'])) {$yturbo_options['ytfeedbackmail']='';}
|
100 |
+
if (!isset($yturbo_options['ytfeedbackvkontakte'])) {$yturbo_options['ytfeedbackvkontakte']='';}
|
101 |
+
if (!isset($yturbo_options['ytfeedbackodnoklassniki'])) {$yturbo_options['ytfeedbackodnoklassniki']='';}
|
102 |
+
if (!isset($yturbo_options['ytfeedbacktwitter'])) {$yturbo_options['ytfeedbacktwitter']='';}
|
103 |
+
if (!isset($yturbo_options['ytfeedbackfacebook'])) {$yturbo_options['ytfeedbackfacebook']='';}
|
104 |
+
if (!isset($yturbo_options['ytfeedbackviber'])) {$yturbo_options['ytfeedbackviber']='';}
|
105 |
+
if (!isset($yturbo_options['ytfeedbackwhatsapp'])) {$yturbo_options['ytfeedbackwhatsapp']='';}
|
106 |
+
if (!isset($yturbo_options['ytfeedbacktelegram'])) {$yturbo_options['ytfeedbacktelegram']='';}
|
107 |
+
if (!isset($yturbo_options['ytexcludeshortcodes'])) {$yturbo_options['ytexcludeshortcodes']='disabled';}
|
108 |
+
if (!isset($yturbo_options['ytexcludeshortcodeslist'])) {$yturbo_options['ytexcludeshortcodeslist']='contact-form-7,';}
|
109 |
+
if (!isset($yturbo_options['yttab'])) {$yturbo_options['yttab']='RSS-лента';}
|
110 |
+
if (!isset($yturbo_options['ytrating'])) {$yturbo_options['ytrating']='disabled';}
|
111 |
+
if (!isset($yturbo_options['ytratingmin'])) {$yturbo_options['ytratingmin']='4.70';}
|
112 |
+
if (!isset($yturbo_options['ytratingmax'])) {$yturbo_options['ytratingmax']='5.00';}
|
113 |
+
|
114 |
+
$yturbo_options['ytnetw'] = str_replace('google,', '', $yturbo_options['ytnetw']);
|
115 |
+
$yturbo_options['ytfeedbacknetw'] = str_replace('google,', '', $yturbo_options['ytfeedbacknetw']);
|
116 |
+
|
117 |
+
if (!isset($yturbo_options['ytsearch'])) {$yturbo_options['ytsearch']='disabled';}
|
118 |
+
if (!isset($yturbo_options['ytsearchplaceholder'])) {$yturbo_options['ytsearchplaceholder']='Поиск по сайту';}
|
119 |
+
if (!isset($yturbo_options['ytsearchmesto'])) {$yturbo_options['ytsearchmesto']='В конце записи';}
|
120 |
+
|
121 |
+
if (!isset($yturbo_options['yttoc'])) {$yturbo_options['yttoc']='disabled';}
|
122 |
+
if (!isset($yturbo_options['yttype2'])) {$yturbo_options['yttype2']='post';}
|
123 |
+
if (!isset($yturbo_options['yttoczag'])) {$yturbo_options['yttoczag']='Содержание';}
|
124 |
+
if (!isset($yturbo_options['yttocmesto'])) {$yturbo_options['yttocmesto']='В начале записи';}
|
125 |
+
if (!isset($yturbo_options['yttocnumber'])) {$yturbo_options['yttocnumber']='2';}
|
126 |
+
if (!isset($yturbo_options['yttoch1'])) {$yturbo_options['yttoch1']='disabled';}
|
127 |
+
if (!isset($yturbo_options['yttoch2'])) {$yturbo_options['yttoch2']='enabled';}
|
128 |
+
if (!isset($yturbo_options['yttoch3'])) {$yturbo_options['yttoch3']='enabled';}
|
129 |
+
if (!isset($yturbo_options['yttoch4'])) {$yturbo_options['yttoch4']='disabled';}
|
130 |
+
if (!isset($yturbo_options['yttoch5'])) {$yturbo_options['yttoch5']='disabled';}
|
131 |
+
if (!isset($yturbo_options['yttoch6'])) {$yturbo_options['yttoch6']='disabled';}
|
132 |
+
if (!isset($yturbo_options['yttocexclude'])) {$yturbo_options['yttocexclude']='';}
|
133 |
+
|
134 |
+
if (!isset($yturbo_options['ytprotokol'])) {$yturbo_options['ytprotokol']='asis';}
|
135 |
+
if (!isset($yturbo_options['ytdateformat'])) {$yturbo_options['ytdateformat']='create';}
|
136 |
+
if (!isset($yturbo_options['ytturbocolumn'])) {$yturbo_options['ytturbocolumn']='enabled';}
|
137 |
+
|
138 |
+
$yturbo_options['ytfigcaption'] = 'Использовать подписи';
|
139 |
+
|
140 |
+
if (!isset($yturbo_options['ytrelateddate'])) {$yturbo_options['ytrelateddate']='12';}
|
141 |
+
|
142 |
+
$yturbo_options['yttitle'] = esc_html(yturbo_remove_emoji(strip_tags($yturbo_options['yttitle'])));
|
143 |
+
$yturbo_options['ytdescription'] = esc_html(yturbo_remove_emoji(strip_tags($yturbo_options['ytdescription'])));
|
144 |
+
if (!isset($yturbo_options['required'])) {$yturbo_options['required']='1.00';}
|
145 |
+
|
146 |
+
// новый формат хранения удаляемых тегов begin
|
147 |
+
$yturbo_options['ytexcludetagslist'] = preg_replace('/[^A-Za-z0-9,]/', '', html_entity_decode($yturbo_options['ytexcludetagslist']));
|
148 |
+
$yturbo_options['ytexcludetagslist'] = mb_strtolower($yturbo_options['ytexcludetagslist']);
|
149 |
+
$a = explode(",", $yturbo_options['ytexcludetagslist'] );
|
150 |
+
$a = array_diff($a, array(''));
|
151 |
+
$yturbo_options['ytexcludetagslist'] = implode(",", $a );
|
152 |
+
// новый формат хранения удаляемых тегов end
|
153 |
+
|
154 |
+
// новый формат хранения удаляемых тегов begin
|
155 |
+
$yturbo_options['ytexcludetagslist2'] = preg_replace('/[^A-Za-z0-9,]/', '', html_entity_decode($yturbo_options['ytexcludetagslist2']));
|
156 |
+
$yturbo_options['ytexcludetagslist2'] = mb_strtolower($yturbo_options['ytexcludetagslist2']);
|
157 |
+
$a = explode(",", $yturbo_options['ytexcludetagslist2'] );
|
158 |
+
$a = array_diff($a, array(''));
|
159 |
+
$yturbo_options['ytexcludetagslist2'] = implode(",", $a );
|
160 |
+
// новый формат хранения удаляемых тегов end
|
161 |
+
|
162 |
+
if (!isset($yturbo_options['ytexcludeurls'])) {$yturbo_options['ytexcludeurls']='disabled';}
|
163 |
+
if (!isset($yturbo_options['ytexcludeurlslist'])) {$yturbo_options['ytexcludeurlslist']='';}
|
164 |
+
if (!isset($yturbo_options['ytdeltracking'])) {$yturbo_options['ytdeltracking']='disabled';}
|
165 |
+
|
166 |
+
//запихиваем в $spisok только таксономии выбранного режима
|
167 |
+
if ( $yturbo_options['ytqueryselect'] == 'Все таксономии, кроме исключенных' ) {
|
168 |
+
$spisok = $yturbo_options['yttaxlist'];
|
169 |
+
} else {
|
170 |
+
$spisok = $yturbo_options['ytaddtaxlist'];
|
171 |
+
}
|
172 |
+
|
173 |
+
//разбираем список и создаем нужные опции begin
|
174 |
+
if ( $spisok ) {
|
175 |
+
$textAr = explode("\n", trim($spisok));
|
176 |
+
$textAr = array_filter($textAr, 'trim');
|
177 |
+
foreach ($textAr as $line) {
|
178 |
+
$tax = explode(":", $line);
|
179 |
+
if ( ! isset($yturbo_options['exclude-'.$tax[0]]) ) {
|
180 |
+
$yturbo_options['exclude-'.$tax[0]] = $tax[0].':'.$tax[1];
|
181 |
+
}
|
182 |
+
}
|
183 |
+
}
|
184 |
+
//разбираем список и создаем нужные опции end
|
185 |
+
|
186 |
+
if (!isset($yturbo_options['ytextendedhtml'])) {$yturbo_options['ytextendedhtml']='disabled';}
|
187 |
+
|
188 |
+
$yturbo_options['version'] = '1.32';
|
189 |
+
update_option('yturbo_options', $yturbo_options);
|
190 |
}
|
191 |
//функция установки новых опций при обновлении плагина у пользователей end
|
192 |
|
193 |
//функция установки значений по умолчанию при активации плагина begin
|
194 |
function yturbo_init() {
|
195 |
+
$yturbo_options = array();
|
196 |
+
$yturbo_options['version'] = '1.32';
|
197 |
+
$yturbo_options['ytrssname'] = 'turbo';
|
198 |
+
$yturbo_options['yttitle'] = esc_html(yturbo_remove_emoji(strip_tags(get_bloginfo_rss('title'))));
|
199 |
+
$yturbo_options['ytlink'] = get_bloginfo_rss('url');
|
200 |
+
$yturbo_options['ytdescription'] = esc_html(yturbo_remove_emoji(strip_tags(get_bloginfo_rss('description'))));
|
201 |
+
$yturbo_options['ytlanguage'] = 'ru';
|
202 |
+
$yturbo_options['ytnumber'] = '250';
|
203 |
+
$yturbo_options['yttype'] = 'post';
|
204 |
+
$yturbo_options['ytrazb'] = 'enabled';
|
205 |
+
$yturbo_options['ytrazbnumber'] = '50';
|
206 |
+
$yturbo_options['ytfigcaption'] = 'Использовать подписи';
|
207 |
+
$yturbo_options['ytauthorselect'] = 'Отключить указание автора';
|
208 |
+
$yturbo_options['ytauthor'] = '';
|
209 |
+
$yturbo_options['ytthumbnail'] = 'enabled';
|
210 |
+
$yturbo_options['ytselectthumb'] = 'large';
|
211 |
+
$yturbo_options['ytexcludetags'] = 'enabled';
|
212 |
+
$yturbo_options['ytexcludetagslist'] = 'span';
|
213 |
+
$yturbo_options['ytexcludetags2'] = 'enabled';
|
214 |
+
$yturbo_options['ytexcludetagslist2'] = 'script,style';
|
215 |
+
$yturbo_options['ytexcludecontent'] = 'disabled';
|
216 |
+
$yturbo_options['ytexcludecontentlist'] = esc_textarea('<!--more-->\n<p></p>\n<p> </p>');
|
217 |
+
|
218 |
+
$yturbo_options['ytad1'] = 'disabled';
|
219 |
+
$yturbo_options['ytad1set'] = 'РСЯ';
|
220 |
+
$yturbo_options['ytad1rsa'] = '';
|
221 |
+
$yturbo_options['ytadfox1'] = '';
|
222 |
+
|
223 |
+
$yturbo_options['ytad2'] = 'disabled';
|
224 |
+
$yturbo_options['ytad2set'] = 'РСЯ';
|
225 |
+
$yturbo_options['ytad2rsa'] = '';
|
226 |
+
$yturbo_options['ytadfox2'] = '';
|
227 |
+
|
228 |
+
$yturbo_options['ytad3'] = 'disabled';
|
229 |
+
$yturbo_options['ytad3set'] = 'РСЯ';
|
230 |
+
$yturbo_options['ytad3rsa'] = '';
|
231 |
+
$yturbo_options['ytadfox3'] = '';
|
232 |
+
|
233 |
+
$yturbo_options['ytad4'] = 'disabled';
|
234 |
+
$yturbo_options['ytad4set'] = 'РСЯ';
|
235 |
+
$yturbo_options['ytad4rsa'] = '';
|
236 |
+
$yturbo_options['ytadfox4'] = '';
|
237 |
+
|
238 |
+
$yturbo_options['ytad5'] = 'disabled';
|
239 |
+
$yturbo_options['ytad5set'] = 'РСЯ';
|
240 |
+
$yturbo_options['ytad5rsa'] = '';
|
241 |
+
$yturbo_options['ytadfox5'] = '';
|
242 |
+
|
243 |
+
$yturbo_options['ytrelated'] = 'enabled';
|
244 |
+
$yturbo_options['ytrelatednumber'] = '5';
|
245 |
+
$yturbo_options['ytrelatedselectthumb'] = 'thumbnail';
|
246 |
+
$yturbo_options['ytrelatedcache'] = 'enabled';
|
247 |
+
$yturbo_options['ytrelatedcachetime'] = '72';
|
248 |
+
$yturbo_options['ytrelatedinfinity'] = 'disabled';
|
249 |
+
|
250 |
+
$yturbo_options['ytrazmer'] = '500';
|
251 |
+
$yturbo_options['ytremoveturbo'] = 'disabled';
|
252 |
+
|
253 |
+
$yturbo_options['ytmetrika'] = '';
|
254 |
+
$yturbo_options['ytliveinternet'] = '';
|
255 |
+
$yturbo_options['ytgoogle'] = '';
|
256 |
+
$yturbo_options['ytmailru'] = '';
|
257 |
+
$yturbo_options['ytrambler'] = '';
|
258 |
+
$yturbo_options['ytmediascope'] = '';
|
259 |
+
|
260 |
+
$yturbo_options['ytqueryselect'] = 'Все таксономии, кроме исключенных';
|
261 |
+
$yturbo_options['yttaxlist'] = '';
|
262 |
+
$yturbo_options['ytaddtaxlist'] = '';
|
263 |
+
|
264 |
+
$yturbo_options['ytselectmenu'] = 'Не использовать';
|
265 |
+
$yturbo_options['ytshare'] = 'disabled';
|
266 |
+
$yturbo_options['ytnetw'] = 'vkontakte,facebook,twitter,odnoklassniki,telegram,';
|
267 |
+
$yturbo_options['ytcomments'] = 'disabled';
|
268 |
+
$yturbo_options['ytcommentsavatar'] = 'disabled';
|
269 |
+
$yturbo_options['ytcommentsnumber'] = '40';
|
270 |
+
$yturbo_options['ytcommentsorder'] = 'В начале старые комментарии';
|
271 |
+
$yturbo_options['ytcommentsdate'] = 'enabled';
|
272 |
+
$yturbo_options['ytcommentsdrevo'] = 'enabled';
|
273 |
+
$yturbo_options['ytpostdate'] = 'disabled';
|
274 |
+
$yturbo_options['ytexcerpt'] = 'disabled';
|
275 |
+
|
276 |
+
$yturbo_options['ytfeedback'] = 'disabled';
|
277 |
+
$yturbo_options['ytfeedbackselect'] = 'right';
|
278 |
+
$yturbo_options['ytfeedbackselectmesto'] = 'В конце записи';
|
279 |
+
$yturbo_options['ytfeedbacktitle'] = 'Обратная связь';
|
280 |
+
$yturbo_options['ytfeedbacknetw'] = 'call,mail,vkontakte,';
|
281 |
+
|
282 |
+
$yturbo_options['ytfeedbackcall'] = '';
|
283 |
+
$yturbo_options['ytfeedbackcallback'] = '';
|
284 |
+
$yturbo_options['ytfeedbackcallback2'] = '';
|
285 |
+
$yturbo_options['ytfeedbackcallback3'] = '';
|
286 |
+
$yturbo_options['ytfeedbackmail'] = '';
|
287 |
+
$yturbo_options['ytfeedbackvkontakte'] = '';
|
288 |
+
$yturbo_options['ytfeedbackodnoklassniki'] = '';
|
289 |
+
$yturbo_options['ytfeedbacktwitter'] = '';
|
290 |
+
$yturbo_options['ytfeedbackfacebook'] = '';
|
291 |
+
$yturbo_options['ytfeedbackviber'] = '';
|
292 |
+
$yturbo_options['ytfeedbackwhatsapp'] = '';
|
293 |
+
$yturbo_options['ytfeedbacktelegram'] = '';
|
294 |
+
|
295 |
+
$yturbo_options['ytexcludeshortcodes'] = 'disabled';
|
296 |
+
$yturbo_options['ytexcludeshortcodeslist'] = 'contact-form-7,';
|
297 |
+
$yturbo_options['yttab'] = 'RSS-лента';
|
298 |
+
|
299 |
+
$yturbo_options['ytrating'] = 'disabled';
|
300 |
+
$yturbo_options['ytratingmin'] = '4.70';
|
301 |
+
$yturbo_options['ytratingmax'] = '5.00';
|
302 |
+
|
303 |
+
$yturbo_options['ytsearch'] = 'disabled';
|
304 |
+
$yturbo_options['ytsearchplaceholder'] = 'Поиск по сайту';
|
305 |
+
$yturbo_options['ytsearchmesto'] = 'В конце записи';
|
306 |
+
|
307 |
+
$yturbo_options['yttoc'] = 'disabled';
|
308 |
+
$yturbo_options['yttype2'] = 'post';
|
309 |
+
$yturbo_options['yttoczag'] = 'Содержание';
|
310 |
+
$yturbo_options['yttocmesto'] = 'В начале записи';
|
311 |
+
$yturbo_options['yttocnumber'] = '2';
|
312 |
+
$yturbo_options['yttoch1'] = 'disabled';
|
313 |
+
$yturbo_options['yttoch2'] = 'enabled';
|
314 |
+
$yturbo_options['yttoch3'] = 'enabled';
|
315 |
+
$yturbo_options['yttoch4'] = 'disabled';
|
316 |
+
$yturbo_options['yttoch5'] = 'disabled';
|
317 |
+
$yturbo_options['yttoch6'] = 'disabled';
|
318 |
+
$yturbo_options['yttocexclude'] = '';
|
319 |
+
|
320 |
+
$yturbo_options['ytprotokol'] = 'asis';
|
321 |
+
$yturbo_options['ytdateformat'] = 'create';
|
322 |
+
$yturbo_options['ytturbocolumn'] = 'enabled';
|
323 |
+
$yturbo_options['ytrelateddate'] = '12';
|
324 |
+
|
325 |
+
$yturbo_options['ytexcludeurls'] = 'disabled';
|
326 |
+
$yturbo_options['ytexcludeurlslist'] = '';
|
327 |
+
$yturbo_options['ytdeltracking'] = 'disabled';
|
328 |
+
|
329 |
+
$yturbo_options['ytextendedhtml'] = 'disabled';
|
330 |
+
|
331 |
+
$yturbo_options['required']='1.00';
|
332 |
+
|
333 |
+
add_option('yturbo_options', $yturbo_options);
|
334 |
+
|
335 |
+
yturbo_add_feed();
|
336 |
+
global $wp_rewrite;
|
337 |
+
$wp_rewrite->flush_rules();
|
338 |
}
|
339 |
+
add_action('activate_rss-for-yandex-turbo/rss-for-yandex-turbo.php', 'yturbo_init');
|
340 |
//функция установки значений по умолчанию при активации плагина end
|
341 |
|
342 |
//функция при деактивации плагина begin
|
343 |
function yturbo_on_deactivation() {
|
344 |
+
if ( ! current_user_can('activate_plugins') ) return;
|
345 |
+
|
346 |
+
//удаляем ленту плагина при деактивации плагина и обновляем пермалинки begin
|
347 |
+
$yturbo_options = get_option('yturbo_options');
|
348 |
+
global $wp_rewrite;
|
349 |
+
if ( in_array($yturbo_options['ytrssname'], $wp_rewrite->feeds) ) {
|
350 |
+
unset($wp_rewrite->feeds[array_search($yturbo_options['ytrssname'], $wp_rewrite->feeds)]);
|
351 |
+
}
|
352 |
+
$wp_rewrite->flush_rules();
|
353 |
+
//удаляем ленту плагина при деактивации плагина и обновляем пермалинки end
|
354 |
}
|
355 |
+
register_deactivation_hook(__FILE__, 'yturbo_on_deactivation');
|
356 |
//функция при деактивации плагина end
|
357 |
|
358 |
//функция при удалении плагина begin
|
359 |
function yturbo_on_uninstall() {
|
360 |
+
if ( ! current_user_can('activate_plugins') ) return;
|
361 |
+
delete_option('yturbo_options');
|
362 |
+
AdminNotice::cleanUpDatabase('yturbo-');
|
363 |
}
|
364 |
+
register_uninstall_hook(__FILE__, 'yturbo_on_uninstall');
|
365 |
//функция при удалении плагина end
|
366 |
|
367 |
//загрузка файла локализации плагина begin
|
368 |
function yturbo_setup() {
|
369 |
+
load_plugin_textdomain('rss-for-yandex-turbo');
|
370 |
}
|
371 |
+
add_action('init', 'yturbo_setup');
|
372 |
//загрузка файла локализации плагина end
|
373 |
|
374 |
//добавление ссылки "Настройки" на странице со списком плагинов begin
|
375 |
+
function yturbo_actions($links) {
|
376 |
+
return array_merge(array('settings' => '<a href="options-general.php?page=rss-for-yandex-turbo.php">' . __('Настройки', 'rss-for-yandex-turbo') . '</a>'), $links);
|
377 |
}
|
378 |
+
add_filter('plugin_action_links_' . plugin_basename( __FILE__ ), 'yturbo_actions');
|
379 |
//добавление ссылки "Настройки" на странице со списком плагинов end
|
380 |
|
381 |
//функция загрузки скриптов и стилей плагина только в админке и только на странице настроек плагина begin
|
382 |
+
function yturbo_files_admin($hook_suffix) {
|
383 |
+
$purl = plugins_url('', __FILE__);
|
384 |
+
$yturbo_options = get_option('yturbo_options');
|
385 |
+
if ( $hook_suffix == 'settings_page_rss-for-yandex-turbo' ) {
|
386 |
+
wp_enqueue_script('jquery');
|
387 |
+
wp_enqueue_script('yturbo-tagify-js', $purl . '/inc/tagify.js', array(), $yturbo_options['version']);
|
388 |
+
wp_enqueue_style('yturbo-tagify-css', $purl . '/inc/tagify.css', array(), $yturbo_options['version']);
|
389 |
+
wp_enqueue_script('yturbo-script', $purl . '/inc/yturbo-script.js', array(), $yturbo_options['version']);
|
390 |
+
wp_enqueue_style('yturbo-css', $purl . '/inc/yturbo-css.css', array(), $yturbo_options['version']);
|
391 |
+
}
|
392 |
}
|
393 |
+
add_action('admin_enqueue_scripts', 'yturbo_files_admin');
|
394 |
//функция загрузки скриптов и стилей плагина только в админке и только на странице настроек плагина end
|
395 |
|
396 |
//функция вывода страницы настроек плагина begin
|
397 |
function yturbo_options_page() {
|
398 |
$purl = plugins_url('', __FILE__);
|
399 |
|
400 |
+
if ( isset($_POST['submit']) ) {
|
401 |
|
402 |
//проверка безопасности при сохранении настроек плагина begin
|
403 |
+
if ( ! wp_verify_nonce($_POST['yturbo_nonce'], plugin_basename(__FILE__)) || ! current_user_can('edit_posts') ) {
|
404 |
+
wp_die(__('Cheatin’ uh?', 'rss-for-yandex-turbo'));
|
405 |
}
|
406 |
//проверка безопасности при сохранении настроек плагина end
|
407 |
|
408 |
+
//проверяем и сохраняем введенные пользователем данные begin
|
409 |
+
$yturbo_options = get_option('yturbo_options');
|
410 |
+
|
411 |
+
if ( ! preg_match('/[^A-Za-z0-9]/', $_POST['ytrssname']) ) {
|
412 |
+
$yturbo_options['ytrssname'] = $_POST['ytrssname'];
|
413 |
+
update_option('yturbo_options', $yturbo_options);
|
414 |
+
yturbo_add_feed();
|
415 |
+
global $wp_rewrite;
|
416 |
+
$wp_rewrite->flush_rules();
|
417 |
+
}
|
418 |
+
|
419 |
+
$yturbo_options['yttitle'] = esc_html(yturbo_remove_emoji(strip_tags($_POST['yttitle'])));
|
420 |
+
$yturbo_options['ytlink'] = esc_url_raw($_POST['ytlink']);
|
421 |
+
$yturbo_options['ytdescription'] = esc_html(yturbo_remove_emoji(strip_tags($_POST['ytdescription'])));
|
422 |
+
$yturbo_options['ytlanguage'] = sanitize_text_field($_POST['ytlanguage']);
|
423 |
+
|
424 |
+
$ytnumber = sanitize_text_field($_POST['ytnumber']);
|
425 |
+
if ( is_numeric($ytnumber) ) {
|
426 |
+
$yturbo_options['ytnumber'] = sanitize_text_field($_POST['ytnumber']);
|
427 |
+
}
|
428 |
+
|
429 |
+
if(isset($_POST['ytrazb'])){$yturbo_options['ytrazb'] = sanitize_text_field($_POST['ytrazb']);}else{$yturbo_options['ytrazb'] = 'disabled';}
|
430 |
+
$ytrazbnumber = sanitize_text_field($_POST['ytrazbnumber']);
|
431 |
+
if ( is_numeric($ytrazbnumber) ) {
|
432 |
+
$yturbo_options['ytrazbnumber'] = sanitize_text_field($_POST['ytrazbnumber']);
|
433 |
+
}
|
434 |
+
|
435 |
+
$yturbo_options['yttype'] = '';
|
436 |
+
$checkboxes = isset($_POST['types']) ? $_POST['types'] : array();
|
437 |
+
foreach($checkboxes as $value) {$yturbo_options['yttype'] .= sanitize_text_field($value) . ',';}
|
438 |
+
$yturbo_options['yttype'] = sanitize_text_field($yturbo_options['yttype']);
|
439 |
+
|
440 |
+
$yturbo_options['ytfigcaption'] = sanitize_text_field($_POST['ytfigcaption']);
|
441 |
+
$yturbo_options['ytauthorselect'] = sanitize_text_field($_POST['ytauthorselect']);
|
442 |
+
$yturbo_options['ytauthor'] = sanitize_text_field($_POST['ytauthor']);
|
443 |
+
|
444 |
+
if(isset($_POST['ytthumbnail'])){$yturbo_options['ytthumbnail'] = sanitize_text_field($_POST['ytthumbnail']);}else{$yturbo_options['ytthumbnail'] = 'disabled';}
|
445 |
+
$yturbo_options['ytselectthumb'] = sanitize_text_field($_POST['ytselectthumb']);
|
446 |
+
|
447 |
+
if(isset($_POST['ytexcludetags'])){$yturbo_options['ytexcludetags'] = sanitize_text_field($_POST['ytexcludetags']);}else{$yturbo_options['ytexcludetags'] = 'disabled';}
|
448 |
+
$ytexcludetagslist = preg_replace('/[^A-Za-z0-9,]/', '', sanitize_text_field($_POST['ytexcludetagslist']));
|
449 |
+
$yturbo_options['ytexcludetagslist'] = $ytexcludetagslist;
|
450 |
+
|
451 |
+
if(isset($_POST['ytexcludetags2'])){$yturbo_options['ytexcludetags2'] = sanitize_text_field($_POST['ytexcludetags2']);}else{$yturbo_options['ytexcludetags2'] = 'disabled';}
|
452 |
+
$ytexcludetagslist2 = preg_replace('/[^A-Za-z0-9,]/', '', sanitize_text_field($_POST['ytexcludetagslist2']));
|
453 |
+
$yturbo_options['ytexcludetagslist2'] = $ytexcludetagslist2;
|
454 |
+
|
455 |
+
if(isset($_POST['ytexcludecontent'])){$yturbo_options['ytexcludecontent'] = sanitize_text_field($_POST['ytexcludecontent']);}else{$yturbo_options['ytexcludecontent'] = 'disabled';}
|
456 |
+
$lines = array_filter(explode("\n", trim(esc_textarea($_POST['ytexcludecontentlist']))));
|
457 |
+
$yturbo_options['ytexcludecontentlist'] = implode("\n", $lines);
|
458 |
+
|
459 |
+
if(isset($_POST['ytad1'])){$yturbo_options['ytad1'] = sanitize_text_field($_POST['ytad1']);}else{$yturbo_options['ytad1'] = 'disabled';}
|
460 |
+
$yturbo_options['ytad1set'] = sanitize_text_field($_POST['ytad1set']);
|
461 |
+
$yturbo_options['ytad1rsa'] = sanitize_text_field($_POST['ytad1rsa']);
|
462 |
+
$yturbo_options['ytadfox1'] = esc_html($_POST['ytadfox1']);
|
463 |
+
|
464 |
+
if ( isset($_POST['ytad1']) ) {
|
465 |
+
if ($yturbo_options['ytad1set'] == 'РСЯ' && !$yturbo_options['ytad1rsa']) {$yturbo_options['ytad1'] = 'disabled';}
|
466 |
+
if ($yturbo_options['ytad1set'] == 'ADFOX' && !$yturbo_options['ytadfox1']) {$yturbo_options['ytad1'] = 'disabled';}
|
467 |
+
}
|
468 |
+
|
469 |
+
if(isset($_POST['ytad2'])){$yturbo_options['ytad2'] = sanitize_text_field($_POST['ytad2']);}else{$yturbo_options['ytad2'] = 'disabled';}
|
470 |
+
$yturbo_options['ytad2set'] = sanitize_text_field($_POST['ytad2set']);
|
471 |
+
$yturbo_options['ytad2rsa'] = sanitize_text_field($_POST['ytad2rsa']);
|
472 |
+
$yturbo_options['ytadfox2'] = esc_html($_POST['ytadfox2']);
|
473 |
+
|
474 |
+
if ( isset($_POST['ytad2']) ) {
|
475 |
+
if ($yturbo_options['ytad2set'] == 'РСЯ' && !$yturbo_options['ytad2rsa']) {$yturbo_options['ytad2'] = 'disabled';}
|
476 |
+
if ($yturbo_options['ytad2set'] == 'ADFOX' && !$yturbo_options['ytadfox2']) {$yturbo_options['ytad2'] = 'disabled';}
|
477 |
+
}
|
478 |
+
|
479 |
+
if(isset($_POST['ytad3'])){$yturbo_options['ytad3'] = sanitize_text_field($_POST['ytad3']);}else{$yturbo_options['ytad3'] = 'disabled';}
|
480 |
+
$yturbo_options['ytad3set'] = sanitize_text_field($_POST['ytad3set']);
|
481 |
+
$yturbo_options['ytad3rsa'] = sanitize_text_field($_POST['ytad3rsa']);
|
482 |
+
$yturbo_options['ytadfox3'] = esc_html($_POST['ytadfox3']);
|
483 |
+
|
484 |
+
if ( isset($_POST['ytad3']) ) {
|
485 |
+
if ($yturbo_options['ytad3set'] == 'РСЯ' && !$yturbo_options['ytad3rsa']) {$yturbo_options['ytad3'] = 'disabled';}
|
486 |
+
if ($yturbo_options['ytad3set'] == 'ADFOX' && !$yturbo_options['ytadfox3']) {$yturbo_options['ytad3'] = 'disabled';}
|
487 |
+
}
|
488 |
+
|
489 |
+
if(isset($_POST['ytad4'])){$yturbo_options['ytad4'] = sanitize_text_field($_POST['ytad4']);}else{$yturbo_options['ytad4'] = 'disabled';}
|
490 |
+
$yturbo_options['ytad4set'] = sanitize_text_field($_POST['ytad4set']);
|
491 |
+
$yturbo_options['ytad4rsa'] = sanitize_text_field($_POST['ytad4rsa']);
|
492 |
+
$yturbo_options['ytadfox4'] = esc_html($_POST['ytadfox4']);
|
493 |
+
|
494 |
+
if ( isset($_POST['ytad4']) ) {
|
495 |
+
if ($yturbo_options['ytad4set'] == 'РСЯ' && !$yturbo_options['ytad4rsa']) {$yturbo_options['ytad4'] = 'disabled';}
|
496 |
+
if ($yturbo_options['ytad4set'] == 'ADFOX' && !$yturbo_options['ytadfox4']) {$yturbo_options['ytad4'] = 'disabled';}
|
497 |
+
}
|
498 |
+
|
499 |
+
if(isset($_POST['ytad5'])){$yturbo_options['ytad5'] = sanitize_text_field($_POST['ytad5']);}else{$yturbo_options['ytad5'] = 'disabled';}
|
500 |
+
$yturbo_options['ytad5set'] = sanitize_text_field($_POST['ytad5set']);
|
501 |
+
$yturbo_options['ytad5rsa'] = sanitize_text_field($_POST['ytad5rsa']);
|
502 |
+
$yturbo_options['ytadfox5'] = esc_html($_POST['ytadfox5']);
|
503 |
+
|
504 |
+
if ( isset($_POST['ytad5']) ) {
|
505 |
+
if ($yturbo_options['ytad5set'] == 'РСЯ' && !$yturbo_options['ytad5rsa']) {$yturbo_options['ytad5'] = 'disabled';}
|
506 |
+
if ($yturbo_options['ytad5set'] == 'ADFOX' && !$yturbo_options['ytadfox5']) {$yturbo_options['ytad5'] = 'disabled';}
|
507 |
+
}
|
508 |
+
if ( yturbo_check_ads() == true ) {
|
509 |
+
$yturbo_options['ytad1'] = 'disabled';
|
510 |
+
$yturbo_options['ytad2'] = 'disabled';
|
511 |
+
$yturbo_options['ytad3'] = 'disabled';
|
512 |
+
$yturbo_options['ytad4'] = 'disabled';
|
513 |
+
$yturbo_options['ytad5'] = 'disabled';
|
514 |
+
}
|
515 |
+
|
516 |
+
if(isset($_POST['ytrelated'])){$yturbo_options['ytrelated'] = sanitize_text_field($_POST['ytrelated']);}else{$yturbo_options['ytrelated'] = 'disabled';}
|
517 |
+
$ytrelatednumber = sanitize_text_field($_POST['ytrelatednumber']);
|
518 |
+
if ( is_numeric($ytrelatednumber ) && (int)$ytrelatednumber <= 30 ) {
|
519 |
+
$yturbo_options['ytrelatednumber'] = sanitize_text_field($_POST['ytrelatednumber']);
|
520 |
+
}
|
521 |
+
$yturbo_options['ytrelatedselectthumb'] = sanitize_text_field($_POST['ytrelatedselectthumb']);
|
522 |
+
if(isset($_POST['ytrelatedcache'])){$yturbo_options['ytrelatedcache'] = sanitize_text_field($_POST['ytrelatedcache']);}else{$yturbo_options['ytrelatedcache'] = 'disabled';}
|
523 |
+
$ytrelatedcachetime = sanitize_text_field($_POST['ytrelatedcachetime']);
|
524 |
+
if ( is_numeric($ytrelatedcachetime) ) {
|
525 |
+
$yturbo_options['ytrelatedcachetime'] = sanitize_text_field($_POST['ytrelatedcachetime']);
|
526 |
+
}
|
527 |
+
if(isset($_POST['ytrelatedinfinity'])){$yturbo_options['ytrelatedinfinity'] = sanitize_text_field($_POST['ytrelatedinfinity']);}else{$yturbo_options['ytrelatedinfinity'] = 'disabled';}
|
528 |
+
if($yturbo_options['ytrelatedinfinity']=='enabled'){$yturbo_options['ytrelatedselectthumb']='Не использовать';}
|
529 |
+
|
530 |
+
$ytrazmer = sanitize_text_field($_POST['ytrazmer']);
|
531 |
+
if ( is_numeric($ytrazmer) ) {
|
532 |
+
$yturbo_options['ytrazmer'] = sanitize_text_field($_POST['ytrazmer']);
|
533 |
+
}
|
534 |
+
|
535 |
+
if(isset($_POST['ytremoveturbo'])){$yturbo_options['ytremoveturbo'] = sanitize_text_field($_POST['ytremoveturbo']);}else{$yturbo_options['ytremoveturbo'] = 'disabled';}
|
536 |
+
|
537 |
+
$yturbo_options['ytmetrika'] = sanitize_text_field($_POST['ytmetrika']);
|
538 |
+
$yturbo_options['ytliveinternet'] = sanitize_text_field($_POST['ytliveinternet']);
|
539 |
+
$yturbo_options['ytgoogle'] = sanitize_text_field($_POST['ytgoogle']);
|
540 |
+
$yturbo_options['ytmailru'] = sanitize_text_field($_POST['ytmailru']);
|
541 |
+
$yturbo_options['ytrambler'] = sanitize_text_field($_POST['ytrambler']);
|
542 |
+
$yturbo_options['ytmediascope'] = sanitize_text_field($_POST['ytmediascope']);
|
543 |
+
|
544 |
+
$yturbo_options['ytqueryselect'] = sanitize_text_field($_POST['ytqueryselect']);
|
545 |
+
|
546 |
+
$term_exclude_list = '';
|
547 |
+
$taxonomies = get_taxonomies( array('public'=>true,'show_ui'=>true,), 'objects', 'and' );
|
548 |
+
foreach ($taxonomies as $taxonomy) {
|
549 |
+
$temp = $taxonomy->name . ':';
|
550 |
+
if ( isset($_POST['exclude-'.$taxonomy->name]) ) :
|
551 |
+
foreach ($_POST['exclude-'.$taxonomy->name] as $exclude) {
|
552 |
+
$exclude = sanitize_text_field($exclude);
|
553 |
+
if ( is_numeric($exclude) ) {
|
554 |
+
if ( ! next($_POST['exclude-'.$taxonomy->name]) ) {
|
555 |
+
$temp .= $exclude;
|
556 |
+
} else {
|
557 |
+
$temp .= $exclude . ',';
|
558 |
+
}
|
559 |
+
}
|
560 |
+
}
|
561 |
+
$yturbo_options['exclude-'.$taxonomy->name] = $temp;
|
562 |
+
if ( ! $term_exclude_list ) {
|
563 |
+
$term_exclude_list .= $temp;
|
564 |
+
} else {
|
565 |
+
$term_exclude_list .= PHP_EOL . $temp;
|
566 |
+
}
|
567 |
+
else :
|
568 |
+
$yturbo_options['exclude-'.$taxonomy->name] = '';
|
569 |
+
endif;
|
570 |
+
}
|
571 |
+
$yturbo_options['yttaxlist'] = $term_exclude_list;
|
572 |
+
$yturbo_options['ytaddtaxlist'] = $term_exclude_list;
|
573 |
+
|
574 |
+
$yturbo_options['ytselectmenu'] = sanitize_text_field($_POST['ytselectmenu']);
|
575 |
+
if(isset($_POST['ytshare'])){$yturbo_options['ytshare'] = sanitize_text_field($_POST['ytshare']);}else{$yturbo_options['ytshare'] = 'disabled';}
|
576 |
+
$yturbo_options['ytnetw'] = sanitize_text_field($_POST['ytnetwspan']);
|
577 |
+
if(isset($_POST['ytcomments'])){$yturbo_options['ytcomments'] = sanitize_text_field($_POST['ytcomments']);}else{$yturbo_options['ytcomments'] = 'disabled';}
|
578 |
+
if(isset($_POST['ytcommentsavatar'])){$yturbo_options['ytcommentsavatar'] = sanitize_text_field($_POST['ytcommentsavatar']);}else{$yturbo_options['ytcommentsavatar'] = 'disabled';}
|
579 |
+
$ytcommentsnumber = sanitize_text_field($_POST['ytcommentsnumber']);
|
580 |
+
if ( is_numeric($ytcommentsnumber) && (int)$ytcommentsnumber <= 40 ) {
|
581 |
+
$yturbo_options['ytcommentsnumber'] = sanitize_text_field($_POST['ytcommentsnumber']);
|
582 |
+
}
|
583 |
+
$yturbo_options['ytcommentsorder'] = sanitize_text_field($_POST['ytcommentsorder']);
|
584 |
+
if(isset($_POST['ytcommentsdate'])){$yturbo_options['ytcommentsdate'] = sanitize_text_field($_POST['ytcommentsdate']);}else{$yturbo_options['ytcommentsdate'] = 'disabled';}
|
585 |
+
if(isset($_POST['ytcommentsdrevo'])){$yturbo_options['ytcommentsdrevo'] = sanitize_text_field($_POST['ytcommentsdrevo']);}else{$yturbo_options['ytcommentsdrevo'] = 'disabled';}
|
586 |
+
if(isset($_POST['ytpostdate'])){$yturbo_options['ytpostdate'] = sanitize_text_field($_POST['ytpostdate']);}else{$yturbo_options['ytpostdate'] = 'disabled';}
|
587 |
+
if(isset($_POST['ytexcerpt'])){$yturbo_options['ytexcerpt'] = sanitize_text_field($_POST['ytexcerpt']);}else{$yturbo_options['ytexcerpt'] = 'disabled';}
|
588 |
+
|
589 |
+
if(isset($_POST['ytfeedback'])){$yturbo_options['ytfeedback'] = sanitize_text_field($_POST['ytfeedback']);}else{$yturbo_options['ytfeedback'] = 'disabled';}
|
590 |
+
$yturbo_options['ytfeedbackselect'] = sanitize_text_field($_POST['ytfeedbackselect']);
|
591 |
+
$yturbo_options['ytfeedbackselectmesto'] = sanitize_text_field($_POST['ytfeedbackselectmesto']);
|
592 |
+
$yturbo_options['ytfeedbacktitle'] = sanitize_text_field($_POST['ytfeedbacktitle']);
|
593 |
+
$yturbo_options['ytfeedbacknetw'] = sanitize_text_field($_POST['ytfeedbacknetwspan']);
|
594 |
+
|
595 |
+
$yturbo_options['ytfeedbackcall'] = sanitize_text_field($_POST['ytfeedbackcall']);
|
596 |
+
$yturbo_options['ytfeedbackcallback'] = sanitize_text_field($_POST['ytfeedbackcallback']);
|
597 |
+
$yturbo_options['ytfeedbackcallback2'] = sanitize_text_field(htmlspecialchars($_POST['ytfeedbackcallback2']));
|
598 |
+
$yturbo_options['ytfeedbackcallback3'] = sanitize_text_field($_POST['ytfeedbackcallback3']);
|
599 |
+
$yturbo_options['ytfeedbackmail'] = sanitize_text_field($_POST['ytfeedbackmail']);
|
600 |
+
$yturbo_options['ytfeedbackvkontakte'] = sanitize_text_field($_POST['ytfeedbackvkontakte']);
|
601 |
+
$yturbo_options['ytfeedbackodnoklassniki'] = sanitize_text_field($_POST['ytfeedbackodnoklassniki']);
|
602 |
+
$yturbo_options['ytfeedbacktwitter'] = sanitize_text_field($_POST['ytfeedbacktwitter']);
|
603 |
+
$yturbo_options['ytfeedbackfacebook'] = sanitize_text_field($_POST['ytfeedbackfacebook']);
|
604 |
+
$yturbo_options['ytfeedbackviber'] = sanitize_text_field($_POST['ytfeedbackviber']);
|
605 |
+
$yturbo_options['ytfeedbackwhatsapp'] = sanitize_text_field($_POST['ytfeedbackwhatsapp']);
|
606 |
+
$yturbo_options['ytfeedbacktelegram'] = sanitize_text_field($_POST['ytfeedbacktelegram']);
|
607 |
+
|
608 |
+
if(isset($_POST['ytexcludeshortcodes'])){$yturbo_options['ytexcludeshortcodes'] = sanitize_text_field($_POST['ytexcludeshortcodes']);}else{$yturbo_options['ytexcludeshortcodes'] = 'disabled';}
|
609 |
+
|
610 |
+
$yturbo_options['ytexcludeshortcodeslist'] = '';
|
611 |
+
$checkboxes = isset($_POST['shortcodes']) ? $_POST['shortcodes'] : array();
|
612 |
+
foreach ($checkboxes as $value) {$yturbo_options['ytexcludeshortcodeslist'] .= sanitize_text_field($value) . ',';}
|
613 |
+
|
614 |
+
$types = explode(",", $yturbo_options['yttype']);
|
615 |
+
$types = array_diff($types, array(''));
|
616 |
+
foreach ($types as $post_type) {
|
617 |
+
if ( in_array($post_type, $types) ) {
|
618 |
+
if ( isset($_POST['template-'.$post_type]) ) {
|
619 |
+
$yturbo_options['template-'.$post_type] = esc_textarea($_POST['template-'.$post_type]);
|
620 |
+
}
|
621 |
+
}
|
622 |
+
}
|
623 |
+
|
624 |
+
$yturbo_options['yttab'] = sanitize_text_field($_POST['yttab']);
|
625 |
+
|
626 |
+
if(isset($_POST['ytrating'])){$yturbo_options['ytrating'] = sanitize_text_field($_POST['ytrating']);}else{$yturbo_options['ytrating'] = 'disabled';}
|
627 |
+
$yturbo_options['ytratingmin'] = sanitize_text_field($_POST['ytratingmin']);
|
628 |
+
$yturbo_options['ytratingmax'] = sanitize_text_field($_POST['ytratingmax']);
|
629 |
+
|
630 |
+
if(isset($_POST['ytsearch'])){$yturbo_options['ytsearch'] = sanitize_text_field($_POST['ytsearch']);}else{$yturbo_options['ytsearch'] = 'disabled';}
|
631 |
+
$yturbo_options['ytsearchplaceholder'] = sanitize_text_field($_POST['ytsearchplaceholder']);
|
632 |
+
$yturbo_options['ytsearchmesto'] = sanitize_text_field($_POST['ytsearchmesto']);
|
633 |
+
|
634 |
+
if(isset($_POST['yttoc'])){$yturbo_options['yttoc'] = sanitize_text_field($_POST['yttoc']);}else{$yturbo_options['yttoc'] = 'disabled';}
|
635 |
+
$yturbo_options['yttype2'] = '';
|
636 |
+
$checkboxes = isset($_POST['types2']) ? $_POST['types2'] : array();
|
637 |
+
foreach ($checkboxes as $value) {$yturbo_options['yttype2'] .= sanitize_text_field($value) . ',';}
|
638 |
+
$yturbo_options['yttype2'] = sanitize_text_field($yturbo_options['yttype2']);
|
639 |
+
$yturbo_options['yttoczag'] = sanitize_text_field($_POST['yttoczag']);
|
640 |
+
$yturbo_options['yttocmesto'] = sanitize_text_field($_POST['yttocmesto']);
|
641 |
+
$yttocnumber = sanitize_text_field($_POST['yttocnumber']);
|
642 |
+
if ( is_numeric($yttocnumber) ) {
|
643 |
+
$yturbo_options['yttocnumber'] = sanitize_text_field($_POST['yttocnumber']);
|
644 |
+
}
|
645 |
+
if(isset($_POST['yttoch1'])){$yturbo_options['yttoch1'] = sanitize_text_field($_POST['yttoch1']);}else{$yturbo_options['yttoch1'] = 'disabled';}
|
646 |
+
if(isset($_POST['yttoch2'])){$yturbo_options['yttoch2'] = sanitize_text_field($_POST['yttoch2']);}else{$yturbo_options['yttoch2'] = 'disabled';}
|
647 |
+
if(isset($_POST['yttoch3'])){$yturbo_options['yttoch3'] = sanitize_text_field($_POST['yttoch3']);}else{$yturbo_options['yttoch3'] = 'disabled';}
|
648 |
+
if(isset($_POST['yttoch4'])){$yturbo_options['yttoch4'] = sanitize_text_field($_POST['yttoch4']);}else{$yturbo_options['yttoch4'] = 'disabled';}
|
649 |
+
if(isset($_POST['yttoch5'])){$yturbo_options['yttoch5'] = sanitize_text_field($_POST['yttoch5']);}else{$yturbo_options['yttoch5'] = 'disabled';}
|
650 |
+
if(isset($_POST['yttoch6'])){$yturbo_options['yttoch6'] = sanitize_text_field($_POST['yttoch6']);}else{$yturbo_options['yttoch6'] = 'disabled';}
|
651 |
+
$yturbo_options['yttocexclude'] = sanitize_text_field($_POST['yttocexclude']);
|
652 |
+
|
653 |
+
$yturbo_options['ytprotokol'] = sanitize_text_field($_POST['ytprotokol']);
|
654 |
+
$yturbo_options['ytdateformat'] = sanitize_text_field($_POST['ytdateformat']);
|
655 |
+
|
656 |
+
if(isset($_POST['ytturbocolumn'])){$yturbo_options['ytturbocolumn'] = sanitize_text_field($_POST['ytturbocolumn']);}else{$yturbo_options['ytturbocolumn'] = 'disabled';}
|
657 |
+
|
658 |
+
$ytrelateddate = sanitize_text_field($_POST['ytrelateddate']);
|
659 |
+
if ( is_numeric($ytrelateddate) ) {
|
660 |
+
$yturbo_options['ytrelateddate'] = sanitize_text_field($_POST['ytrelateddate']);
|
661 |
+
}
|
662 |
+
|
663 |
+
if(isset($_POST['ytexcludeurls'])){$yturbo_options['ytexcludeurls'] = sanitize_text_field($_POST['ytexcludeurls']);}else{$yturbo_options['ytexcludeurls'] = 'disabled';}
|
664 |
+
$lines = array_filter(explode("\n", trim(esc_textarea($_POST['ytexcludeurlslist']))));
|
665 |
+
$yturbo_options['ytexcludeurlslist'] = implode("\n", $lines);
|
666 |
+
if(isset($_POST['ytdeltracking'])){$yturbo_options['ytdeltracking'] = sanitize_text_field($_POST['ytdeltracking']);}else{$yturbo_options['ytdeltracking'] = 'disabled';}
|
667 |
+
|
668 |
+
if(isset($_POST['ytextendedhtml'])){$yturbo_options['ytextendedhtml'] = sanitize_text_field($_POST['ytextendedhtml']);}else{$yturbo_options['ytextendedhtml'] = 'disabled';}
|
669 |
+
|
670 |
+
update_option('yturbo_options', $yturbo_options);
|
671 |
+
|
672 |
+
yturbo_clear_transients();
|
673 |
+
//проверяем и сохраняем введенные пользователем данные end
|
674 |
}
|
675 |
$yturbo_options = get_option('yturbo_options');
|
676 |
?>
|
677 |
<?php if ( ! empty($_POST) ) :
|
678 |
if ( ! wp_verify_nonce( $_POST['yturbo_nonce'], plugin_basename(__FILE__) ) || ! current_user_can('edit_posts') ) {
|
679 |
+
wp_die(__('Cheatin’ uh?', 'rss-for-yandex-turbo'));
|
680 |
}
|
681 |
?>
|
682 |
<div id="message" class="updated fade"><p><strong><?php _e('Настройки сохранены.', 'rss-for-yandex-turbo'); ?></strong></p></div>
|
683 |
<?php else : ?>
|
684 |
+
<?php $yturbo_options['yttab'] = 'RSS-лента'; ?>
|
685 |
<?php endif; ?>
|
686 |
|
687 |
<div class="wrap foptions">
|
694 |
<script>
|
695 |
var closedonat = localStorage.getItem('yt-close-donat');
|
696 |
if (closedonat == 'yes') {
|
697 |
+
document.getElementById('donat').className = 'postbox hide';
|
698 |
+
document.getElementById('restore-hide-blocks').className = 'dashicons dashicons-admin-generic';
|
699 |
}
|
700 |
</script>
|
701 |
+
<h3 style="border-bottom: 1px solid #E1E1E1;background: #f7f7f7;"><?php _e('Вам нравится этот плагин ?', 'rss-for-yandex-turbo'); ?>
|
702 |
+
<span id="close-donat" class="dashicons dashicons-no-alt" title="<?php _e('Скрыть блок', 'rss-for-yandex-turbo'); ?>"></span></h3>
|
703 |
+
<div class="inside" style="display: block;margin-right: 12px;">
|
704 |
+
<img src="<?php echo $purl . '/img/icon_coffee.png'; ?>" title="<?php _e('Купить мне чашку кофе :)', 'rss-for-yandex-turbo'); ?>" style=" margin: 5px; float:left;" />
|
705 |
+
<p><?php _e('Привет, меня зовут <strong>Flector</strong>.', 'rss-for-yandex-turbo'); ?></p>
|
706 |
+
<p><?php _e('Я потратил много времени на разработку этого плагина.', 'rss-for-yandex-turbo'); ?> <br />
|
707 |
+
<?php _e('Поэтому не откажусь от небольшого пожертвования :)', 'rss-for-yandex-turbo'); ?></p>
|
708 |
+
<a target="_blank" id="yadonate" href="https://money.yandex.ru/to/41001443750704/200"><?php _e('Подарить', 'rss-for-yandex-turbo'); ?></a>
|
709 |
+
<p><?php _e('Или вы можете заказать у меня услуги по WordPress, от мелких правок до создания полноценного сайта.', 'rss-for-yandex-turbo'); ?><br />
|
710 |
+
<?php _e('Быстро, качественно и дешево. Прайс-лист смотрите по адресу <a target="_blank" href="https://www.wpuslugi.ru/?from=yturbo-plugin">https://www.wpuslugi.ru/</a>.', 'rss-for-yandex-turbo'); ?></p>
|
711 |
+
<div style="clear:both;"></div>
|
712 |
+
</div>
|
713 |
</div>
|
714 |
|
715 |
<form action="" method="post">
|
716 |
|
717 |
<div class="xyztabs">
|
718 |
|
719 |
+
<input style="left:-2000px;position: absolute;" type="text" name="yttab" id="yttab" size="30" value="<?php echo esc_attr(stripslashes($yturbo_options['yttab'])); ?>" />
|
720 |
+
<ul class="xyztabs__caption">
|
721 |
+
<li <?php if ($yturbo_options['yttab'] == 'RSS-лента') echo 'class="active"'; ?>><?php _e('RSS-лента', 'rss-for-yandex-turbo'); ?></li>
|
722 |
+
<li <?php if ($yturbo_options['yttab'] == 'Оформление') echo 'class="active"'; ?>><?php _e('Оформление', 'rss-for-yandex-turbo'); ?></li>
|
723 |
+
<li <?php if ($yturbo_options['yttab'] == 'Блоки Яндекс.Турбо') echo 'class="active"'; ?>><?php _e('Блоки Яндекс.Турбо', 'rss-for-yandex-turbo'); ?></li>
|
724 |
+
<li <?php if ($yturbo_options['yttab'] == 'Счетчики') echo 'class="active"'; ?>><?php _e('Счетчики', 'rss-for-yandex-turbo'); ?></li>
|
725 |
+
<li <?php if ($yturbo_options['yttab'] == 'Реклама') echo 'class="active"'; ?>><?php _e('Реклама', 'rss-for-yandex-turbo'); ?></li>
|
726 |
+
<li <?php if ($yturbo_options['yttab'] == 'Типы записей и исключения') echo 'class="active"'; ?>><?php _e('Типы записей и исключения', 'rss-for-yandex-turbo'); ?></li>
|
727 |
+
<li <?php if ($yturbo_options['yttab'] == 'Шаблоны') echo 'class="active"'; ?>><?php _e('Шаблоны', 'rss-for-yandex-turbo'); ?></li>
|
728 |
+
<li <?php if ($yturbo_options['yttab'] == 'Фильтры') echo 'class="active"'; ?>><?php _e('Фильтры', 'rss-for-yandex-turbo'); ?></li>
|
729 |
+
</ul>
|
730 |
+
|
731 |
+
<div class="xyztabs__content<?php if ($yturbo_options['yttab'] == 'RSS-лента' ) echo ' active'; ?>"><!-- begin tab -->
|
732 |
+
|
733 |
+
<?php yturbo_count_feeds(); ?>
|
734 |
+
|
735 |
+
<?php if ( get_option('permalink_structure') ) {
|
736 |
+
$kor = get_bloginfo('url') .'/feed/' . '<strong>' . $yturbo_options['ytrssname'] . '</strong>/';
|
737 |
+
} else {
|
738 |
+
$kor = get_bloginfo('url') .'/?feed=' . '<strong>' . $yturbo_options['ytrssname']. '</strong>';
|
739 |
+
} ?>
|
740 |
+
|
741 |
+
<table class="form-table">
|
742 |
+
<tr class="trbordertop">
|
743 |
+
<th><?php _e('Имя RSS-ленты:', 'rss-for-yandex-turbo'); ?></th>
|
744 |
+
<td>
|
745 |
+
<input type="text" name="ytrssname" size="40" value="<?php echo $yturbo_options['ytrssname']; ?>" />
|
746 |
+
<br /><small><?php _e('Текущий URL RSS-ленты:', 'rss-for-yandex-turbo'); ?> <tt><?php echo $kor; ?></tt><br />
|
747 |
+
<?php _e('Только буквы и цифры, не меняйте без необходимости.', 'rss-for-yandex-turbo'); ?>
|
748 |
+
</small>
|
749 |
+
</td>
|
750 |
+
</tr>
|
751 |
+
<tr class="trbordertop">
|
752 |
+
<th><?php _e('Заголовок:', 'rss-for-yandex-turbo'); ?></th>
|
753 |
+
<td>
|
754 |
+
<input type="text" name="yttitle" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['yttitle'])); ?>" />
|
755 |
+
<br /><small><?php _e('Название RSS-ленты. Если экспортируется содержимое всего сайта, укажите название сайта.', 'rss-for-yandex-turbo'); ?><br />
|
756 |
+
<?php _e('Если экспортируется раздел сайта, укажите только название раздела.', 'rss-for-yandex-turbo'); ?><br />
|
757 |
+
</small>
|
758 |
+
</td>
|
759 |
+
</tr>
|
760 |
+
<tr>
|
761 |
+
<th><?php _e('Ссылка:', 'rss-for-yandex-turbo'); ?></th>
|
762 |
+
<td>
|
763 |
+
<input type="text" name="ytlink" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytlink'])); ?>" />
|
764 |
+
<br /><small><?php _e('URL сайта, данные которого экспортируются в RSS-ленту.', 'rss-for-yandex-turbo'); ?> </small>
|
765 |
+
</td>
|
766 |
+
</tr>
|
767 |
+
<tr>
|
768 |
+
<th><?php _e('Описание:', 'rss-for-yandex-turbo'); ?></th>
|
769 |
+
<td>
|
770 |
+
<input type="text" name="ytdescription" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytdescription'])); ?>" />
|
771 |
+
<br /><small><?php _e('Описание RSS-ленты одним предложением. Не используйте HTML-разметку.', 'rss-for-yandex-turbo'); ?> </small>
|
772 |
+
</td>
|
773 |
+
</tr>
|
774 |
+
<tr>
|
775 |
+
<th><?php _e('Язык:', 'rss-for-yandex-turbo'); ?></th>
|
776 |
+
<td>
|
777 |
+
<input style="max-width: 38px;" type="text" name="ytlanguage" value="<?php echo esc_attr(stripslashes($yturbo_options['ytlanguage'])); ?>" />
|
778 |
+
<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>
|
779 |
+
</td>
|
780 |
+
</tr>
|
781 |
+
<tr class="trbordertop">
|
782 |
+
<th><?php _e('Количество записей:', 'rss-for-yandex-turbo'); ?></th>
|
783 |
+
<td>
|
784 |
+
<input style="max-width: 74px;" name="ytnumber" type="number" min="1" max="999999" step="1" value="<?php echo $yturbo_options['ytnumber']; ?>" />
|
785 |
+
<br /><small><?php _e('Общее количество записей в RSS-ленте (обязательно прочтите про <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/quota-docpage/">ограничения</a> Яндекса).', 'rss-for-yandex-turbo'); ?> <br />
|
786 |
+
<?php _e('При установке более 1000 записей необходимо включить разбитие RSS-ленты в обязательном порядке.', 'rss-for-yandex-turbo'); ?> <br />
|
787 |
+
</small>
|
788 |
+
</td>
|
789 |
+
</tr>
|
790 |
+
<tr class="razb trbordertop">
|
791 |
+
<th class="tdcheckbox"><?php _e('Разбитие RSS-ленты:', 'rss-for-yandex-turbo'); ?></th>
|
792 |
+
<td>
|
793 |
+
<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>
|
794 |
+
<br /><small><?php _e('Плагин будет генерировать несколько RSS-лент с указанным числом записей в каждой.', 'rss-for-yandex-turbo'); ?> <br />
|
795 |
+
<?php _e('Включите эту опцию, если RSS-лента слишком долго генерируется или если она превышает <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/quota-docpage/">ограничения</a>, установленные Яндексом.', 'rss-for-yandex-turbo'); ?><br />
|
796 |
+
<?php _e('Яндекс может очень сильно нагружать ваш сервер - разбитие ленты и использование плагинов кэширования будет в этом случае весьма полезно.', 'rss-for-yandex-turbo'); ?> <br />
|
797 |
+
</small>
|
798 |
+
</td>
|
799 |
+
</tr>
|
800 |
+
<tr class="ytrazbnumbertr" <?php if ($yturbo_options['ytrazb'] == 'disabled') echo 'style="display:none;"'; ?>>
|
801 |
+
<th><?php _e('Делить RSS-ленту по:', 'rss-for-yandex-turbo'); ?></th>
|
802 |
+
<td>
|
803 |
+
<input style="max-width: 60px;" name="ytrazbnumber" type="number" min="1" max="1000" step="1" value="<?php echo $yturbo_options['ytrazbnumber']; ?>" />
|
804 |
+
<br /><small><?php _e('Укажите число записей, по которому лента будет делиться.', 'rss-for-yandex-turbo'); ?><br />
|
805 |
+
<?php _e('Для получения ссылок на ваши RSS-ленты сохраните настройки плагина.', 'rss-for-yandex-turbo'); ?><br />
|
806 |
+
<?php _e('Важно: разбитие не будет работать, если на вашем сайте нет необходимого числа записей.', 'rss-for-yandex-turbo'); ?> <br />
|
807 |
+
</small>
|
808 |
+
</td>
|
809 |
+
</tr>
|
810 |
+
<tr class="ytexcludeurlstr trbordertop">
|
811 |
+
<th class="tdcheckbox"><?php _e('Выборочное отключение:', 'rss-for-yandex-turbo'); ?></th>
|
812 |
+
<td>
|
813 |
+
<label for="ytexcludeurls"><input type="checkbox" value="enabled" name="ytexcludeurls" id="ytexcludeurls" <?php if ($yturbo_options['ytexcludeurls'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Удалить указанные турбо-страницы', 'rss-for-yandex-turbo'); ?></label>
|
814 |
+
<br /><small><?php _e('Если вы полностью удалили запись на сайте, то отключить ее турбо-страницу обычным способом не получится.', 'rss-for-yandex-turbo'); ?><br />
|
815 |
+
<?php _e('Эта опция позволит сформировать отдельную RSS-ленту с записями, которые Яндекс должен удалить.', 'rss-for-yandex-turbo'); ?><br />
|
816 |
+
</small>
|
817 |
+
</td>
|
818 |
+
</tr>
|
819 |
+
<tr class="ytexcludeurlslisttr" <?php if ($yturbo_options['ytexcludeurls'] == 'disabled') echo 'style="display:none;"'; ?>>
|
820 |
+
<th class="tdcheckbox"><?php _e('URL "мусорной" ленты:', 'rss-for-yandex-turbo'); ?></th>
|
821 |
+
<td>
|
822 |
+
<?php
|
823 |
+
if ( get_option('permalink_structure') ) {
|
824 |
+
echo '<a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/?lenta=trash'.'">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/?lenta=trash'.'</a>';
|
825 |
+
} else {
|
826 |
+
echo '<a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'&lenta=trash">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'&lenta=trash</a>';
|
827 |
+
}
|
828 |
+
?>
|
829 |
+
<br /><small><?php _e('Добавьте эту RSS-ленту в Яндекс.Вебмастер как обычную ленту.', 'rss-for-yandex-turbo'); ?><br />
|
830 |
+
</small>
|
831 |
+
</td>
|
832 |
+
</tr>
|
833 |
+
<tr class="ytexcludeurlslisttr" <?php if ($yturbo_options['ytexcludeurls'] == 'disabled') echo 'style="display:none;"'; ?>>
|
834 |
+
<th class="tdcheckbox"><?php _e('Отслеживание:', 'rss-for-yandex-turbo'); ?></th>
|
835 |
+
<td>
|
836 |
+
<label for="ytdeltracking"><input type="checkbox" value="enabled" name="ytdeltracking" id="ytdeltracking" <?php if ($yturbo_options['ytdeltracking'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Следить за удаляемыми записями', 'rss-for-yandex-turbo'); ?></label>
|
837 |
+
<br /><small><?php _e('Плагин будет автоматически добавлять в список ниже ссылки на удаленные записи.', 'rss-for-yandex-turbo'); ?><br />
|
838 |
+
</small>
|
839 |
+
</td>
|
840 |
+
</tr>
|
841 |
+
<tr class="ytexcludeurlslisttr" <?php if ($yturbo_options['ytexcludeurls'] == 'disabled') echo 'style="display:none;"'; ?>>
|
842 |
+
<th><?php _e('Список удаляемых ссылок:', 'rss-for-yandex-turbo'); ?></th>
|
843 |
+
<td>
|
844 |
+
<textarea rows="8" cols="70" name="ytexcludeurlslist" id="ytexcludeurlslist"><?php echo stripcslashes($yturbo_options['ytexcludeurlslist']); ?></textarea>
|
845 |
+
<br /><small><?php _e('Каждая новая ссылка для удаления должна начинаться с новой строки.', 'rss-for-yandex-turbo'); ?><br />
|
846 |
+
</small>
|
847 |
+
</td>
|
848 |
+
</tr>
|
849 |
+
<tr class="trbordertop">
|
850 |
+
<th class="tdcheckbox"><?php _e('Полное отключение:', 'rss-for-yandex-turbo'); ?></th>
|
851 |
+
<td>
|
852 |
+
<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>
|
853 |
+
<br /><small><?php _e('Эта опция добавит в RSS-ленту атрибут <tt>turbo="false"</tt> к тегу <tt><item></tt> для всех записей.', 'rss-for-yandex-turbo'); ?> <br />
|
854 |
+
<?php _e('Это единственный способ заставить Яндекс отключить турбо-страницы для вашего сайта.', 'rss-for-yandex-turbo'); ?><br />
|
855 |
+
<?php _e('Простое удаление плагина не поможет - необходимо, чтобы бот Яндекса "съел" ленту с <tt>turbo="false"</tt>.', 'rss-for-yandex-turbo'); ?><br />
|
856 |
+
<?php _e('Не забудьте поправить настройки плагина, чтобы в RSS-ленту попали все записи сайта.', 'rss-for-yandex-turbo'); ?>
|
857 |
+
</small>
|
858 |
+
</td>
|
859 |
+
</tr>
|
860 |
+
<tr class="ytprotokoltr" <?php if ($yturbo_options['ytremoveturbo'] == 'disabled') echo 'style="display:none;"'; ?>>
|
861 |
+
<th><?php _e('Протокол:', 'rss-for-yandex-turbo'); ?></th>
|
862 |
+
<td>
|
863 |
+
<select name="ytprotokol" style="width: 260px;">
|
864 |
+
<option value="asis" <?php if ($yturbo_options['ytprotokol'] == 'asis') echo 'selected="selected"'; ?>><?php _e('Не менять протокол', 'rss-for-yandex-turbo'); ?></option>
|
865 |
+
<option value="http" <?php if ($yturbo_options['ytprotokol'] == 'http') echo 'selected="selected"'; ?>><?php _e('http', 'rss-for-yandex-turbo'); ?></option>
|
866 |
+
<option value="https" <?php if ($yturbo_options['ytprotokol'] == 'https') echo 'selected="selected"'; ?>><?php _e('https', 'rss-for-yandex-turbo'); ?></option>
|
867 |
+
</select>
|
868 |
+
<br /><small><?php _e('Выберите используемый протокол для удаляемых турбо-страниц.', 'rss-for-yandex-turbo'); ?><br />
|
869 |
+
<?php _e('Яндекс не удалит автоматически турбо-страницы для старого протокола (при переезде сайта на https и наоборот).', 'rss-for-yandex-turbo'); ?><br />
|
870 |
+
<?php _e('Поэтому вам нужно будет сформировать ленту с записями для удаления со старым протоколом.', 'rss-for-yandex-turbo'); ?><br />
|
871 |
+
</small>
|
872 |
+
</td>
|
873 |
+
</tr>
|
874 |
+
|
875 |
+
<tr class="trbordertop">
|
876 |
+
<th></th>
|
877 |
+
<td>
|
878 |
+
<input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
|
879 |
+
</td>
|
880 |
+
</tr>
|
881 |
+
</table>
|
882 |
+
</div><!-- end tab -->
|
883 |
+
|
884 |
+
<div class="xyztabs__content<?php if ($yturbo_options['yttab'] == 'Оформление') echo ' active'; ?>"><!-- begin tab -->
|
885 |
+
|
886 |
+
<p><?php _e('В этом разделе собраны настройки, касающиеся оформления контента на турбо-страницах.', 'rss-for-yandex-turbo'); ?><br />
|
887 |
+
<?php _e('Отключите вывод миниатюр, если они не выводятся в вашей теме на страницах одиночных записей,', 'rss-for-yandex-turbo'); ?><br />
|
888 |
+
<?php _e('так как Яндексу не нравится, когда турбо-страница не соответствует оригинальной версии.', 'rss-for-yandex-turbo'); ?><br />
|
889 |
+
</p>
|
890 |
+
|
891 |
+
<table class="form-table">
|
892 |
+
<tr class="trbordertop">
|
893 |
+
<th class="tdcheckbox"><?php _e('Поддержка CSS:', 'rss-for-yandex-turbo'); ?></th>
|
894 |
+
<td>
|
895 |
+
<label for="ytextendedhtml"><input type="checkbox" value="enabled" name="ytextendedhtml" id="ytextendedhtml" <?php if ($yturbo_options['ytextendedhtml'] == 'enabled') echo 'checked="checked"'; ?> /><?php _e('Включить режим поддержки CSS', 'rss-for-yandex-turbo'); ?></label>
|
896 |
+
<br /><small><?php _e('При включении этой опции (<tt>turbo:extendedHtml</tt>) Яндекс не будет удалять классы и идентификаторы', 'rss-for-yandex-turbo'); ?> <br />
|
897 |
+
<?php _e('из разметки записей, что позволит настроить их внешний вид через CSS (читайте <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/custom.html">документацию</a>).', 'rss-for-yandex-turbo'); ?> <br />
|
898 |
+
<?php _e('Режим поддержки CSS можно включить или выключить для записей индивидуально (в метабоксе плагина).', 'rss-for-yandex-turbo'); ?> <br />
|
899 |
+
</small>
|
900 |
+
</td>
|
901 |
+
</tr>
|
902 |
+
<tr class="trbordertop">
|
903 |
+
<th class="tdcheckbox"><?php _e('Дата записей:', 'rss-for-yandex-turbo'); ?></th>
|
904 |
+
<td>
|
905 |
+
<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>
|
906 |
+
<br /><small><?php _e('Выводить или не выводить дату публикации записей в ленте.', 'rss-for-yandex-turbo'); ?> <br />
|
907 |
+
<?php _e('Вывод даты можно включить или выключить для записей индивидуально (в метабоксе плагина).', 'rss-for-yandex-turbo'); ?>
|
908 |
+
</small>
|
909 |
+
</td>
|
910 |
+
</tr>
|
911 |
+
<tr class="ytdateformattr" <?php if ($yturbo_options['ytpostdate'] == 'disabled') echo 'style="display:none;"'; ?>>
|
912 |
+
<th><?php _e('Тип даты:', 'rss-for-yandex-turbo'); ?></th>
|
913 |
+
<td>
|
914 |
+
<select name="ytdateformat" style="width: 260px;">
|
915 |
+
<option value="create" <?php if ($yturbo_options['ytdateformat'] == 'create') echo 'selected="selected"'; ?>><?php _e('Дата создания', 'rss-for-yandex-turbo'); ?></option>
|
916 |
+
<option value="mod" <?php if ($yturbo_options['ytdateformat'] == 'mod') echo 'selected="selected"'; ?>><?php _e('Дата последнего изменения', 'rss-for-yandex-turbo'); ?></option>
|
917 |
+
</select>
|
918 |
+
<br /><small><?php _e('Выберите тип даты - дата создания записи или дата последнего изменения записи.', 'rss-for-yandex-turbo'); ?> <br />
|
919 |
+
<?php _e('Опция может быть полезна для формирования Яндексом автоматической главной страницы.', 'rss-for-yandex-turbo'); ?> <br />
|
920 |
+
</small>
|
921 |
+
</td>
|
922 |
+
</tr>
|
923 |
+
<tr class="trbordertop">
|
924 |
+
<th class="tdcheckbox"><?php _e('Отрывок записей:', 'rss-for-yandex-turbo'); ?></th>
|
925 |
+
<td>
|
926 |
+
<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>
|
927 |
+
<br /><small><?php _e('Используйте эту опцию только в случае необходимости.', 'rss-for-yandex-turbo'); ?> <br />
|
928 |
+
<?php _e('Например, когда "отрывок" (цитата) записи содержит контент, которого нет в самой записи.', 'rss-for-yandex-turbo'); ?> <br />
|
929 |
+
</small>
|
930 |
+
</td>
|
931 |
+
</tr>
|
932 |
+
<tr class="ytthumbnailtr trbordertop">
|
933 |
+
<th class="tdcheckbox"><?php _e('Миниатюра в RSS:', 'rss-for-yandex-turbo'); ?></th>
|
934 |
+
<td>
|
935 |
+
<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>
|
936 |
+
<br /><small><?php _e('После заголовка записи будет выведена миниатюра записи (изображение записи).', 'rss-for-yandex-turbo'); ?>
|
937 |
+
</small>
|
938 |
+
</td>
|
939 |
+
</tr>
|
940 |
+
<tr class="ytselectthumbtr" <?php if ($yturbo_options['ytthumbnail'] == 'disabled') echo 'style="display:none;"'; ?>>
|
941 |
+
<th><?php _e('Размер миниатюры в RSS:', 'rss-for-yandex-turbo'); ?></th>
|
942 |
+
<td>
|
943 |
+
<select name="ytselectthumb" style="width: 260px;">
|
944 |
+
<?php $image_sizes = get_intermediate_image_sizes(); ?>
|
945 |
+
<?php foreach ($image_sizes as $size_name) : ?>
|
946 |
+
<option value="<?php echo $size_name ?>" <?php if ($yturbo_options['ytselectthumb'] == $size_name) echo 'selected="selected"'; ?>><?php echo $size_name ?></option>
|
947 |
+
<?php endforeach; ?>
|
948 |
+
</select>
|
949 |
+
<br /><small><?php _e('Выберите нужный размер миниатюры (в списке находятся все зарегистрированные на сайте размеры миниатюр).', 'rss-for-yandex-turbo'); ?><br />
|
950 |
+
<?php _e('Необходимо выбрать именно тот размер, который используется вашей темой для вывода "Изображения записи".', 'rss-for-yandex-turbo'); ?><br />
|
951 |
+
</small>
|
952 |
+
</td>
|
953 |
+
</tr>
|
954 |
+
<tr class="trbordertop">
|
955 |
+
<th><?php _e('Автор записей:', 'rss-for-yandex-turbo'); ?></th>
|
956 |
+
<td>
|
957 |
+
<select name="ytauthorselect" id="ytauthorselect" style="width: 260px;">
|
958 |
+
<option value="Автор записи" <?php if ($yturbo_options['ytauthorselect'] == 'Автор записи') echo 'selected="selected"'; ?>><?php _e('Автор записи', 'rss-for-yandex-turbo'); ?></option>
|
959 |
+
<option value="Указать автора" <?php if ($yturbo_options['ytauthorselect'] == 'Указать автора') echo 'selected="selected"'; ?>><?php _e('Указать автора', 'rss-for-yandex-turbo'); ?></option>
|
960 |
+
<option value="Отключить указание автора" <?php if ($yturbo_options['ytauthorselect'] == 'Отключить указание автора') echo 'selected="selected"'; ?>><?php _e('Отключить указание автора', 'rss-for-yandex-turbo'); ?></option>
|
961 |
+
</select>
|
962 |
+
<br /><small><?php _e('Автор записей (можно не указывать). ', 'rss-for-yandex-turbo'); ?> <br />
|
963 |
+
</small>
|
964 |
+
</td>
|
965 |
+
</tr>
|
966 |
+
<tr id="ownname2" <?php if ($yturbo_options['ytauthorselect'] != 'Указать автора') echo 'style="display:none;"'; ?>>
|
967 |
+
<th><?php _e('Автор записей:', 'rss-for-yandex-turbo'); ?></th>
|
968 |
+
<td>
|
969 |
+
<input type="text" name="ytauthor" size="26" value="<?php echo esc_attr(stripslashes($yturbo_options['ytauthor'])); ?>" />
|
970 |
+
<br /><small><?php _e('Произвольное имя автора записей (если не заполнено, то будет использовано имя автора записи).', 'rss-for-yandex-turbo'); ?> </small>
|
971 |
+
</td>
|
972 |
+
</tr>
|
973 |
+
<tr class="trbordertop">
|
974 |
+
<th><?php _e('Описания изображений:', 'rss-for-yandex-turbo'); ?></th>
|
975 |
+
<td>
|
976 |
+
<select name="ytfigcaption" id="capalt" style="width: 260px;">
|
977 |
+
<option value="Использовать подписи" <?php if ($yturbo_options['ytfigcaption'] == 'Использовать подписи') echo 'selected="selected"'; ?>><?php _e('Использовать подписи', 'rss-for-yandex-turbo'); ?></option>
|
978 |
+
<option value="Отключить описания" <?php if ($yturbo_options['ytfigcaption'] == 'Отключить описания') echo 'selected="selected"'; ?>><?php _e('Отключить описания', 'rss-for-yandex-turbo'); ?></option>
|
979 |
+
</select>
|
980 |
+
<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 />
|
981 |
+
<?php _e('В html5-темах будет взята информация из тега <tt><figcaption></tt>, в html4-темах из шорткода <tt>[caption]</tt>.', 'rss-for-yandex-turbo'); ?><br />
|
982 |
+
</small>
|
983 |
+
</td>
|
984 |
+
</tr>
|
985 |
+
<tr class="yttoctr trbordertop">
|
986 |
+
<th class="tdcheckbox"><?php _e('Содержание:', 'rss-for-yandex-turbo'); ?></th>
|
987 |
+
<td>
|
988 |
+
<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>
|
989 |
+
<br /><small><?php _e('На турбо-страницы будет добавлен блок содержания (аналогично <a target="_blank" href="https://wordpress.org/plugins/table-of-contents-plus/">TOC+</a> и подобным плагинам).', 'rss-for-yandex-turbo'); ?><br />
|
990 |
+
<?php _e('Не включайте данный блок, если не используете плагины вывода содержания.', 'rss-for-yandex-turbo'); ?>
|
991 |
+
</small>
|
992 |
+
</td>
|
993 |
+
</tr>
|
994 |
+
<tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
|
995 |
+
<th class="tdcheckbox"><?php _e('Типы записей:', 'rss-for-yandex-turbo'); ?></th>
|
996 |
+
<td>
|
997 |
+
<?php
|
998 |
+
$registered = get_post_types( array('public'=> true), 'objects' );
|
999 |
+
$exclude = array('attachment');
|
1000 |
+
$types = array();
|
1001 |
+
|
1002 |
+
foreach ($registered as $post) {
|
1003 |
+
if ( in_array($post->name, $exclude) ) {
|
1004 |
+
continue;
|
1005 |
+
}
|
1006 |
+
$types[$post->name] = $post->name;
|
1007 |
+
}
|
1008 |
+
|
1009 |
+
$yttype2 = explode(",", $yturbo_options['yttype2']);
|
1010 |
+
$yttype2 = array_diff($yttype2, array(''));
|
1011 |
+
|
1012 |
+
foreach ($types as $post_type) {
|
1013 |
+
$obj = get_post_type_object( $post_type ); ?>
|
1014 |
+
<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 />
|
1015 |
+
<?php } ?>
|
1016 |
+
<small><?php _e('Типы записей для добавления блока содержания.', 'rss-for-yandex-turbo'); ?> </small>
|
1017 |
+
</td>
|
1018 |
+
</tr>
|
1019 |
+
<tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1020 |
+
<th><?php _e('Текст заголовка:', 'rss-for-yandex-turbo'); ?></th>
|
1021 |
+
<td>
|
1022 |
+
<input type="text" style="width:240px;" name="yttoczag" size="20" value="<?php echo esc_attr(stripslashes($yturbo_options['yttoczag'])); ?>" />
|
1023 |
+
<br /><small><?php _e('Например: "Содержание", "Оглавление", "Содержание страницы" и тому подобное.', 'rss-for-yandex-turbo'); ?><br />
|
1024 |
+
</small>
|
1025 |
+
</td>
|
1026 |
+
</tr>
|
1027 |
+
<tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1028 |
+
<th><?php _e('Расположение блока:', 'rss-for-yandex-turbo'); ?></th>
|
1029 |
+
<td>
|
1030 |
+
<select name="yttocmesto" id="yttocmesto" style="width: 260px;">
|
1031 |
+
<option value="Перед первым заголовком" <?php if ($yturbo_options['yttocmesto'] == 'Перед первым заголовком') echo 'selected="selected"'; ?>><?php _e('Перед первым заголовком', 'rss-for-yandex-turbo'); ?></option>
|
1032 |
+
<option value="После первого заголовка" <?php if ($yturbo_options['yttocmesto'] == 'После первого заголовка') echo 'selected="selected"'; ?>><?php _e('После первого заголовка', 'rss-for-yandex-turbo'); ?></option>
|
1033 |
+
<option value="В начале записи" <?php if ($yturbo_options['yttocmesto'] == 'В начале записи') echo 'selected="selected"'; ?>><?php _e('В начале записи', 'rss-for-yandex-turbo'); ?></option>
|
1034 |
+
<option value="В конце записи" <?php if ($yturbo_options['yttocmesto'] == 'В конце записи') echo 'selected="selected"'; ?>><?php _e('В конце записи', 'rss-for-yandex-turbo'); ?></option>
|
1035 |
+
</select>
|
1036 |
+
<br /><small><?php _e('Выводите данный блок на турбо-страницах там же, где он расположен на обычных страницах.', 'rss-for-yandex-turbo'); ?><br />
|
1037 |
+
</small>
|
1038 |
+
</td>
|
1039 |
+
</tr>
|
1040 |
+
<tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1041 |
+
<th><?php _e('Минимум заголовков:', 'rss-for-yandex-turbo'); ?></th>
|
1042 |
+
<td>
|
1043 |
+
<input style="max-width: 50px;" name="yttocnumber" type="number" min="1" max="10" step="1" value="<?php echo $yturbo_options['yttocnumber']; ?>" />
|
1044 |
+
<br /><small><?php _e('Укажите минимальное число заголовков записи, при котором будет выведен блок содержания.', 'rss-for-yandex-turbo'); ?><br/>
|
1045 |
+
</small>
|
1046 |
+
</td>
|
1047 |
+
</tr>
|
1048 |
+
<tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1049 |
+
<th class="tdcheckbox"><?php _e('Уровни заголовков:', 'rss-for-yandex-turbo'); ?></th>
|
1050 |
+
<td>
|
1051 |
+
<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 />
|
1052 |
+
<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 />
|
1053 |
+
<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 />
|
1054 |
+
<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 />
|
1055 |
+
<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 />
|
1056 |
+
<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 />
|
1057 |
+
<small><?php _e('Блок содержания будет формироваться только из указанных заголовков.', 'rss-for-yandex-turbo'); ?><br/>
|
1058 |
+
</small>
|
1059 |
+
</td>
|
1060 |
+
</tr>
|
1061 |
+
<tr class="yttocchildtr" <?php if ($yturbo_options['yttoc'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1062 |
+
<th><?php _e('Исключить заголовки:', 'rss-for-yandex-turbo'); ?></th>
|
1063 |
+
<td>
|
1064 |
+
<input type="text" style="width:240px;" name="yttocexclude" size="20" value="<?php echo esc_attr(stripslashes($yturbo_options['yttocexclude'])); ?>" />
|
1065 |
+
<br /><small><?php _e('Укажите заголовки, которые должны быть исключены из блока содержания.', 'rss-for-yandex-turbo'); ?><br />
|
1066 |
+
<?php _e('Разделите несколько заголовков вертикальной линией <tt>|</tt>. Используйте звездочку <tt>*</tt> в качестве ', 'rss-for-yandex-turbo'); ?><br />
|
1067 |
+
<?php _e('подстановочного знака для соответствия другому тексту. Регистр не учитывается. Примеры:', 'rss-for-yandex-turbo'); ?><br />
|
1068 |
+
<ul>
|
1069 |
+
<li><?php _e('<tt>Фрукты*</tt> - игнорировать все заголовки, начинающиеся с "Фрукты"', 'rss-for-yandex-turbo'); ?></li>
|
1070 |
+
<li><?php _e('<tt>*Фруктовая диета*</tt> - игнорировать заголовки с выражением "Фруктовая диета", расположенном в любом месте заголовка', 'rss-for-yandex-turbo'); ?></li>
|
1071 |
+
<li><?php _e('<tt>Яблоня|Апельсины|Желтые Бананы</tt> - игнорировать заголовки, которые состоят именно из "Яблоня", "Апельсины" или "Желтые Бананы"', 'rss-for-yandex-turbo'); ?></li>
|
1072 |
+
</ul>
|
1073 |
+
</small>
|
1074 |
+
</td>
|
1075 |
+
</tr>
|
1076 |
+
|
1077 |
+
<tr class="trbordertop">
|
1078 |
+
<th></th>
|
1079 |
+
<td>
|
1080 |
+
<input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
|
1081 |
+
</td>
|
1082 |
+
</tr>
|
1083 |
+
</table>
|
1084 |
+
</div><!-- end tab -->
|
1085 |
+
|
1086 |
+
<div class="xyztabs__content<?php if ($yturbo_options['yttab'] == 'Блоки Яндекс.Турбо') echo ' active'; ?>"><!-- begin tab -->
|
1087 |
+
|
1088 |
+
<p><?php _e('Часть этих блоков вы можете настроить напрямую в Яндекс.Вебмастере.', 'rss-for-yandex-turbo'); ?><br />
|
1089 |
+
<?php _e('Указать логотип сайта можно только через Яндекс.Вебмастер.', 'rss-for-yandex-turbo'); ?><br />
|
1090 |
+
</p>
|
1091 |
+
|
1092 |
+
<table class="form-table">
|
1093 |
+
<tr class="ytselectmenutr trbordertop">
|
1094 |
+
<th><?php _e('Меню:', 'rss-for-yandex-turbo'); ?></th>
|
1095 |
+
<td>
|
1096 |
+
<select name="ytselectmenu" style="width: 260px;">
|
1097 |
+
<?php $menus = get_terms('nav_menu', array('hide_empty'=>true)); ?>
|
1098 |
+
<?php foreach ($menus as $menu): ?>
|
1099 |
+
<option value="<?php echo $menu->name; ?>" <?php if ($yturbo_options['ytselectmenu'] == $menu->name) echo 'selected="selected"'; ?>><?php echo $menu->name; ?></option>
|
1100 |
+
<?php endforeach; ?>
|
1101 |
+
<option value="Не использовать" <?php if ($yturbo_options['ytselectmenu'] == 'Не использовать') echo 'selected="selected"'; ?>><?php echo 'Не использовать'; ?></option>
|
1102 |
+
</select>
|
1103 |
+
<?php $menulink = get_bloginfo('url') .'/wp-admin/nav-menus.php'; ?>
|
1104 |
+
<br /><small><?php _e('Выберите меню для использования на турбо-страницах (создать меню можно на вкладке ', 'rss-for-yandex-turbo'); ?> "<a target="_blank" href="<?php echo $menulink; ?>"><?php _e('Внешний вид \ Меню', 'rss-for-yandex-turbo'); ?></a>").<br />
|
1105 |
+
<?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 />
|
1106 |
+
<?php _e('Через Яндекс.Вебмастер можно установить меню без ограничений и с иерархией.', 'rss-for-yandex-turbo'); ?><br />
|
1107 |
+
</small>
|
1108 |
+
</td>
|
1109 |
+
</tr>
|
1110 |
+
<tr class="ytsharetr trbordertop">
|
1111 |
+
<th class="tdcheckbox"><?php _e('Блок "Поделиться":', 'rss-for-yandex-turbo'); ?></th>
|
1112 |
+
<td>
|
1113 |
+
<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>
|
1114 |
+
<br /><small><?php _e('Этот блок будет добавлен в конце записи (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/share-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?>
|
1115 |
+
</small>
|
1116 |
+
</td>
|
1117 |
+
</tr>
|
1118 |
+
<tr class="ytsharechildtr" <?php if ($yturbo_options['ytshare'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1119 |
+
<th><?php _e('Социальные сети:', 'rss-for-yandex-turbo'); ?></th>
|
1120 |
+
<td style="padding:0;">
|
1121 |
+
|
1122 |
+
<table>
|
1123 |
+
<tr style="margin-left:-5px;">
|
1124 |
+
|
1125 |
+
<td>
|
1126 |
+
<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>
|
1127 |
+
<input type="checkbox" name="networks[]" id="facebook" style="margin-left:16px;" />
|
1128 |
+
</td>
|
1129 |
+
|
1130 |
+
<td>
|
1131 |
+
<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>
|
1132 |
+
<input type="checkbox" name="networks[]" id="twitter" style="margin-left:16px;" />
|
1133 |
+
</td>
|
1134 |
+
|
1135 |
+
<td>
|
1136 |
+
<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>
|
1137 |
+
<input type="checkbox" name="networks[]" id="odnoklassniki" style="margin-left:16px;">
|
1138 |
+
</td>
|
1139 |
+
|
1140 |
+
<td>
|
1141 |
+
<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>
|
1142 |
+
<input type="checkbox" name="networks[]" id="vkontakte" style="margin-left:16px;" />
|
1143 |
+
</td>
|
1144 |
+
|
1145 |
+
<td>
|
1146 |
+
<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>
|
1147 |
+
<input type="checkbox" name="networks[]" id="telegram" style="margin-left:16px;" />
|
1148 |
+
</td>
|
1149 |
+
|
1150 |
+
</tr>
|
1151 |
+
</table>
|
1152 |
+
</td>
|
1153 |
+
|
1154 |
+
</tr>
|
1155 |
+
<tr class="ytsharechildtr" <?php if ($yturbo_options['ytshare'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1156 |
+
<th><?php _e('Порядок:', 'rss-for-yandex-turbo'); ?></th>
|
1157 |
+
<td>
|
1158 |
+
<input style="" type="text" name="ytnetw" id="ytnetw" size="62" value="<?php echo esc_attr($yturbo_options['ytnetw']); ?>" disabled="disabled" />
|
1159 |
+
<input type="text" style="display:none;" name="ytnetwspan" id="ytnetwspan" value="<?php echo esc_attr($yturbo_options['ytnetw']); ?>"/>
|
1160 |
+
<br /><small style=""><?php _e('Для сортировки иконок сначала снимите все чекбоксы, а потом снова их выберите в нужном вам порядке.', 'rss-for-yandex-turbo'); ?></small>
|
1161 |
+
</td>
|
1162 |
+
</tr>
|
1163 |
+
<tr class="ytfeedbacktr trbordertop">
|
1164 |
+
<th class="tdcheckbox"><?php _e('Блок обратной связи:', 'rss-for-yandex-turbo'); ?></th>
|
1165 |
+
<td>
|
1166 |
+
<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>
|
1167 |
+
<br /><small><?php _e('На турбо-страницы будет добавлен блок обратной связи в выбранном вами месте (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/feedback-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?>
|
1168 |
+
</small>
|
1169 |
+
</td>
|
1170 |
+
</tr>
|
1171 |
+
<tr class="ytfeedbackchildtr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1172 |
+
<th><?php _e('Выравнивание блока:', 'rss-for-yandex-turbo'); ?></th>
|
1173 |
+
<td>
|
1174 |
+
<select name="ytfeedbackselect" id="ytfeedbackselect" style="width: 260px;">
|
1175 |
+
<option value="left" <?php if ($yturbo_options['ytfeedbackselect'] == 'left') echo 'selected="selected"'; ?>><?php _e('Слева', 'rss-for-yandex-turbo'); ?></option>
|
1176 |
+
<option value="right" <?php if ($yturbo_options['ytfeedbackselect'] == 'right') echo 'selected="selected"'; ?>><?php _e('Справа', 'rss-for-yandex-turbo'); ?></option>
|
1177 |
+
<option value="false" <?php if ($yturbo_options['ytfeedbackselect'] == 'false') echo 'selected="selected"'; ?>><?php _e('В указанном месте', 'rss-for-yandex-turbo'); ?></option>
|
1178 |
+
</select>
|
1179 |
+
<br /><small><?php _e('Укажите где именно на турбо-страницах должен выводиться блок обратной связи.', 'rss-for-yandex-turbo'); ?> <br />
|
1180 |
+
<?php _e('При выравнивании по левому или правому краю страницы можно разместить лишь <strong>4</strong> кнопки связи.', 'rss-for-yandex-turbo'); ?><br />
|
1181 |
+
</small>
|
1182 |
+
</td>
|
1183 |
+
</tr>
|
1184 |
+
<tr class="ytfeedbackselectmestotr" <?php if ($yturbo_options['ytfeedback'] == 'disabled' or $yturbo_options['ytfeedbackselect'] != 'false') echo 'style="display:none;"'; ?>>
|
1185 |
+
<th><?php _e('Расположить блок:', 'rss-for-yandex-turbo'); ?></th>
|
1186 |
+
<td>
|
1187 |
+
<select name="ytfeedbackselectmesto" id="ytfeedbackselectmesto" style="width: 260px;">
|
1188 |
+
<option value="В начале записи" <?php if ($yturbo_options['ytfeedbackselectmesto'] == 'В начале записи') echo 'selected="selected"'; ?>><?php _e('В начале записи', 'rss-for-yandex-turbo'); ?></option>
|
1189 |
+
<option value="В конце записи" <?php if ($yturbo_options['ytfeedbackselectmesto'] == 'В конце записи') echo 'selected="selected"'; ?>><?php _e('В конце записи', 'rss-for-yandex-turbo'); ?></option>
|
1190 |
+
</select>
|
1191 |
+
<br /><small><?php _e('В начале записи блок будет расположен после заголовка, а в конце записи после блока "Поделиться".', 'rss-for-yandex-turbo'); ?><br />
|
1192 |
+
</small>
|
1193 |
+
</td>
|
1194 |
+
</tr>
|
1195 |
+
<tr class="ytfeedbackselectmestotr" <?php if ($yturbo_options['ytfeedback'] == 'disabled' or $yturbo_options['ytfeedbackselect'] != 'false') echo 'style="display:none;"'; ?>>
|
1196 |
+
<th><?php _e('Заголовок блока:', 'rss-for-yandex-turbo'); ?></th>
|
1197 |
+
<td>
|
1198 |
+
<input type="text" name="ytfeedbacktitle" size="30" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbacktitle'])); ?>" />
|
1199 |
+
<br /><small><?php _e('Укажите заголовок блока (используется только при выводе блока в указанном месте).', 'rss-for-yandex-turbo'); ?><br />
|
1200 |
+
</small>
|
1201 |
+
</td>
|
1202 |
+
</tr>
|
1203 |
+
<tr class="ytfeedbackchildtr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1204 |
+
<th><?php _e('Кнопки связи:', 'rss-for-yandex-turbo'); ?></th>
|
1205 |
+
<td style="padding:0;">
|
1206 |
+
|
1207 |
+
<table>
|
1208 |
+
<tr style="margin-left:-5px;display: flex;flex-wrap: wrap;">
|
1209 |
+
|
1210 |
+
<td style="padding: 15px 3px;">
|
1211 |
+
<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>
|
1212 |
+
<input type="checkbox" name="networks2[]" id="feedbackcall" style="margin-left:16px;" />
|
1213 |
+
</td>
|
1214 |
+
|
1215 |
+
<td style="padding: 15px 3px;">
|
1216 |
+
<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>
|
1217 |
+
<input type="checkbox" name="networks2[]" id="feedbackcallback" style="margin-left:16px;" />
|
1218 |
+
</td>
|
1219 |
+
|
1220 |
+
<td style="padding: 15px 3px;">
|
1221 |
+
<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>
|
1222 |
+
<input type="checkbox" name="networks2[]" id="feedbackchat" style="margin-left:16px;" />
|
1223 |
+
</td>
|
1224 |
+
|
1225 |
+
<td style="padding: 15px 3px;">
|
1226 |
+
<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>
|
1227 |
+
<input type="checkbox" name="networks2[]" id="feedbackmail" style="margin-left:16px;" />
|
1228 |
+
</td>
|
1229 |
+
|
1230 |
+
<td style="padding: 15px 3px;">
|
1231 |
+
<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>
|
1232 |
+
<input type="checkbox" name="networks2[]" id="feedbackvkontakte" style="margin-left:16px;" />
|
1233 |
+
</td>
|
1234 |
+
|
1235 |
+
<td style="padding: 15px 3px;">
|
1236 |
+
<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>
|
1237 |
+
<input type="checkbox" name="networks2[]" id="feedbackodnoklassniki" style="margin-left:16px;" />
|
1238 |
+
</td>
|
1239 |
+
|
1240 |
+
<td style="padding: 15px 3px;">
|
1241 |
+
<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>
|
1242 |
+
<input type="checkbox" name="networks2[]" id="feedbacktwitter" style="margin-left:16px;" />
|
1243 |
+
</td>
|
1244 |
+
|
1245 |
+
<td style="padding: 15px 3px;">
|
1246 |
+
<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>
|
1247 |
+
<input type="checkbox" name="networks2[]" id="feedbackfacebook" style="margin-left:16px;" />
|
1248 |
+
</td>
|
1249 |
+
|
1250 |
+
<td style="padding: 15px 3px;">
|
1251 |
+
<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>
|
1252 |
+
<input type="checkbox" name="networks2[]" id="feedbackviber" style="margin-left:16px;" />
|
1253 |
+
</td>
|
1254 |
+
|
1255 |
+
<td style="padding: 15px 3px;">
|
1256 |
+
<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>
|
1257 |
+
<input type="checkbox" name="networks2[]" id="feedbackwhatsapp" style="margin-left:16px;" />
|
1258 |
+
</td>
|
1259 |
+
|
1260 |
+
<td style="padding: 15px 3px;">
|
1261 |
+
<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>
|
1262 |
+
<input type="checkbox" name="networks2[]" id="feedbacktelegram" style="margin-left:16px;" />
|
1263 |
+
</td>
|
1264 |
+
|
1265 |
+
</tr>
|
1266 |
+
</table>
|
1267 |
+
</td>
|
1268 |
+
</tr>
|
1269 |
+
<tr class="ytfeedbackchildtr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1270 |
+
<th><?php _e('Порядок кнопок:', 'rss-for-yandex-turbo'); ?></th>
|
1271 |
+
<td>
|
1272 |
+
<input style="" type="text" name="ytfeedbacknetw" id="ytfeedbacknetw" size="62" value="<?php echo esc_attr($yturbo_options['ytfeedbacknetw']); ?>" disabled="disabled" />
|
1273 |
+
<input type="text" style="display:none;" name="ytfeedbacknetwspan" id="ytfeedbacknetwspan" value="<?php echo esc_attr($yturbo_options['ytfeedbacknetw']); ?>"/>
|
1274 |
+
<br /><small style=""><?php _e('Для сортировки иконок сначала снимите все чекбоксы, а потом снова их выберите в нужном вам порядке.', 'rss-for-yandex-turbo'); ?></small>
|
1275 |
+
</td>
|
1276 |
+
</tr>
|
1277 |
+
<tr class="ytfeedbackchildtr ytfeedbackcontactstr" <?php if ($yturbo_options['ytfeedback'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1278 |
+
<th><?php _e('Контакты для кнопок:', 'rss-for-yandex-turbo'); ?></th>
|
1279 |
+
<td>
|
1280 |
+
<select name="ytfeedbackcontacts" id="ytfeedbackcontacts" style="width: 260px;">
|
1281 |
+
<option value="myselect" selected='selected'><?php _e('- Выбрать -', 'rss-for-yandex-turbo'); ?></option>
|
1282 |
+
<option disabled="disabled" value="feedbackcall"><?php _e('Звонок', 'rss-for-yandex-turbo'); ?></option>
|
1283 |
+
<option disabled="disabled" value="feedbackcallback"><?php _e('Контактная форма', 'rss-for-yandex-turbo'); ?></option>
|
1284 |
+
<option disabled="disabled" value="feedbackchat"><?php _e('Чат', 'rss-for-yandex-turbo'); ?></option>
|
1285 |
+
<option disabled="disabled" value="feedbackmail"><?php _e('E-mail', 'rss-for-yandex-turbo'); ?></option>
|
1286 |
+
<option disabled="disabled" value="feedbackvkontakte"><?php _e('VKontakte', 'rss-for-yandex-turbo'); ?></option>
|
1287 |
+
<option disabled="disabled" value="feedbackodnoklassniki"><?php _e('Odnoklassniki', 'rss-for-yandex-turbo'); ?></option>
|
1288 |
+
<option disabled="disabled" value="feedbacktwitter"><?php _e('Twitter', 'rss-for-yandex-turbo'); ?></option>
|
1289 |
+
<option disabled="disabled" value="feedbackfacebook"><?php _e('Facebook', 'rss-for-yandex-turbo'); ?></option>
|
1290 |
+
<option disabled="disabled" value="feedbackviber"><?php _e('Viber', 'rss-for-yandex-turbo'); ?></option>
|
1291 |
+
<option disabled="disabled" value="feedbackwhatsapp"><?php _e('Whatsapp', 'rss-for-yandex-turbo'); ?></option>
|
1292 |
+
<option disabled="disabled" value="feedbacktelegram"><?php _e('Telegram', 'rss-for-yandex-turbo'); ?></option>
|
1293 |
+
</select>
|
1294 |
+
<br /><small><?php _e('Для установки контактов выберите нужную кнопку из списка (доступны только отмеченные кнопки связи).', 'rss-for-yandex-turbo'); ?><br />
|
1295 |
+
</small>
|
1296 |
+
</td>
|
1297 |
+
</tr>
|
1298 |
+
<tr class="ytfeedbackcalltr" style="display:none;">
|
1299 |
+
<th><?php _e('Звонок:', 'rss-for-yandex-turbo'); ?></th>
|
1300 |
+
<td>
|
1301 |
+
<input type="text" name="ytfeedbackcall" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackcall'])); ?>" />
|
1302 |
+
<br /><small><?php _e('Укажите телефонный номер в международном формате (пример: <tt>+74951234567</tt>).', 'rss-for-yandex-turbo'); ?> </small>
|
1303 |
+
</td>
|
1304 |
+
</tr>
|
1305 |
+
<tr class="ytfeedbackcallbacktr" style="display:none;">
|
1306 |
+
<th><?php _e('Email для контактной формы:', 'rss-for-yandex-turbo'); ?></th>
|
1307 |
+
<td>
|
1308 |
+
<input type="text" name="ytfeedbackcallback" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackcallback'])); ?>" />
|
1309 |
+
<br /><small><?php _e('Укажите адрес e-mail (пример: <tt>mail@test.ru</tt>).', 'rss-for-yandex-turbo'); ?><br />
|
1310 |
+
<?php _e('Разрешено указывать только e-mail, принадлежащий вашему домену.', 'rss-for-yandex-turbo'); ?><br />
|
1311 |
+
</small>
|
1312 |
+
</td>
|
1313 |
+
</tr>
|
1314 |
+
<tr class="ytfeedbackcallbacktr" style="display:none;">
|
1315 |
+
<th><?php _e('Название организации:', 'rss-for-yandex-turbo'); ?></th>
|
1316 |
+
<td>
|
1317 |
+
<input type="text" name="ytfeedbackcallback2" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackcallback2'])); ?>" />
|
1318 |
+
<br /><small><?php _e('Укажите юридическое название вашей организации (пример: <tt>ООО «Ромашка»</tt>).', 'rss-for-yandex-turbo'); ?><br />
|
1319 |
+
<?php _e('* При заполнении требуется указать ссылку на пользовательское соглашении.', 'rss-for-yandex-turbo'); ?><br />
|
1320 |
+
</small>
|
1321 |
+
</td>
|
1322 |
+
</tr>
|
1323 |
+
<tr class="ytfeedbackcallbacktr" style="display:none;">
|
1324 |
+
<th><?php _e('Пользовательское соглашение:', 'rss-for-yandex-turbo'); ?></th>
|
1325 |
+
<td>
|
1326 |
+
<input type="text" name="ytfeedbackcallback3" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackcallback3'])); ?>" />
|
1327 |
+
<br /><small><?php _e('Укажите ссылку на пользовательское соглашение о предоставлении обратной связи.', 'rss-for-yandex-turbo'); ?><br />
|
1328 |
+
<?php _e('* При заполнении требуется указать юридическое название вашей организации.', 'rss-for-yandex-turbo'); ?><br />
|
1329 |
+
</small>
|
1330 |
+
</td>
|
1331 |
+
</tr>
|
1332 |
+
<tr class="ytfeedbackchattr" style="display:none;">
|
1333 |
+
<th><?php _e('Чат:', 'rss-for-yandex-turbo'); ?></th>
|
1334 |
+
<td>
|
1335 |
+
<input disabled="disabled" type="text" name="ytfeedbackchat" size="40" value="" />
|
1336 |
+
<br /><small><?php _e('Указывать ничего не надо, если вы создали чат для своего сайта.', 'rss-for-yandex-turbo'); ?><br />
|
1337 |
+
<?php _e('Справку о том, как создать "Чат для бизнеса" читайте <a target="_blank" href="https://tech.yandex.ru/turbo/doc/rss/elements/feedback-docpage/#feedback__chat">здесь</a>.', 'rss-for-yandex-turbo'); ?><br />
|
1338 |
+
</small>
|
1339 |
+
</td>
|
1340 |
+
</tr>
|
1341 |
+
<tr class="ytfeedbackmailtr" style="display:none;">
|
1342 |
+
<th><?php _e('E-mail:', 'rss-for-yandex-turbo'); ?></th>
|
1343 |
+
<td>
|
1344 |
+
<input type="text" name="ytfeedbackmail" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackmail'])); ?>" />
|
1345 |
+
<br /><small><?php _e('Укажите адрес e-mail (пример: <tt>mail@test.ru</tt>).', 'rss-for-yandex-turbo'); ?></small>
|
1346 |
+
</td>
|
1347 |
+
</tr>
|
1348 |
+
<tr class="ytfeedbackvkontaktetr" style="display:none;">
|
1349 |
+
<th><?php _e('VKontakte:', 'rss-for-yandex-turbo'); ?></th>
|
1350 |
+
<td>
|
1351 |
+
<input type="text" name="ytfeedbackvkontakte" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackvkontakte'])); ?>" />
|
1352 |
+
<br /><small><?php _e('Укажите урл (профиль, группа или чат) ВКонтакте (пример для чата: <tt>https://vk.me/123456</tt>, где <tt>123456</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
|
1353 |
+
</td>
|
1354 |
+
</tr>
|
1355 |
+
<tr class="ytfeedbackodnoklassnikitr" style="display:none;">
|
1356 |
+
<th><?php _e('Odnoklassniki:', 'rss-for-yandex-turbo'); ?></th>
|
1357 |
+
<td>
|
1358 |
+
<input type="text" name="ytfeedbackodnoklassniki" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackodnoklassniki'])); ?>" />
|
1359 |
+
<br /><small><?php _e('Укажите урл (профиль или группа) Одноклассники (пример для профиля: <tt>https://www.ok.ru/profile/123456</tt>, где <tt>123456</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
|
1360 |
+
</td>
|
1361 |
+
</tr>
|
1362 |
+
<tr class="ytfeedbacktwittertr" style="display:none;">
|
1363 |
+
<th><?php _e('Twitter:', 'rss-for-yandex-turbo'); ?></th>
|
1364 |
+
<td>
|
1365 |
+
<input type="text" name="ytfeedbacktwitter" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbacktwitter'])); ?>" />
|
1366 |
+
<br /><small><?php _e('Укажите урл профиля Twitter (пример: <tt>https://twitter.com/yandex</tt>, где <tt>yandex</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
|
1367 |
+
</td>
|
1368 |
+
</tr>
|
1369 |
+
<tr class="ytfeedbackfacebooktr" style="display:none;">
|
1370 |
+
<th><?php _e('Facebook:', 'rss-for-yandex-turbo'); ?></th>
|
1371 |
+
<td>
|
1372 |
+
<input type="text" name="ytfeedbackfacebook" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackfacebook'])); ?>" />
|
1373 |
+
<br /><small><?php _e('Укажите урл (профиль, группа или чат) Facebook (пример для профиля: <tt>https://www.facebook.com/yandex</tt>, где <tt>yandex</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
|
1374 |
+
</td>
|
1375 |
+
</tr>
|
1376 |
+
<tr class="ytfeedbackvibertr" style="display:none;">
|
1377 |
+
<th><?php _e('Viber:', 'rss-for-yandex-turbo'); ?></th>
|
1378 |
+
<td>
|
1379 |
+
<input type="text" name="ytfeedbackviber" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackviber'])); ?>" />
|
1380 |
+
<br /><small><?php _e('Укажите урл связи для Viber (пример для чата: <tt>viber://chat?number=+74951234567</tt>, где <tt>+74991234567</tt> это ваш номер телефона).', 'rss-for-yandex-turbo'); ?></small>
|
1381 |
+
</td>
|
1382 |
+
</tr>
|
1383 |
+
<tr class="ytfeedbackwhatsapptr" style="display:none;">
|
1384 |
+
<th><?php _e('Whatsapp:', 'rss-for-yandex-turbo'); ?></th>
|
1385 |
+
<td>
|
1386 |
+
<input type="text" name="ytfeedbackwhatsapp" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbackwhatsapp'])); ?>" />
|
1387 |
+
<br /><small><?php _e('Укажите урл связи для Whatsapp (пример: <tt>whatsapp://send?phone=74951234567</tt>, где <tt>74951234567</tt> это ваш номер телефона).', 'rss-for-yandex-turbo'); ?></small>
|
1388 |
+
</td>
|
1389 |
+
</tr>
|
1390 |
+
<tr class="ytfeedbacktelegramtr" style="display:none;">
|
1391 |
+
<th><?php _e('Telegram:', 'rss-for-yandex-turbo'); ?></th>
|
1392 |
+
<td>
|
1393 |
+
<input type="text" name="ytfeedbacktelegram" size="40" value="<?php echo esc_attr(stripslashes($yturbo_options['ytfeedbacktelegram'])); ?>" />
|
1394 |
+
<br /><small><?php _e('Укажите урл связи для Telegram (пример: <tt>https://t.me/123456</tt>, где <tt>123456</tt> это ваш аккаунт).', 'rss-for-yandex-turbo'); ?></small>
|
1395 |
+
</td>
|
1396 |
+
</tr>
|
1397 |
+
<tr class="ytcommentstr trbordertop">
|
1398 |
+
<th class="tdcheckbox"><?php _e('Комментарии:', 'rss-for-yandex-turbo'); ?></th>
|
1399 |
+
<td>
|
1400 |
+
<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>
|
1401 |
+
<br /><small><?php _e('К записям на турбо-страницах будут добавлены комментарии (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/comments-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?>
|
1402 |
+
</small>
|
1403 |
+
</td>
|
1404 |
+
</tr>
|
1405 |
+
<tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1406 |
+
<th class="tdcheckbox"><?php _e('Аватары:', 'rss-for-yandex-turbo'); ?></th>
|
1407 |
+
<td>
|
1408 |
+
<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>
|
1409 |
+
<br /><small><?php _e('Выводить или нет аватары (граватары) к комментариям.', 'rss-for-yandex-turbo'); ?><br />
|
1410 |
+
<?php _e('Внимание! Картинки аватаров могут не уложиться в лимит изображений на одну запись (не более <strong>50</strong> штук).', 'rss-for-yandex-turbo'); ?> <br />
|
1411 |
+
<?php _e('В случае отключения вывода аватаров Яндекс выведет на месте аватаров картинку-заглушку.', 'rss-for-yandex-turbo'); ?><br />
|
1412 |
+
</small>
|
1413 |
+
</td>
|
1414 |
+
</tr>
|
1415 |
+
<tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1416 |
+
<th><?php _e('Число комментариев:', 'rss-for-yandex-turbo'); ?></th>
|
1417 |
+
<td>
|
1418 |
+
<input style="max-width: 50px;" name="ytcommentsnumber" type="number" min="1" max="40" step="1" value="<?php echo $yturbo_options['ytcommentsnumber']; ?>" />
|
1419 |
+
<br /><small><?php _e('Укажите число выводимых комментариев (максимально можно выводить только <strong>40</strong> комментариев).', 'rss-for-yandex-turbo'); ?><br/>
|
1420 |
+
</small>
|
1421 |
+
</td>
|
1422 |
+
</tr>
|
1423 |
+
<tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1424 |
+
<th><?php _e('Сортировка:', 'rss-for-yandex-turbo'); ?></th>
|
1425 |
+
<td>
|
1426 |
+
<select name="ytcommentsorder" id="ytcommentsorder" style="width: 260px;">
|
1427 |
+
<option value="В начале новые комментарии" <?php if ($yturbo_options['ytcommentsorder'] == 'В начале новые комментарии') echo 'selected="selected"'; ?>><?php _e('В начале новые комментарии', 'rss-for-yandex-turbo'); ?></option>
|
1428 |
+
<option value="В начале старые комментарии" <?php if ($yturbo_options['ytcommentsorder'] == 'В начале старые комментарии') echo 'selected="selected"'; ?>><?php _e('В начале старые комментарии', 'rss-for-yandex-turbo'); ?></option>
|
1429 |
+
</select>
|
1430 |
+
<br /><small><?php _e('Сортировка комментариев по дате добавления.', 'rss-for-yandex-turbo'); ?> <br />
|
1431 |
+
<?php _e('Учтите, что при использовании древовидных комментариев сортировка визуально может быть нарушена.', 'rss-for-yandex-turbo'); ?><br />
|
1432 |
+
</small>
|
1433 |
+
</td>
|
1434 |
+
</tr>
|
1435 |
+
<tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1436 |
+
<th class="tdcheckbox"><?php _e('Дата комментариев:', 'rss-for-yandex-turbo'); ?></th>
|
1437 |
+
<td>
|
1438 |
+
<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>
|
1439 |
+
<br /><small><?php _e('Указывать дату для комментариев по <a target="_blank" href="https://tech.yandex.ru/turbo/doc/rss/elements/comments-docpage/">спецификации</a> Яндекса необязательно.', 'rss-for-yandex-turbo'); ?>
|
1440 |
+
</small>
|
1441 |
+
</td>
|
1442 |
+
</tr>
|
1443 |
+
<tr class="ytcommentschildtr" <?php if ($yturbo_options['ytcomments'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1444 |
+
<th class="tdcheckbox"><?php _e('Древовидность:', 'rss-for-yandex-turbo'); ?></th>
|
1445 |
+
<td>
|
1446 |
+
<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>
|
1447 |
+
<br /><small><?php _e('Выводить или не выводить комментарии в древовидном виде.', 'rss-for-yandex-turbo'); ?><br />
|
1448 |
+
<?php _e('Поддерживается древовидность только для 2 уровней глубины.', 'rss-for-yandex-turbo'); ?><br />
|
1449 |
+
<?php _e('Учтите, что отключение древовидности не повлияет на сортировку комментариев.', 'rss-for-yandex-turbo'); ?><br />
|
1450 |
+
</small>
|
1451 |
+
</td>
|
1452 |
+
</tr>
|
1453 |
+
<tr class="ytrelatedtr trbordertop">
|
1454 |
+
<th class="tdcheckbox"><?php _e('Похожие записи:', 'rss-for-yandex-turbo'); ?></th>
|
1455 |
+
<td>
|
1456 |
+
<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>
|
1457 |
+
<br /><small><?php _e('На турбо-страницы будет добавлен блок похожих записей (в конце страницы).', 'rss-for-yandex-turbo'); ?></small>
|
1458 |
+
</td>
|
1459 |
+
</tr>
|
1460 |
+
<tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1461 |
+
<th><?php _e('Количество похожих записей:', 'rss-for-yandex-turbo'); ?></th>
|
1462 |
+
<td>
|
1463 |
+
<input style="max-width: 50px;" name="ytrelatednumber" type="number" min="1" max="30" step="1" value="<?php echo $yturbo_options['ytrelatednumber']; ?>" />
|
1464 |
+
<br /><small><?php _e('Укажите число записей в блоке похожих записей.', 'rss-for-yandex-turbo'); ?> <br >
|
1465 |
+
<?php _e('Список похожих записей будет формироваться случайным образом из записей рубрики текущей записи.', 'rss-for-yandex-turbo'); ?><br />
|
1466 |
+
<?php _e('Внимание! Не устанавливайте слишком большое число похожих записей, если вы используете вместе с ними вывод миниатюр.', 'rss-for-yandex-turbo'); ?><br />
|
1467 |
+
<?php _e('Лимит Яндекса на общее количество изображений одной страницы - <strong>50</strong> (миниатюры похожих записей тоже учитываются).', 'rss-for-yandex-turbo'); ?><br />
|
1468 |
+
<?php _e('Больше <strong>30</strong> похожих записей установить нельзя (тоже лимит Яндекса на количество ссылок в блоке похожих записей).', 'rss-for-yandex-turbo'); ?><br />
|
1469 |
+
</small>
|
1470 |
+
</td>
|
1471 |
+
</tr>
|
1472 |
+
<tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1473 |
+
<th><?php _e('Ограничение по дате:', 'rss-for-yandex-turbo'); ?></th>
|
1474 |
+
<td>
|
1475 |
+
<input style="max-width: 50px;" name="ytrelateddate" type="number" min="1" max="99" step="1" value="<?php echo $yturbo_options['ytrelateddate']; ?>" />
|
1476 |
+
<br /><small><?php _e('Для похожих записей будут взяты только записи, опубликованные за указанное количество последних месяцев.', 'rss-for-yandex-turbo'); ?><br >
|
1477 |
+
<?php _e('Это ограничение поможет избежать ситуаций, когда в похожих записях выводятся статьи 10-летней давности.', 'rss-for-yandex-turbo'); ?><br />
|
1478 |
+
<?php _e('Не ставьте маленькое количество месяцев в случае, если ваш сайт не слишком часто обновляется.', 'rss-for-yandex-turbo'); ?><br />
|
1479 |
+
<?php _e('В такой ситуации список похожих записей может быть очень коротким (или вообще пустым).', 'rss-for-yandex-turbo'); ?><br />
|
1480 |
+
<?php _e('Если информация на вашем сайте не устаревает со временем, то ограничение по дате не имеет смысла (смело ставьте 99 месяцев).', 'rss-for-yandex-turbo'); ?><br />
|
1481 |
+
</small>
|
1482 |
+
</td>
|
1483 |
+
</tr>
|
1484 |
+
<tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1485 |
+
<th><?php _e('Миниатюра для похожих записей:', 'rss-for-yandex-turbo'); ?></th>
|
1486 |
+
<td>
|
1487 |
+
<select name="ytrelatedselectthumb" style="width: 260px;">
|
1488 |
+
<?php $image_sizes = get_intermediate_image_sizes(); ?>
|
1489 |
+
<?php foreach ($image_sizes as $size_name): ?>
|
1490 |
+
<option value="<?php echo $size_name ?>" <?php if ($yturbo_options['ytrelatedselectthumb'] == $size_name) echo 'selected="selected"'; ?>><?php echo $size_name ?></option>
|
1491 |
+
<?php endforeach; ?>
|
1492 |
+
<option value="Не использовать" <?php if ($yturbo_options['ytrelatedselectthumb'] == 'Не использовать') echo 'selected="selected"'; ?>><?php echo 'Не использовать'; ?></option>
|
1493 |
+
</select>
|
1494 |
+
<br /><small><?php _e('Выберите нужный размер миниатюры (в списке находятся все зарегистрированные на сайте размеры миниатюр). ', 'rss-for-yandex-turbo'); ?><br />
|
1495 |
+
<?php _e('Вывод миниатюр для похожих записей можно отключить.', 'rss-for-yandex-turbo'); ?><br />
|
1496 |
+
</small>
|
1497 |
+
</td>
|
1498 |
+
</tr>
|
1499 |
+
<tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1500 |
+
<th class="tdcheckbox"><?php _e('Непрерывная лента статей:', 'rss-for-yandex-turbo'); ?></th>
|
1501 |
+
<td>
|
1502 |
+
<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>
|
1503 |
+
<br /><small><?php _e('Вместо обычного короткого списка похожих статей будет выводиться непрерывная лента из полных записей.', 'rss-for-yandex-turbo'); ?><br />
|
1504 |
+
<?php _e('При включении непрерывной ленты статей вывод миниатюр для похожих записей будет отключен.', 'rss-for-yandex-turbo'); ?><br />
|
1505 |
+
</small>
|
1506 |
+
</td>
|
1507 |
+
</tr>
|
1508 |
+
<tr class="ytrelatedchildtr" <?php if ($yturbo_options['ytrelated'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1509 |
+
<th class="tdcheckbox"><?php _e('Кэширование:', 'rss-for-yandex-turbo'); ?></th>
|
1510 |
+
<td>
|
1511 |
+
<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>
|
1512 |
+
<br /><small><?php _e('Для ускорения генерирования RSS-ленты вы можете включить кэширование списка похожих записей.', 'rss-for-yandex-turbo'); ?></small>
|
1513 |
+
</td>
|
1514 |
+
</tr>
|
1515 |
+
<tr class="ytcachetime" <?php if ($yturbo_options['ytrelated'] == 'disabled' or $yturbo_options['ytrelatedcache'] != 'enabled') echo 'style="display:none;"'; ?>>
|
1516 |
+
<th><?php _e('Время жизни кэша:', 'rss-for-yandex-turbo'); ?></th>
|
1517 |
+
<td>
|
1518 |
+
<input style="max-width: 70px;" name="ytrelatedcachetime" type="number" min="1" max="1000" step="1" value="<?php echo $yturbo_options['ytrelatedcachetime']; ?>" />
|
1519 |
+
<br /><small><?php _e('Укажите время жизни кэша (в часах).', 'rss-for-yandex-turbo'); ?><br />
|
1520 |
+
<?php _e('Внимание! Любое изменение настроек плагина скинет кэш похожих записей.', 'rss-for-yandex-turbo'); ?><br />
|
1521 |
+
</small>
|
1522 |
+
</td>
|
1523 |
+
</tr>
|
1524 |
+
<tr class="ytratingtr trbordertop">
|
1525 |
+
<th class="tdcheckbox"><?php _e('Рейтинг:', 'rss-for-yandex-turbo'); ?></th>
|
1526 |
+
<td>
|
1527 |
+
<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>
|
1528 |
+
<br /><small><?php _e('На турбо-страницы будет добавлен блок рейтинга (пример смотреть <a target="_blank" href="https://yandex.ru/dev/turbo/doc/rss/elements/rating-docpage/">здесь</a>).', 'rss-for-yandex-turbo'); ?></small>
|
1529 |
+
</td>
|
1530 |
+
</tr>
|
1531 |
+
<tr class="ytratingchildtr" <?php if ($yturbo_options['ytrating'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1532 |
+
<th><?php _e('Диапазон оценок:', 'rss-for-yandex-turbo'); ?></th>
|
1533 |
+
<td>
|
1534 |
+
<?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 esc_attr($yturbo_options['ytratingmin']); ?>" />
|
1535 |
+
<?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 esc_attr($yturbo_options['ytratingmax']); ?>" />
|
1536 |
+
<br /><small><?php _e('Укажите минимальную и максимальную оценку.', 'rss-for-yandex-turbo'); ?><br />
|
1537 |
+
<?php _e('Каждой записи будет присвоена случайная оценка в указанном диапазоне.', 'rss-for-yandex-turbo'); ?><br />
|
1538 |
+
<?php _e('Этот рейтинг будет выведен сразу после заголовка с миниатюрой записи.', 'rss-for-yandex-turbo'); ?><br />
|
1539 |
+
</small>
|
1540 |
+
</td>
|
1541 |
+
</tr>
|
1542 |
+
<tr class="ytsearchtr trbordertop">
|
1543 |
+
<th class="tdcheckbox"><?php _e('Поиск:', 'rss-for-yandex-turbo'); ?></th>
|
1544 |
+
<td>
|
1545 |
+
<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>
|
1546 |
+
<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 />
|
1547 |
+
<?php _e('На данный момент поиск не будет работать, если ваш сайт работает не на https протоколе.', 'rss-for-yandex-turbo'); ?>
|
1548 |
+
</small>
|
1549 |
+
</td>
|
1550 |
+
</tr>
|
1551 |
+
<tr class="ytsearchchildtr" <?php if ($yturbo_options['ytsearch'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1552 |
+
<th><?php _e('Текст по умолчанию:', 'rss-for-yandex-turbo'); ?></th>
|
1553 |
+
<td>
|
1554 |
+
<input type="text" style="width:200px;" name="ytsearchplaceholder" size="20" value="<?php echo esc_attr(stripslashes($yturbo_options['ytsearchplaceholder'])); ?>" />
|
1555 |
+
<br /><small><?php _e('Текст, который отображается в поисковой строке по умолчанию', 'rss-for-yandex-turbo'); ?><br />
|
1556 |
+
</small>
|
1557 |
+
</td>
|
1558 |
+
</tr>
|
1559 |
+
<tr class="ytsearchchildtr" <?php if ($yturbo_options['ytsearch'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1560 |
+
<th><?php _e('Расположение блока:', 'rss-for-yandex-turbo'); ?></th>
|
1561 |
+
<td>
|
1562 |
+
<select name="ytsearchmesto" id="ytsearchmesto" style="width: 260px;">
|
1563 |
+
<option value="В начале записи" <?php if ($yturbo_options['ytsearchmesto'] == 'В начале записи') echo 'selected="selected"'; ?>><?php _e('В начале записи', 'rss-for-yandex-turbo'); ?></option>
|
1564 |
+
<option value="В конце записи" <?php if ($yturbo_options['ytsearchmesto'] == 'В конце записи') echo 'selected="selected"'; ?>><?php _e('В конце записи', 'rss-for-yandex-turbo'); ?></option>
|
1565 |
+
</select>
|
1566 |
+
<br /><small><?php _e('В начале записи блок будет расположен после заголовка, а в конце записи после блока "Поделиться".', 'rss-for-yandex-turbo'); ?><br />
|
1567 |
+
</small>
|
1568 |
+
</td>
|
1569 |
+
</tr>
|
1570 |
+
|
1571 |
+
<tr class="trbordertop">
|
1572 |
+
<th></th>
|
1573 |
+
<td>
|
1574 |
+
<input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
|
1575 |
+
</td>
|
1576 |
+
</tr>
|
1577 |
+
|
1578 |
+
</table>
|
1579 |
+
</div><!-- end tab -->
|
1580 |
+
|
1581 |
+
<div class="xyztabs__content<?php if ($yturbo_options['yttab'] == 'Счетчики') echo ' active'; ?>"><!-- begin tab -->
|
1582 |
+
|
1583 |
+
<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>
|
1584 |
+
|
1585 |
+
<table class="form-table">
|
1586 |
+
<tr class="trbordertop">
|
1587 |
+
<th><?php _e('Яндекс.Метрика:', 'rss-for-yandex-turbo'); ?></th>
|
1588 |
+
<td>
|
1589 |
+
<input type="text" name="ytmetrika" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytmetrika'])); ?>" />
|
1590 |
+
<br /><small><?php _e('Укажите числовой идентификатор счетчика (например: <tt>3338249</tt>).', 'rss-for-yandex-turbo'); ?><br />
|
1591 |
+
</small>
|
1592 |
+
</td>
|
1593 |
+
</tr>
|
1594 |
+
<tr>
|
1595 |
+
<th><?php _e('LiveInternet:', 'rss-for-yandex-turbo'); ?></th>
|
1596 |
+
<td>
|
1597 |
+
<input type="text" name="ytliveinternet" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytliveinternet'])); ?>" />
|
1598 |
+
<br /><small><?php _e('Укажите идентификатор счетчика (например: <tt>site.ru</tt>).', 'rss-for-yandex-turbo'); ?></small>
|
1599 |
+
</td>
|
1600 |
+
</tr>
|
1601 |
+
<tr>
|
1602 |
+
<th><?php _e('Google Analytics:', 'rss-for-yandex-turbo'); ?></th>
|
1603 |
+
<td>
|
1604 |
+
<input type="text" name="ytgoogle" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytgoogle'])); ?>" />
|
1605 |
+
<br /><small><?php _e('Укажите идентификатор отслеживания (например: <tt>UA-12340005-6</tt>).', 'rss-for-yandex-turbo'); ?></small>
|
1606 |
+
</td>
|
1607 |
+
</tr>
|
1608 |
+
<tr>
|
1609 |
+
<th><?php _e('Рейтинг Mail.Ru:', 'rss-for-yandex-turbo'); ?></th>
|
1610 |
+
<td>
|
1611 |
+
<input type="text" name="ytmailru" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytmailru'])); ?>" />
|
1612 |
+
<br /><small><?php _e('Укажите числовой идентификатор счетчика (например: <tt>1234567</tt>).', 'rss-for-yandex-turbo'); ?></small>
|
1613 |
+
</td>
|
1614 |
+
</tr>
|
1615 |
+
<tr>
|
1616 |
+
<th><?php _e('Rambler Топ-100:', 'rss-for-yandex-turbo'); ?></th>
|
1617 |
+
<td>
|
1618 |
+
<input type="text" name="ytrambler" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytrambler'])); ?>" />
|
1619 |
+
<br /><small><?php _e('Укажите числовой идентификатор счетчика (например: <tt>4505046</tt>).', 'rss-for-yandex-turbo'); ?></small>
|
1620 |
+
</td>
|
1621 |
+
</tr>
|
1622 |
+
<tr>
|
1623 |
+
<th><?php _e('Mediascope (TNS):', 'rss-for-yandex-turbo'); ?></th>
|
1624 |
+
<td>
|
1625 |
+
<input type="text" name="ytmediascope" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytmediascope'])); ?>" />
|
1626 |
+
<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>
|
1627 |
+
</td>
|
1628 |
+
</tr>
|
1629 |
+
|
1630 |
+
<tr class="trbordertop">
|
1631 |
+
<th></th>
|
1632 |
+
<td>
|
1633 |
+
<input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
|
1634 |
+
</td>
|
1635 |
+
</tr>
|
1636 |
+
|
1637 |
+
</table>
|
1638 |
+
</div><!-- end tab -->
|
1639 |
+
|
1640 |
+
<div class="xyztabs__content<?php if ($yturbo_options['yttab'] == 'Реклама') echo ' active'; ?>"><!-- begin tab -->
|
1641 |
+
|
1642 |
+
<?php if (yturbo_check_ads() == true) echo '<div style="display:none;">'; ?>
|
1643 |
+
<p><?php _e('Реклама, установленная в Яндекс.Вебмастере, распределяется равномерно по тексту страницы (примерно каждые 2-3 экрана с общим ограничением в 10 рекламных блоков).', 'rss-for-yandex-turbo'); ?><br />
|
1644 |
+
<?php _e('Если у вас большие по размеру контента статьи или вас не устраивает частота, с которой Яндекс расставляет рекламу, то рекомендую попробовать плагин <a target="_blank" href="https://wpcase.ru/wpcase-turbo-ads/">WPCase: Turbo Ads</a>.', 'rss-for-yandex-turbo'); ?><br />
|
1645 |
+
<?php _e('В нем вы можете установить сколько угодно рекламных блоков и с той частотой, которая вам нужна (гибкие настройки вставки рекламных блоков).', 'rss-for-yandex-turbo'); ?><br /><br />
|
1646 |
+
<?php _e('Этот же плагин позволяет разместить максимально 5 рекламных блоков (только 3 в контенте статьи).', 'rss-for-yandex-turbo'); ?><br />
|
1647 |
+
<?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 />
|
1648 |
+
</p>
|
1649 |
+
|
1650 |
+
<table class="form-table">
|
1651 |
+
<tr class="myturbo trbordertop">
|
1652 |
+
<th class="tdcheckbox"><?php _e('Блок рекламы #1:', 'rss-for-yandex-turbo'); ?></th>
|
1653 |
+
<td>
|
1654 |
+
<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>
|
1655 |
+
<br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?></small>
|
1656 |
+
</td>
|
1657 |
+
</tr>
|
1658 |
+
<tr class="myturbo block1" <?php if ($yturbo_options['ytad1'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1659 |
+
<th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
|
1660 |
+
<td>
|
1661 |
+
<select name="ytad1set" id="ytad1set" style="width: 200px;">
|
1662 |
+
<option value="РСЯ" <?php if ($yturbo_options['ytad1set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
|
1663 |
+
<option value="ADFOX" <?php if ($yturbo_options['ytad1set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
|
1664 |
+
</select>
|
1665 |
+
<br /><small><?php _e('Рекламная сеть блока рекламы #1.', 'rss-for-yandex-turbo'); ?></small>
|
1666 |
+
</td>
|
1667 |
+
</tr>
|
1668 |
+
<tr class="myturbo trrsa block1" <?php if ($yturbo_options['ytad1'] == 'disabled' or $yturbo_options['ytad1set'] != 'РСЯ') echo 'style="display:none;"'; ?>>
|
1669 |
+
<th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
|
1670 |
+
<td>
|
1671 |
+
<input type="text" name="ytad1rsa" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytad1rsa'])); ?>" />
|
1672 |
+
<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'); ?>
|
1673 |
+
</td>
|
1674 |
+
</tr>
|
1675 |
+
<tr class="myturbo trfox1 block1" <?php if ($yturbo_options['ytad1'] == 'disabled' or $yturbo_options['ytad1set'] != 'ADFOX') echo 'style="display:none;"'; ?>>
|
1676 |
+
<th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
|
1677 |
+
<td>
|
1678 |
+
<textarea rows="12" cols="60" name="ytadfox1" id="ytadfox1"><?php echo stripcslashes($yturbo_options['ytadfox1']); ?></textarea>
|
1679 |
+
<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 />
|
1680 |
+
</small>
|
1681 |
+
</td>
|
1682 |
+
</tr>
|
1683 |
+
|
1684 |
+
<tr class="myturbo trbordertop">
|
1685 |
+
<th class="tdcheckbox"><?php _e('Блок рекламы #2:', 'rss-for-yandex-turbo'); ?></th>
|
1686 |
+
<td>
|
1687 |
+
<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>
|
1688 |
+
<br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?></small>
|
1689 |
+
</td>
|
1690 |
+
</tr>
|
1691 |
+
<tr class="myturbo block2" <?php if ($yturbo_options['ytad2'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1692 |
+
<th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
|
1693 |
+
<td>
|
1694 |
+
<select name="ytad2set" id="ytad2set" style="width: 200px;">
|
1695 |
+
<option value="РСЯ" <?php if ($yturbo_options['ytad2set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
|
1696 |
+
<option value="ADFOX" <?php if ($yturbo_options['ytad2set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
|
1697 |
+
</select>
|
1698 |
+
<br /><small><?php _e('Рекламная сеть блока рекламы #2.', 'rss-for-yandex-turbo'); ?></small>
|
1699 |
+
</td>
|
1700 |
+
</tr>
|
1701 |
+
<tr class="myturbo trrsa2 block2" <?php if ($yturbo_options['ytad2'] == 'disabled' or $yturbo_options['ytad2set'] != 'РСЯ') echo 'style="display:none;"'; ?>>
|
1702 |
+
<th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
|
1703 |
+
<td>
|
1704 |
+
<input type="text" name="ytad2rsa" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytad2rsa'])); ?>" />
|
1705 |
+
<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'); ?>
|
1706 |
+
</td>
|
1707 |
+
</tr>
|
1708 |
+
<tr class="myturbo trfox2 block2" <?php if ($yturbo_options['ytad2'] == 'disabled' or $yturbo_options['ytad2set'] != 'ADFOX') echo 'style="display:none;"'; ?>>
|
1709 |
+
<th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
|
1710 |
+
<td>
|
1711 |
+
<textarea rows="12" cols="60" name="ytadfox2" id="ytadfox2"><?php echo stripcslashes($yturbo_options['ytadfox2']); ?></textarea>
|
1712 |
+
<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 />
|
1713 |
+
</small>
|
1714 |
+
</td>
|
1715 |
+
</tr>
|
1716 |
+
<tr class="myturbo trbordertop">
|
1717 |
+
<th class="tdcheckbox"><?php _e('Блок рекламы #3:', 'rss-for-yandex-turbo'); ?></th>
|
1718 |
+
<td>
|
1719 |
+
<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>
|
1720 |
+
<br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?> </small>
|
1721 |
+
</td>
|
1722 |
+
</tr>
|
1723 |
+
<tr class="myturbo block3" <?php if ($yturbo_options['ytad3'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1724 |
+
<th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
|
1725 |
+
<td>
|
1726 |
+
<select name="ytad3set" id="ytad3set" style="width: 200px;">
|
1727 |
+
<option value="РСЯ" <?php if ($yturbo_options['ytad3set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
|
1728 |
+
<option value="ADFOX" <?php if ($yturbo_options['ytad3set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
|
1729 |
+
</select>
|
1730 |
+
<br /><small><?php _e('Рекламная сеть блока рекламы #3.', 'rss-for-yandex-turbo'); ?></small>
|
1731 |
+
</td>
|
1732 |
+
</tr>
|
1733 |
+
<tr class="myturbo trrsa3 block3" <?php if ($yturbo_options['ytad3'] == 'disabled' or $yturbo_options['ytad3set'] != 'РСЯ') echo 'style="display:none;"'; ?>>
|
1734 |
+
<th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
|
1735 |
+
<td>
|
1736 |
+
<input type="text" name="ytad3rsa" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytad3rsa'])); ?>" />
|
1737 |
+
<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'); ?>
|
1738 |
+
</td>
|
1739 |
+
</tr>
|
1740 |
+
<tr class="myturbo trfox3 block3" <?php if ($yturbo_options['ytad3'] == 'disabled' or $yturbo_options['ytad3set'] != 'ADFOX') echo 'style="display:none;"'; ?>>
|
1741 |
+
<th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
|
1742 |
+
<td>
|
1743 |
+
<textarea rows="12" cols="60" name="ytadfox3" id="ytadfox3"><?php echo stripcslashes($yturbo_options['ytadfox3']); ?></textarea>
|
1744 |
+
<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 />
|
1745 |
+
</small>
|
1746 |
+
</td>
|
1747 |
+
</tr>
|
1748 |
+
<tr class="myturbo trbordertop">
|
1749 |
+
<th class="tdcheckbox"><?php _e('Блок рекламы #4:', 'rss-for-yandex-turbo'); ?></th>
|
1750 |
+
<td>
|
1751 |
+
<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>
|
1752 |
+
<br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?><br />
|
1753 |
+
<?php _e('Рекламный блок будет выведен только, если включена опция вывода блока "Поделиться".', 'rss-for-yandex-turbo'); ?></small>
|
1754 |
+
</td>
|
1755 |
+
</tr>
|
1756 |
+
<tr class="myturbo block4" <?php if ($yturbo_options['ytad4'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1757 |
+
<th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
|
1758 |
+
<td>
|
1759 |
+
<select name="ytad4set" id="ytad4set" style="width: 200px;">
|
1760 |
+
<option value="РСЯ" <?php if ($yturbo_options['ytad4set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
|
1761 |
+
<option value="ADFOX" <?php if ($yturbo_options['ytad4set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
|
1762 |
+
</select>
|
1763 |
+
<br /><small><?php _e('Рекламная сеть блока рекламы #4.', 'rss-for-yandex-turbo'); ?></small>
|
1764 |
+
</td>
|
1765 |
+
</tr>
|
1766 |
+
<tr class="myturbo trrsa4 block4" <?php if ($yturbo_options['ytad4'] == 'disabled' or $yturbo_options['ytad4set'] != 'РСЯ') echo 'style="display:none;"'; ?>>
|
1767 |
+
<th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
|
1768 |
+
<td>
|
1769 |
+
<input type="text" name="ytad4rsa" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytad4rsa'])); ?>" />
|
1770 |
+
<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'); ?>
|
1771 |
+
</td>
|
1772 |
+
</tr>
|
1773 |
+
<tr class="myturbo trfox4 block4" <?php if ($yturbo_options['ytad4'] == 'disabled' or $yturbo_options['ytad4set'] != 'ADFOX') echo 'style="display:none;"'; ?>>
|
1774 |
+
<th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
|
1775 |
+
<td>
|
1776 |
+
<textarea rows="12" cols="60" name="ytadfox4" id="ytadfox4"><?php echo stripcslashes($yturbo_options['ytadfox4']); ?></textarea>
|
1777 |
+
<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 />
|
1778 |
+
</small>
|
1779 |
+
</td>
|
1780 |
+
</tr>
|
1781 |
+
<tr class="myturbo trbordertop">
|
1782 |
+
<th class="tdcheckbox"><?php _e('Блок рекламы #5:', 'rss-for-yandex-turbo'); ?></th>
|
1783 |
+
<td>
|
1784 |
+
<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>
|
1785 |
+
<br /><small><?php _e('Будет включен блок рекламы на турбо-страницах в выбранном вами месте.', 'rss-for-yandex-turbo'); ?> <br />
|
1786 |
+
<?php _e('Рекламный блок будет выведен только, если к записи есть хотя бы один комментарий (и включен вывод комментариев).', 'rss-for-yandex-turbo'); ?></small>
|
1787 |
+
</td>
|
1788 |
+
</tr>
|
1789 |
+
<tr class="myturbo block5" <?php if ($yturbo_options['ytad5'] == 'disabled') echo 'style="display:none;"'; ?>>
|
1790 |
+
<th><?php _e('Рекламная сеть:', 'rss-for-yandex-turbo'); ?></th>
|
1791 |
+
<td>
|
1792 |
+
<select name="ytad5set" id="ytad5set" style="width: 200px;">
|
1793 |
+
<option value="РСЯ" <?php if ($yturbo_options['ytad5set'] == 'РСЯ') echo 'selected="selected"'; ?>><?php _e('РСЯ', 'rss-for-yandex-turbo'); ?></option>
|
1794 |
+
<option value="ADFOX" <?php if ($yturbo_options['ytad5set'] == 'ADFOX') echo 'selected="selected"'; ?>><?php _e('ADFOX', 'rss-for-yandex-turbo'); ?></option>
|
1795 |
+
</select>
|
1796 |
+
<br /><small><?php _e('Рекламная сеть блока рекламы #5.', 'rss-for-yandex-turbo'); ?></small>
|
1797 |
+
</td>
|
1798 |
+
</tr>
|
1799 |
+
<tr class="myturbo trrsa5 block5" <?php if ($yturbo_options['ytad5'] == 'disabled' or $yturbo_options['ytad5set'] != 'РСЯ') echo 'style="display:none;"'; ?>>
|
1800 |
+
<th><?php _e('РСЯ идентификатор:', 'rss-for-yandex-turbo'); ?></th>
|
1801 |
+
<td>
|
1802 |
+
<input type="text" name="ytad5rsa" size="22" value="<?php echo esc_attr(stripslashes($yturbo_options['ytad5rsa'])); ?>" />
|
1803 |
+
<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'); ?>
|
1804 |
+
</td>
|
1805 |
+
</tr>
|
1806 |
+
<tr class="myturbo trfox5 block5" <?php if ($yturbo_options['ytad5'] == 'disabled' or $yturbo_options['ytad5set'] != 'ADFOX') echo 'style="display:none;"'; ?>>
|
1807 |
+
<th><?php _e('Код ADFOX:', 'rss-for-yandex-turbo'); ?></th>
|
1808 |
+
<td>
|
1809 |
+
<textarea rows="12" cols="60" name="ytadfox5" id="ytadfox5"><?php echo stripcslashes($yturbo_options['ytadfox5']); ?></textarea>
|
1810 |
+
<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 />
|
1811 |
+
</small>
|
1812 |
+
</td>
|
1813 |
+
</tr>
|
1814 |
+
<tr class="myturbo trbordertop">
|
1815 |
+
<th><?php _e('Минимальный размер записи:', 'rss-for-yandex-turbo'); ?></th>
|
1816 |
+
<td>
|
1817 |
+
<input style="max-width: 54px;" name="ytrazmer" type="number" min="1" max="10000" step="1" value="<?php echo $yturbo_options['ytrazmer']; ?>" />
|
1818 |
+
<br /><small><?php _e('Укажите минимальное количество символов записи для добавления рекламы.', 'rss-for-yandex-turbo'); ?><br/>
|
1819 |
+
<?php _e('Данная опция используется только при вставке рекламы в <strong>середину</strong> записи.', 'rss-for-yandex-turbo'); ?><br/>
|
1820 |
+
<?php _e('Учитывается только текст контента записи (HTML-разметка не считается).', 'rss-for-yandex-turbo'); ?>
|
1821 |
+
</small>
|
1822 |
+
</td>
|
1823 |
+
</tr>
|
1824 |
+
|
1825 |
+
<tr class="trbordertop">
|
1826 |
+
<th></th>
|
1827 |
+
<td>
|
1828 |
+
<input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
|
1829 |
+
</td>
|
1830 |
+
</tr>
|
1831 |
+
|
1832 |
+
</table>
|
1833 |
+
<?php if (yturbo_check_ads() == true) echo '</div>'; ?>
|
1834 |
+
<?php if (yturbo_check_ads() == true) : ?>
|
1835 |
+
<div class="alert alert-success">
|
1836 |
+
<?php $turboadslink = get_bloginfo('url') .'/wp-admin/options-general.php?page=wpcase-turbo-ads.php'; ?>
|
1837 |
+
<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>
|
1838 |
+
</div>
|
1839 |
+
<?php endif; ?>
|
1840 |
+
</div><!-- end tab -->
|
1841 |
+
|
1842 |
+
<div class="xyztabs__content<?php if ($yturbo_options['yttab'] == 'Типы записей и исключения') echo ' active'; ?>"><!-- begin tab -->
|
1843 |
+
|
1844 |
+
<p><?php _e('Если у вас магазин на WordPress, то не включайте тип "Товары", а используйте <a target="_blank" href="https://webmaster.yandex.ru/blog/internet-magaziny-v-turbo">плагин генерации YML</a>.', 'rss-for-yandex-turbo'); ?><br />
|
1845 |
+
<?php _e('Будьте внимательны при настройке таксономий для включения или исключения из RSS-ленты.', 'rss-for-yandex-turbo'); ?><br />
|
1846 |
+
</p>
|
1847 |
+
|
1848 |
+
<table class="form-table">
|
1849 |
+
<tr class="trbordertop">
|
1850 |
+
<th class="tdcheckbox"><?php _e('Типы записей:', 'rss-for-yandex-turbo'); ?></th>
|
1851 |
+
<td>
|
1852 |
+
<?php
|
1853 |
+
$registered = get_post_types( array('public'=> true), 'objects' );
|
1854 |
+
$exclude = array('attachment');
|
1855 |
+
$types = array();
|
1856 |
+
|
1857 |
+
foreach ($registered as $post) {
|
1858 |
+
if ( in_array($post->name, $exclude) ) {
|
1859 |
+
continue;
|
1860 |
+
}
|
1861 |
+
$types[$post->name] = $post->name;
|
1862 |
+
}
|
1863 |
+
|
1864 |
+
$yttype = explode(",", $yturbo_options['yttype']);
|
1865 |
+
$yttype = array_diff($yttype, array(''));
|
1866 |
+
|
1867 |
+
foreach ($types as $post_type) {
|
1868 |
+
$obj = get_post_type_object($post_type); ?>
|
1869 |
+
<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>
|
1870 |
+
<?php } ?>
|
1871 |
+
<small><?php _e('Типы записей для включения в RSS-ленту.', 'rss-for-yandex-turbo'); ?></small>
|
1872 |
+
</td>
|
1873 |
+
</tr>
|
1874 |
+
<tr class="ytqueryselect trbordertop">
|
1875 |
+
<th><?php _e('Включить в RSS:', 'rss-for-yandex-turbo'); ?></th>
|
1876 |
+
<td>
|
1877 |
+
<select name="ytqueryselect" id="ytqueryselect" style="width: 280px;">
|
1878 |
+
<option value="Все таксономии, кроме исключенных" <?php if ($yturbo_options['ytqueryselect'] == 'Все таксономии, кроме исключенных') echo 'selected="selected"'; ?>><?php _e('Все таксономии, кроме исключенных', 'rss-for-yandex-turbo'); ?></option>
|
1879 |
+
<option value="Только указанные таксономии" <?php if ($yturbo_options['ytqueryselect'] == 'Только указанные таксономии') echo 'selected="selected"'; ?>><?php _e('Только указанные таксономии', 'rss-for-yandex-turbo'); ?></option>
|
1880 |
+
</select>
|
1881 |
+
<br /><small>
|
1882 |
+
<span id="includespan" <?php if ($yturbo_options['ytqueryselect'] != 'Только указанные таксономии') echo 'style="display:none;"'; ?>><?php _e('Обязательно выберите ниже таксономии для включения в ленту - иначе лента будет пустой.', 'rss-for-yandex-turbo'); ?><br /><?php _e('В этом режиме "страницы" в ленту не попадут, так как они не принадлежат таксономиям.', 'rss-for-yandex-turbo'); ?></span>
|
1883 |
+
<span id="excludespan" <?php if ($yturbo_options['ytqueryselect'] != 'Все таксономии, кроме исключенных') echo 'style="display:none;"'; ?>><?php _e('По умолчанию в ленту попадают записи всех таксономий, кроме выбранных ниже.', 'rss-for-yandex-turbo'); ?><br /></span>
|
1884 |
+
</small>
|
1885 |
+
</td>
|
1886 |
+
</tr>
|
1887 |
+
<?php
|
1888 |
+
$taxonomies = get_taxonomies( array('public'=>true,'show_ui'=>true,), 'objects', 'and' );
|
1889 |
+
foreach ($taxonomies as $taxonomy) {
|
1890 |
+
$terms = get_terms($taxonomy->name, array('hide_empty'=>false,'hierarchical'=>false,'number'=>1,));
|
1891 |
+
if ( ! empty($terms) ) :
|
1892 |
+
?>
|
1893 |
+
<tr>
|
1894 |
+
<th class="tdcheckbox"><?php echo $taxonomy->labels->name; ?> <span class="thexclude" <?php if ($yturbo_options['ytqueryselect'] != 'Все таксономии, кроме исключенных') echo 'style="display:none;"'; ?>> <?php _e('для исключения:', 'rss-for-yandex-turbo'); ?></span><span class="thinclude" <?php if ($yturbo_options['ytqueryselect'] != 'Только указанные таксономии') echo 'style="display:none;"'; ?>> <?php _e('для добавления:', 'rss-for-yandex-turbo'); ?></span>
|
1895 |
+
</th>
|
1896 |
+
<td>
|
1897 |
+
<div class="list_terms_scroll_wrapper">
|
1898 |
+
|
1899 |
+
<?php echo "<ul class='exclude_terms' id='exclude_{$taxonomy->name}'>"; ?>
|
1900 |
+
|
1901 |
+
<?php
|
1902 |
+
$exclude_term_ids ='';
|
1903 |
+
if ( isset($yturbo_options['exclude-'.$taxonomy->name]) && $yturbo_options['exclude-'.$taxonomy->name] ) {
|
1904 |
+
$yttaxlist = $yturbo_options['exclude-'.$taxonomy->name];
|
1905 |
+
$tax = explode(":", $yttaxlist);
|
1906 |
+
$exclude_term_ids = wp_parse_id_list($tax[1]);
|
1907 |
+
}
|
1908 |
+
|
1909 |
+
if ( $exclude_term_ids ) {
|
1910 |
+
$terms = get_terms( $taxonomy->name, array('include'=>$exclude_term_ids,'hide_empty'=>false,'hierarchical'=>false) );
|
1911 |
+
foreach ($terms as $term) {
|
1912 |
+
echo "<li><input type='checkbox' name='exclude-{$taxonomy->name}[{$term->term_id}]' id='exclude_{$term->term_id}' value='{$term->term_id}' checked='checked' /> <label for='exclude_{$term->term_id}'>" . esc_html($term->name) . "</label></li> ";
|
1913 |
+
}
|
1914 |
+
}
|
1915 |
+
?>
|
1916 |
+
|
1917 |
+
<?php echo "</ul>"; ?>
|
1918 |
+
</div>
|
1919 |
+
<small class="exclude-small-text" <?php if ($yturbo_options['ytqueryselect'] != 'Все таксономии, кроме исключенных') echo 'style="display:none;"'; ?>>
|
1920 |
+
<?php _e('Выбранные ', 'rss-for-yandex-turbo'); ?><?php echo mb_strtolower($taxonomy->labels->name); ?><?php _e(' будут <strong style="color:red;">исключены</strong> из RSS-ленты.', 'rss-for-yandex-turbo'); ?><br />
|
1921 |
+
</small>
|
1922 |
+
<small class="include-small-text" <?php if ($yturbo_options['ytqueryselect'] != 'Только указанные таксономии') echo 'style="display:none;"'; ?>>
|
1923 |
+
<?php _e('Выбранные ', 'rss-for-yandex-turbo'); ?><?php echo mb_strtolower($taxonomy->labels->name); ?><?php _e(' будут <strong style="color:green;">добавлены</strong> в RSS-ленту.', 'rss-for-yandex-turbo'); ?><br />
|
1924 |
+
</small>
|
1925 |
+
<?php if( ! next($taxonomies) ) { ?>
|
1926 |
+
<small>
|
1927 |
+
<br /><?php _e('Исключать из RSS-ленты отдельные записи необходимо в метабоксе плагина на странице редактировании записи.', 'rss-for-yandex-turbo'); ?><br />
|
1928 |
+
</small>
|
1929 |
+
<?php } ?>
|
1930 |
+
</td>
|
1931 |
+
</tr>
|
1932 |
+
<?php endif; ?>
|
1933 |
+
<?php } ?>
|
1934 |
+
<tr class="trbordertop">
|
1935 |
+
<th class="tdcheckbox"><?php _e('Колонка в админке:', 'rss-for-yandex-turbo'); ?></th>
|
1936 |
+
<td>
|
1937 |
+
<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>
|
1938 |
+
<br /><small><?php _e('Будет выведена колонка (при просмотре списка записей) с информацией о турбо-статусе записей.', 'rss-for-yandex-turbo'); ?><br />
|
1939 |
+
<?php _e('Статусы: есть в RSS-ленте, исключена вручную, запись на удалении, исключена фильтрами таксономий.', 'rss-for-yandex-turbo'); ?><br />
|
1940 |
+
<?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 class="xyztabs__content<?php if ($yturbo_options['yttab'] == 'Шаблоны') echo ' active'; ?>"><!-- begin tab -->
|
1955 |
+
|
1956 |
+
<p><?php _e('Здесь можно создать собственный шаблон формирования контента для указанного типа записей.', 'rss-for-yandex-turbo'); ?><br />
|
1957 |
+
<?php _e('Чтобы здесь появились все выбранные вами типы записей - <strong>сохраните</strong> настройки плагина.', 'rss-for-yandex-turbo'); ?><br />
|
1958 |
+
</p>
|
1959 |
+
|
1960 |
+
<p><?php _e('В шаблоне по умолчанию для каждого типа записей выводится только поле <strong>post_content</strong>.', 'rss-for-yandex-turbo'); ?><br />
|
1961 |
+
<?php _e('В стандартных типах записей (<strong>post</strong>, <strong>page</strong>) в этом поле содержится весь контент записи.', 'rss-for-yandex-turbo'); ?><br /></p>
|
1962 |
+
|
1963 |
+
<p><?php _e('Для использования произвольных полей оберните название произвольного поля символами <strong>%%</strong>.', 'rss-for-yandex-turbo'); ?><br />
|
1964 |
+
<?php _e('Например, <strong>%%views%%</strong>, <strong>%%ratings%%</strong> или <strong>%%_aioseop_title%%</strong>.', 'rss-for-yandex-turbo'); ?>
|
1965 |
+
</p>
|
1966 |
+
|
1967 |
+
<p><?php _e('Простой пример собственного шаблона:', 'rss-for-yandex-turbo'); ?></p>
|
1968 |
|
1969 |
<pre><h2>Приветствуем!</h2>
|
1970 |
|
1976 |
|
1977 |
</pre>
|
1978 |
|
1979 |
+
<p><?php _e('То есть данную функцию плагина можно использовать в качестве "подписи" к вашим записям на турбо-страницах.', 'rss-for-yandex-turbo'); ?><br />
|
1980 |
+
<?php _e('Учтите, что фильтры плагина сработают уже после формирования контента записи по вашему шаблону.', 'rss-for-yandex-turbo'); ?><br />
|
1981 |
+
</p>
|
1982 |
+
|
1983 |
+
<p><?php _e('В шаблоне можно использовать шорткоды (убедитесь, что их вывод не содержит скрипты или css-код).', 'rss-for-yandex-turbo'); ?><br />
|
1984 |
+
<?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>
|
1985 |
+
<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 />
|
1986 |
+
</p>
|
1987 |
+
|
1988 |
+
<table class="form-table">
|
1989 |
+
<?php
|
1990 |
+
$i = 0;
|
1991 |
+
foreach ($types as $post_type) {
|
1992 |
+
$obj = get_post_type_object($post_type);
|
1993 |
+
|
1994 |
+
if ( in_array($post_type, $yttype) ) {
|
1995 |
+
$i++; ?>
|
1996 |
+
<tr class="trbordertop">
|
1997 |
+
<th class="tdcheckbox"><?php echo $obj->labels->name; ?>:</th>
|
1998 |
+
<td>
|
1999 |
+
|
2000 |
+
<style>
|
2001 |
+
i.mce-i-yablocks {background-image: url('<?php echo $purl; ?>/img/yablocks.png');}
|
2002 |
+
i.mce-i-small {background-image: url('<?php echo $purl; ?>/img/small.png');}
|
2003 |
+
i.mce-i-big {background-image: url('<?php echo $purl; ?>/img/big.png');}
|
2004 |
+
</style>
|
2005 |
+
<?php if ( ! isset($yturbo_options['template-'.$post_type]) ) $yturbo_options['template-'.$post_type] = ''; ?>
|
2006 |
+
<?php if ( $yturbo_options['template-'.$post_type] == '' ) $yturbo_options['template-'.$post_type]='%%post_content%%'; ?>
|
2007 |
+
|
2008 |
+
<?php $content = html_entity_decode(stripcslashes($yturbo_options['template-'.$post_type]),ENT_QUOTES); ?>
|
2009 |
+
<?php $editor_id = 'wpeditor' . $post_type; ?>
|
2010 |
+
<?php $textarea_name = 'template-' . $post_type; ?>
|
2011 |
+
<?php $settings = array(
|
2012 |
+
'textarea_name' => $textarea_name,
|
2013 |
+
'wpautop' => 1,
|
2014 |
+
'media_buttons' => 1,
|
2015 |
+
'textarea_rows' => 16,
|
2016 |
+
'editor_height' => 300,
|
2017 |
+
'tinymce' => array(
|
2018 |
+
'toolbar1' => 'undo,redo,formatselect,bold,italic,underline,strikethrough,superscript,subscript,hr,blockquote,link,unlink,bullist,numlist,table,yablocks,',
|
2019 |
+
'toolbar2' => '',
|
2020 |
+
'toolbar3' => '',
|
2021 |
+
'content_css' => $purl . '/inc/editor.css?ver=' . $yturbo_options['version'],
|
2022 |
+
),
|
2023 |
+
'quicktags' => array(
|
2024 |
+
'id' => $editor_id,
|
2025 |
+
'buttons' => 'strong,em,link,block,del,hr,img,ul,ol,li,code,close,'
|
2026 |
+
),
|
2027 |
+
);
|
2028 |
+
?>
|
2029 |
+
<?php wp_editor($content, $editor_id, $settings); ?>
|
2030 |
+
<small><?php _e('Шаблон контента для типа записи', 'rss-for-yandex-turbo'); ?>: <strong><?php echo $post_type; ?></strong>.</small>
|
2031 |
+
|
2032 |
+
</td>
|
2033 |
+
</tr>
|
2034 |
+
<?php }
|
2035 |
+
} ?>
|
2036 |
+
<?php if ( $i == 0 ) echo __('<p><strong style="color:red;">Внимание!</strong> У вас не включен вывод ни для одного типа записей. <br />Перейдите на вкладку "<a href="#tab6">Типы записей и исключения</a>" и включите хотя бы один тип записей.</p>', 'rss-for-yandex-turbo'); ?>
|
2037 |
+
|
2038 |
+
<tr class="trbordertop">
|
2039 |
+
<th></th>
|
2040 |
+
<td>
|
2041 |
+
<input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
|
2042 |
+
</td>
|
2043 |
+
</tr>
|
2044 |
+
</table>
|
2045 |
+
</div><!-- end tab -->
|
2046 |
+
|
2047 |
+
<div class="xyztabs__content<?php if ($yturbo_options['yttab'] == 'Фильтры') echo ' active'; ?>"><!-- begin tab -->
|
2048 |
+
|
2049 |
+
<p><?php _e('В данной секции находятся продвинутые настройки. <br />Пожалуйста, будьте внимательны в этом разделе!', 'rss-for-yandex-turbo'); ?> </p>
|
2050 |
+
|
2051 |
+
<table class="form-table">
|
2052 |
+
<tr class="ytexcludeshortcodestr trbordertop">
|
2053 |
+
<th class="tdcheckbox"><?php _e('Фильтр шорткодов:', 'rss-for-yandex-turbo'); ?></th>
|
2054 |
+
<td>
|
2055 |
+
<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>
|
2056 |
+
<br /><small><?php _e('Из контента записей будут удалены все указанные шорткоды (вместе с их контентом).', 'rss-for-yandex-turbo'); ?> </small>
|
2057 |
+
</td>
|
2058 |
+
</tr>
|
2059 |
+
<tr class="ytexcludeshortcodeslisttr" <?php if ($yturbo_options['ytexcludeshortcodes'] == 'disabled') echo 'style="display:none;"'; ?>>
|
2060 |
+
<th style="padding-top: 5px!important;"><?php _e('Шорткоды для удаления:', 'rss-for-yandex-turbo'); ?></th>
|
2061 |
+
<td style="padding-top: 5px!important;">
|
2062 |
+
<?php
|
2063 |
+
$shortcodes = $GLOBALS['shortcode_tags'];
|
2064 |
+
$exclude = array('wp_caption','caption','gallery','playlist','audio','video','embed','yt-permalink','yt-title');
|
2065 |
+
$result = array();
|
2066 |
+
|
2067 |
+
foreach ($shortcodes as $key => $value) {
|
2068 |
+
if ( ! in_array($key, $exclude) ) {
|
2069 |
+
$result[] = $key;
|
2070 |
+
}
|
2071 |
+
}
|
2072 |
+
|
2073 |
+
$ytshortcodes = explode(",", $yturbo_options['ytexcludeshortcodeslist']);
|
2074 |
+
$ytshortcodes = array_diff($ytshortcodes, array(''));
|
2075 |
+
|
2076 |
+
if ( ! empty($result) ) :
|
2077 |
+
|
2078 |
+
echo '<ul class="ulshortcodes">';
|
2079 |
+
foreach ($result as $shortcode) { ?>
|
2080 |
+
<li><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></li>
|
2081 |
+
<?php } ?>
|
2082 |
+
</ul>
|
2083 |
+
<small><?php _e('В списке находятся все зарегистрированные на сайте шорткоды, кроме системных.', 'rss-for-yandex-turbo'); ?><br />
|
2084 |
+
</small>
|
2085 |
+
|
2086 |
+
<?php else : ?>
|
2087 |
+
<p style="margin-top: -5px;"><?php _e('Сторонних шорткодов не найдено.', 'rss-for-yandex-turbo'); ?></p>
|
2088 |
+
<?php endif; ?>
|
2089 |
+
</td>
|
2090 |
+
</tr>
|
2091 |
+
<tr class="ytexcludetagstr trbordertop">
|
2092 |
+
<th class="tdcheckbox"><?php _e('Фильтр тегов (без контента):', 'rss-for-yandex-turbo'); ?></th>
|
2093 |
+
<td>
|
2094 |
+
<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>
|
2095 |
+
<br /><small><?php _e('Из контента записей будут удалены все указанные html-теги (<strong>без контента этих тегов</strong>).', 'rss-for-yandex-turbo'); ?></small>
|
2096 |
+
</td>
|
2097 |
+
</tr>
|
2098 |
+
<tr class="ytexcludetagslisttr" <?php if ($yturbo_options['ytexcludetags'] == 'disabled') echo 'style="display:none;"'; ?>>
|
2099 |
+
<th style="padding-top: 5px;"><?php _e('Теги для удаления:', 'rss-for-yandex-turbo'); ?></th>
|
2100 |
+
<td style="padding-top: 5px;">
|
2101 |
+
<input style="display:none;" name="ytexcludetagslist-input" class="ytexcludetagslist-input" placeholder="" value="<?php echo esc_attr(stripslashes($yturbo_options['ytexcludetagslist'])); ?>" />
|
2102 |
+
<input type="hidden" id="tags-list" value="<?php echo yturbo_tags_list(); ?>" />
|
2103 |
+
<input type="hidden" name="ytexcludetagslist" id="ytexcludetagslist" value="<?php echo esc_attr(stripslashes($yturbo_options['ytexcludetagslist'])); ?>" />
|
2104 |
+
<small><?php _e('Список удаляемых html-тегов. Начните набирать нужный тег для подсказки.', 'rss-for-yandex-turbo'); ?><br />
|
2105 |
+
<?php _e('Самозакрывающиеся теги вроде <tt><br /></tt> этим фильтром удалить нельзя.', 'rss-for-yandex-turbo'); ?><br />
|
2106 |
+
<?php _e('Список возможных для удаления тегов можно <a target="_blank" href="https://ru.wordpress.org/plugins/rss-for-yandex-turbo/#%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8%D1%82%D1%8C%20%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%B3%D0%BE%D0%B2%20%D0%B4%D0%BB%D1%8F%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%3F">переопределить</a>.', 'rss-for-yandex-turbo'); ?><br />
|
2107 |
+
</small>
|
2108 |
+
</td>
|
2109 |
+
</tr>
|
2110 |
+
<tr class="ytexcludetags2tr trbordertop">
|
2111 |
+
<th class="tdcheckbox"><?php _e('Фильтр тегов (с контентом):', 'rss-for-yandex-turbo'); ?></th>
|
2112 |
+
<td>
|
2113 |
+
<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>
|
2114 |
+
<br /><small><?php _e('Из контента записей будут удалены все указанные html-теги (<strong>включая контент этих тегов</strong>).', 'rss-for-yandex-turbo'); ?></small>
|
2115 |
+
</td>
|
2116 |
+
</tr>
|
2117 |
+
<tr class="ytexcludetagslist2tr" <?php if ($yturbo_options['ytexcludetags2'] == 'disabled') echo 'style="display:none;"'; ?>>
|
2118 |
+
<th style="padding-top: 5px;"><?php _e('Теги для удаления:', 'rss-for-yandex-turbo'); ?></th>
|
2119 |
+
<td style="padding-top: 5px;">
|
2120 |
+
<input style="display:none;" name="ytexcludetagslist-input2" class="ytexcludetagslist-input2" placeholder="" value="<?php echo esc_attr(stripslashes($yturbo_options['ytexcludetagslist2'])); ?>" />
|
2121 |
+
<input type="hidden" id="tags-list2" value="<?php echo yturbo_tags_list(); ?>" />
|
2122 |
+
<input type="hidden" name="ytexcludetagslist2" id="ytexcludetagslist2" value="<?php echo esc_attr(stripslashes($yturbo_options['ytexcludetagslist2'])); ?>" />
|
2123 |
+
<small><?php _e('Список удаляемых html-тегов. Начните набирать нужный тег для подсказки.', 'rss-for-yandex-turbo'); ?><br />
|
2124 |
+
<?php _e('Самозакрывающиеся теги вроде <tt><br /></tt> этим фильтром удалить нельзя.', 'rss-for-yandex-turbo'); ?><br />
|
2125 |
+
<?php _e('Список возможных для удаления тегов можно <a target="_blank" href="https://ru.wordpress.org/plugins/rss-for-yandex-turbo/#%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8%D1%82%D1%8C%20%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%B3%D0%BE%D0%B2%20%D0%B4%D0%BB%D1%8F%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%3F">переопределить</a>.', 'rss-for-yandex-turbo'); ?><br />
|
2126 |
+
</small>
|
2127 |
+
</td>
|
2128 |
+
</tr>
|
2129 |
+
<tr class="ytexcludecontenttr trbordertop">
|
2130 |
+
<th class="tdcheckbox"><?php _e('Контент для удаления:', 'rss-for-yandex-turbo'); ?></th>
|
2131 |
+
<td>
|
2132 |
+
<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>
|
2133 |
+
<br /><small><?php _e('Точные вхождения указанного контента будут удалены из записей в RSS-ленте.', 'rss-for-yandex-turbo'); ?></small>
|
2134 |
+
</td>
|
2135 |
+
</tr>
|
2136 |
+
<tr class="ytexcludecontentlisttr" <?php if ($yturbo_options['ytexcludecontent'] == 'disabled') echo 'style="display:none;"'; ?>>
|
2137 |
+
<th><?php _e('Список удаляемого контента:', 'rss-for-yandex-turbo'); ?></th>
|
2138 |
+
<td>
|
2139 |
+
<textarea rows="8" cols="70" name="ytexcludecontentlist" id="ytexcludecontentlist"><?php echo stripcslashes($yturbo_options['ytexcludecontentlist']); ?></textarea>
|
2140 |
+
<br /><small><?php _e('Каждый новый шаблон для удаления должен начинаться с новой строки.', 'rss-for-yandex-turbo'); ?><br />
|
2141 |
+
</small>
|
2142 |
+
</td>
|
2143 |
+
</tr>
|
2144 |
+
|
2145 |
+
<tr class="trbordertop">
|
2146 |
+
<th></th>
|
2147 |
+
<td>
|
2148 |
+
<input type="submit" name="submit" class="button button-primary" value="<?php _e('Сохранить настройки »', 'rss-for-yandex-turbo'); ?>" />
|
2149 |
+
</td>
|
2150 |
+
</tr>
|
2151 |
+
</table>
|
2152 |
+
</div><!-- end tab -->
|
2153 |
|
2154 |
</div><!-- .xyztabs -->
|
2155 |
|
2157 |
<script>
|
2158 |
var closeabout = localStorage.getItem('yt-close-about');
|
2159 |
if (closeabout == 'yes') {
|
2160 |
+
document.getElementById('about').className = 'postbox hide';
|
2161 |
+
document.getElementById('restore-hide-blocks').className = 'dashicons dashicons-admin-generic';
|
2162 |
}
|
2163 |
</script>
|
2164 |
+
<h3 style="border-bottom: 1px solid #E1E1E1;background: #f7f7f7;"><?php _e('О плагине', 'rss-for-yandex-turbo'); ?>
|
2165 |
+
<span id="close-about" class="dashicons dashicons-no-alt" title="<?php _e('Скрыть блок', 'rss-for-yandex-turbo'); ?>"></span></h3>
|
2166 |
+
<div class="inside" style="padding-bottom:15px;display: block;">
|
2167 |
+
|
2168 |
+
<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>
|
2169 |
+
<p style="margin-top:20px;margin-bottom:10px;"><?php _e('Возможно, что вам также будут интересны другие мои плагины:', 'rss-for-yandex-turbo'); ?></p>
|
2170 |
+
|
2171 |
+
<div class="about">
|
2172 |
+
<ul>
|
2173 |
+
<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>
|
2174 |
+
<li><a target="_blank" href="https://ru.wordpress.org/plugins/bbspoiler/">BBSpoiler</a> - <?php _e('плагин позволит вам спрятать текст под тегами [spoiler]текст[/spoiler].', 'rss-for-yandex-turbo'); ?></li>
|
2175 |
+
<li><a target="_blank" href="https://ru.wordpress.org/plugins/easy-textillate/">Easy Textillate</a> - <?php _e('плагин очень красиво анимирует текст (шорткодами в записях и виджетах или PHP-кодом в файлах темы).', 'rss-for-yandex-turbo'); ?> </li>
|
2176 |
+
<li><a target="_blank" href="https://ru.wordpress.org/plugins/cool-image-share/">Cool Image Share</a> - <?php _e('плагин добавляет иконки социальных сетей на каждое изображение в ваших записях.', 'rss-for-yandex-turbo'); ?> </li>
|
2177 |
+
<li><a target="_blank" href="https://ru.wordpress.org/plugins/today-yesterday-dates/">Today-Yesterday Dates</a> - <?php _e('относительные даты для записей за сегодня и вчера.', 'rss-for-yandex-turbo'); ?> </li>
|
2178 |
+
<li><a target="_blank" href="https://ru.wordpress.org/plugins/truncate-comments/">Truncate Comments</a> - <?php _e('плагин скрывает длинные комментарии js-скриптом (в стиле Яндекса или Амазона).', 'rss-for-yandex-turbo'); ?> </li>
|
2179 |
+
<li><a target="_blank" href="https://ru.wordpress.org/plugins/easy-yandex-share/">Easy Yandex Share</a> - <?php _e('продвинутый вывод блока “Яндекс.Поделиться”.', 'rss-for-yandex-turbo'); ?></li>
|
2180 |
+
<li><a target="_blank" href="https://ru.wordpress.org/plugins/hide-my-dates/">Hide My Dates</a> - <?php _e('плагин прячет от Гугла даты публикации записей и комментариев.', 'rss-for-yandex-turbo'); ?></li>
|
2181 |
+
<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>
|
2182 |
+
|
2183 |
+
</ul>
|
2184 |
+
</div>
|
2185 |
+
</div>
|
2186 |
</div>
|
2187 |
+
<?php wp_nonce_field(plugin_basename(__FILE__), 'yturbo_nonce'); ?>
|
2188 |
<?php wp_nonce_field('yturbo_display_exclude_terms', 'yturbo_display_exclude_terms-nonce', false); ?>
|
2189 |
<script>
|
2190 |
var spinner = '<?php echo esc_url(admin_url('images/spinner-2x.gif')) ?>',
|
2200 |
|
2201 |
//функция добавления ссылки на страницу настроек плагина в раздел "Настройки" begin
|
2202 |
function yturbo_menu() {
|
2203 |
+
add_options_page('Яндекс.Турбо', 'Яндекс.Турбо', 'manage_options', 'rss-for-yandex-turbo.php', 'yturbo_options_page');
|
2204 |
}
|
2205 |
+
add_action('admin_menu', 'yturbo_menu');
|
2206 |
//функция добавления ссылки на страницу настроек плагина в раздел "Настройки" end
|
2207 |
|
2208 |
//создаем метабокс begin
|
2209 |
function yturbo_meta_box() {
|
2210 |
+
$yturbo_options = get_option('yturbo_options');
|
2211 |
+
$yttype = $yturbo_options['yttype'];
|
2212 |
+
$yttype = explode(",", $yttype);
|
2213 |
+
$yttype = array_diff($yttype, array(''));
|
2214 |
+
|
2215 |
+
$ytqueryselect = $yturbo_options['ytqueryselect'];
|
2216 |
+
$yttaxlist = $yturbo_options['yttaxlist'];
|
2217 |
+
$ytaddtaxlist = $yturbo_options['ytaddtaxlist'];
|
2218 |
+
|
2219 |
+
if ( ! $yttaxlist ) $yttaxlist = 'category:10000000';
|
2220 |
+
if ( $ytqueryselect == 'Все таксономии, кроме исключенных' ) {
|
2221 |
+
$textAr = explode("\n", trim($yttaxlist));
|
2222 |
+
$textAr = array_filter($textAr, 'trim');
|
2223 |
+
add_meta_box('yturbo_meta_box', 'Яндекс.Турбо', 'yturbo_callback', $yttype, 'normal' , 'high');
|
2224 |
+
foreach ($textAr as $line) {
|
2225 |
+
$tax = explode(":", $line);
|
2226 |
+
$taxterm = explode(",", $tax[1]);
|
2227 |
+
$taxterm = array_map('intval', $taxterm);
|
2228 |
+
if ( has_term($taxterm, $tax[0]) ) {
|
2229 |
+
remove_meta_box('yturbo_meta_box', $yttype, 'normal');
|
2230 |
+
break;
|
2231 |
+
}
|
2232 |
+
}
|
2233 |
+
}
|
2234 |
+
if ( ! $ytaddtaxlist ) $ytaddtaxlist = 'category:10000000';
|
2235 |
+
if ( $ytqueryselect == 'Только указанные таксономии' ) {
|
2236 |
+
$textAr = explode("\n", trim($ytaddtaxlist));
|
2237 |
+
$textAr = array_filter($textAr, 'trim');
|
2238 |
+
foreach ($textAr as $line) {
|
2239 |
+
$tax = explode(":", $line);
|
2240 |
+
$taxterm = explode(",", $tax[1]);
|
2241 |
+
$taxterm = array_map('intval', $taxterm);
|
2242 |
+
if ( has_term($taxterm, $tax[0]) ) {
|
2243 |
+
add_meta_box('yturbo_meta_box', 'Яндекс.Турбо', 'yturbo_callback', $yttype, 'normal' , 'high');
|
2244 |
+
break;
|
2245 |
+
}
|
2246 |
+
}
|
2247 |
+
}
|
2248 |
}
|
2249 |
+
add_action('add_meta_boxes', 'yturbo_meta_box');
|
2250 |
//создаем метабокс end
|
2251 |
|
2252 |
//сохраняем метабокс begin
|
2253 |
+
function yturbo_save_metabox($post_id) {
|
2254 |
+
|
2255 |
+
if ( ! isset($_POST['yturbo_meta_nonce']) )
|
2256 |
+
return $post_id;
|
2257 |
+
|
2258 |
+
if ( ! wp_verify_nonce($_POST['yturbo_meta_nonce'], plugin_basename(__FILE__)) )
|
2259 |
+
return $post_id;
|
2260 |
+
|
2261 |
+
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
|
2262 |
+
return $post_id;
|
2263 |
+
|
2264 |
+
if ( isset($_POST['ytrssenabled']) ) {
|
2265 |
+
update_post_meta($post_id, 'ytrssenabled_meta_value', 'yes');
|
2266 |
+
} else {
|
2267 |
+
update_post_meta($post_id, 'ytrssenabled_meta_value', 'no');
|
2268 |
+
}
|
2269 |
+
if ( isset($_POST['ytremove']) ) {
|
2270 |
+
update_post_meta($post_id, 'ytremove_meta_value', 'yes');
|
2271 |
+
} else {
|
2272 |
+
update_post_meta($post_id, 'ytremove_meta_value', 'no');
|
2273 |
+
}
|
2274 |
+
|
2275 |
+
if ( isset($_POST['ytad1meta']) ) {
|
2276 |
+
update_post_meta($post_id, 'ytad1meta', 'disabled');
|
2277 |
+
} else {
|
2278 |
+
update_post_meta($post_id, 'ytad1meta', 'enabled');
|
2279 |
+
}
|
2280 |
+
if ( isset($_POST['ytad2meta']) ) {
|
2281 |
+
update_post_meta($post_id, 'ytad2meta', 'disabled');
|
2282 |
+
} else {
|
2283 |
+
update_post_meta($post_id, 'ytad2meta', 'enabled');
|
2284 |
+
}
|
2285 |
+
if ( isset($_POST['ytad3meta']) ) {
|
2286 |
+
update_post_meta($post_id, 'ytad3meta', 'disabled');
|
2287 |
+
} else {
|
2288 |
+
update_post_meta($post_id, 'ytad3meta', 'enabled');
|
2289 |
+
}
|
2290 |
+
if ( isset($_POST['ytad4meta']) ) {
|
2291 |
+
update_post_meta($post_id, 'ytad4meta', 'disabled');
|
2292 |
+
} else {
|
2293 |
+
update_post_meta($post_id, 'ytad4meta', 'enabled');
|
2294 |
+
}
|
2295 |
+
if ( isset($_POST['ytad5meta']) ) {
|
2296 |
+
update_post_meta($post_id, 'ytad5meta', 'disabled');
|
2297 |
+
} else {
|
2298 |
+
update_post_meta($post_id, 'ytad5meta', 'enabled');
|
2299 |
+
}
|
2300 |
+
|
2301 |
+
if ( isset($_POST['template_meta']) ) {
|
2302 |
+
$template_meta = 'yes';
|
2303 |
+
update_post_meta($post_id, 'template_meta', $template_meta);
|
2304 |
+
} else {
|
2305 |
+
$template_meta = 'no';
|
2306 |
+
update_post_meta($post_id, 'template_meta', $template_meta);
|
2307 |
+
}
|
2308 |
+
|
2309 |
+
//сохраняем индивидуальный шаблон только, если стоит галочка на его использовании
|
2310 |
+
if ( $template_meta == 'yes' ) {
|
2311 |
+
$custom_template = esc_textarea($_POST['custom_template']);
|
2312 |
+
update_post_meta($post_id, 'custom_template', $custom_template);
|
2313 |
+
}
|
2314 |
+
|
2315 |
+
if ( isset($_POST['ytextendedhtmlmeta']) ) {
|
2316 |
+
$selected = sanitize_text_field($_POST['ytextendedhtmlmeta']);
|
2317 |
+
update_post_meta($post_id, 'ytextendedhtmlmeta', $selected);
|
2318 |
+
}
|
2319 |
+
|
2320 |
+
if ( isset($_POST['ytpostdatemeta']) ) {
|
2321 |
+
$selected = sanitize_text_field($_POST['ytpostdatemeta']);
|
2322 |
+
update_post_meta($post_id, 'ytpostdatemeta', $selected);
|
2323 |
+
}
|
2324 |
}
|
2325 |
+
add_action('save_post', 'yturbo_save_metabox');
|
2326 |
//сохраняем метабокс end
|
2327 |
|
2328 |
//выводим метабокс begin
|
2329 |
function yturbo_callback() {
|
2330 |
+
global $post;
|
2331 |
+
$purl = plugins_url('', __FILE__);
|
2332 |
+
wp_nonce_field(plugin_basename(__FILE__), 'yturbo_meta_nonce');
|
2333 |
+
|
2334 |
+
$yturbo_options = get_option('yturbo_options');
|
2335 |
+
|
2336 |
+
$ytad1meta = get_post_meta($post->ID, 'ytad1meta', true);
|
2337 |
+
if ( ! $ytad1meta ) $ytad1meta = $yturbo_options['ytad1'];
|
2338 |
+
|
2339 |
+
$ytad2meta = get_post_meta($post->ID, 'ytad2meta', true);
|
2340 |
+
if ( ! $ytad2meta ) $ytad2meta = $yturbo_options['ytad2'];
|
2341 |
+
|
2342 |
+
$ytad3meta = get_post_meta($post->ID, 'ytad3meta', true);
|
2343 |
+
if ( ! $ytad3meta ) $ytad3meta = $yturbo_options['ytad3'];
|
2344 |
+
|
2345 |
+
$ytad4meta = get_post_meta($post->ID, 'ytad4meta', true);
|
2346 |
+
if ( ! $ytad4meta ) $ytad4meta = $yturbo_options['ytad4'];
|
2347 |
+
|
2348 |
+
$ytad5meta = get_post_meta($post->ID, 'ytad5meta', true);
|
2349 |
+
if ( ! $ytad5meta ) $ytad5meta = $yturbo_options['ytad5'];
|
2350 |
+
|
2351 |
+
$ytrssenabled = get_post_meta($post->ID, 'ytrssenabled_meta_value', true);
|
2352 |
+
if ( ! $ytrssenabled ) $ytrssenabled = 'no';
|
2353 |
+
|
2354 |
+
$ytremove = get_post_meta($post->ID, 'ytremove_meta_value', true);
|
2355 |
+
if ( ! $ytremove ) $ytremove = 'no';
|
2356 |
+
|
2357 |
+
$template_meta = get_post_meta($post->ID, 'template_meta', true);
|
2358 |
+
if ( ! $template_meta ) $template_meta = 'no';
|
2359 |
+
|
2360 |
+
$custom_template = get_post_meta($post->ID, 'custom_template', true);
|
2361 |
+
$custom_template = html_entity_decode(stripcslashes($custom_template),ENT_QUOTES);
|
2362 |
+
if ( ! $custom_template ) {
|
2363 |
+
$post_type = get_post_type( get_the_ID() );
|
2364 |
+
if ( ! isset($yturbo_options['template-'.$post_type]) ) $yturbo_options['template-'.$post_type] = '';
|
2365 |
+
if ( $yturbo_options['template-'.$post_type] == '' ) {
|
2366 |
+
$custom_template = '%%post_content%%';
|
2367 |
+
} else {
|
2368 |
+
$custom_template = html_entity_decode(stripcslashes($yturbo_options['template-'.$post_type]),ENT_QUOTES);
|
2369 |
+
}
|
2370 |
+
}
|
2371 |
+
//обрабатываем шаблон функцией wpautop, если активирован блочный редактор
|
2372 |
+
//и если версия WordPress меньше 5.8 (с версии 5.8 разработчки починили wp-editor)
|
2373 |
+
global $wp_version;
|
2374 |
+
$block_editor_enabled = false;
|
2375 |
+
if ( version_compare($wp_version, '5.0', '>=') ) {
|
2376 |
+
$block_editor_enabled = get_current_screen()->is_block_editor();
|
2377 |
+
}
|
2378 |
+
if ( $block_editor_enabled == true && version_compare($wp_version, '5.8', '<') ) {
|
2379 |
+
$custom_template = wpautop( $custom_template );
|
2380 |
+
}
|
2381 |
+
|
2382 |
+
$ytextendedhtmlmeta = get_post_meta($post->ID, 'ytextendedhtmlmeta', true);
|
2383 |
+
if ( ! $ytextendedhtmlmeta ) $ytextendedhtmlmeta = 'default';
|
2384 |
+
|
2385 |
+
$ytpostdatemeta = get_post_meta($post->ID, 'ytpostdatemeta', true);
|
2386 |
+
if ( ! $ytpostdatemeta ) $ytpostdatemeta = 'default';
|
2387 |
+
?>
|
2388 |
+
|
2389 |
+
<p style="margin: 10px 0px 0px 1px!important;">
|
2390 |
|
2391 |
<script>
|
2392 |
jQuery(document).ready(function($) {
|
2393 |
+
if ($('#ytrssenabled').is(':checked')) {$temp = 1;}
|
2394 |
+
if ($('#ytremove').is(':checked')) {$('#ytrssenabled').removeAttr('checked');$('#ytrssenabled').attr('disabled', true);}
|
2395 |
+
$('#ytrssenabled').change(function() {
|
2396 |
+
if(this.checked) {
|
2397 |
+
$temp = 1;
|
2398 |
+
} else {
|
2399 |
+
$temp = 0;
|
2400 |
+
}
|
2401 |
+
});
|
2402 |
+
$('#ytremove').change(function() {
|
2403 |
+
if(this.checked) {
|
2404 |
+
$('#ytrssenabled').removeAttr('checked');
|
2405 |
+
$('#ytrssenabled').attr('disabled', true);
|
2406 |
+
} else {
|
2407 |
+
$('#ytrssenabled').attr('disabled', false);
|
2408 |
+
if ($temp == 1) {$('#ytrssenabled').attr ('checked', 'checked');}
|
2409 |
+
}
|
2410 |
+
});
|
2411 |
+
$('#template_meta').change(function() {
|
2412 |
+
if(this.checked) {
|
2413 |
+
$('#custom_template_op').fadeIn();
|
2414 |
+
} else {
|
2415 |
+
$('#custom_template_op').hide();
|
2416 |
+
}
|
2417 |
+
});
|
2418 |
})
|
2419 |
</script>
|
2420 |
<style>
|
2424 |
tt{padding: 1px 5px 1px;margin: 0 1px;background: #eaeaea;background: rgba(0, 0, 0, .07);font-family: Consolas, Monaco, monospace;unicode-bidi: embed;}
|
2425 |
</style>
|
2426 |
|
2427 |
+
<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 />
|
2428 |
+
<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>
|
2429 |
+
|
2430 |
+
<small style="margin-top:5px;"><?php _e('Удалить турбо-страницу можно только, если запись попадет в RSS-ленту.', 'rss-for-yandex-turbo'); ?></small>
|
2431 |
+
</p>
|
2432 |
+
|
2433 |
+
<p style="margin:10px 0 5px 1px!important;">
|
2434 |
+
|
2435 |
+
<?php if ( $yturbo_options['ytad1'] == 'enabled' ) { ?>
|
2436 |
+
<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 />
|
2437 |
+
<?php } ?>
|
2438 |
+
<?php if ( $yturbo_options['ytad2'] == 'enabled' ) { ?>
|
2439 |
+
<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 />
|
2440 |
+
<?php } ?>
|
2441 |
+
<?php if ( $yturbo_options['ytad3'] == 'enabled' ) { ?>
|
2442 |
+
<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 />
|
2443 |
+
<?php } ?>
|
2444 |
+
<?php if ( $yturbo_options['ytad4'] == 'enabled' ) { ?>
|
2445 |
+
<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 />
|
2446 |
+
<?php } ?>
|
2447 |
+
<?php if ( $yturbo_options['ytad5'] == 'enabled' ) { ?>
|
2448 |
+
<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 />
|
2449 |
+
<?php } ?>
|
2450 |
+
</p>
|
2451 |
+
|
2452 |
+
<style>
|
2453 |
+
#yturbotable p {margin: 8px 0;}
|
2454 |
+
#yturbotable {margin-top: 20px;margin-bottom: 20px;
|
2455 |
+
}
|
2456 |
+
</style>
|
2457 |
+
<table id="yturbotable">
|
2458 |
+
<tr>
|
2459 |
+
<td style="min-width:110px;vertical-align: initial;">
|
2460 |
+
<strong><?php _e('Поддержка CSS:', 'rss-for-yandex-turbo'); ?></strong>
|
2461 |
+
</td>
|
2462 |
+
<td style="vertical-align: initial;">
|
2463 |
+
<select name="ytextendedhtmlmeta" style="vertical-align: initial;min-width:180px;">
|
2464 |
+
<option value="default" <?php if ($ytextendedhtmlmeta == 'default') echo 'selected="selected"'; ?>><?php _e('По умолчанию', 'rss-for-yandex-turbo'); ?></option>
|
2465 |
+
<option value="enabled" <?php if ($ytextendedhtmlmeta == 'enabled') echo 'selected="selected"'; ?>><?php _e('Включена', 'rss-for-yandex-turbo'); ?></option>
|
2466 |
+
<option value="disabled" <?php if ($ytextendedhtmlmeta == 'disabled') echo 'selected="selected"'; ?>><?php _e('Выключена', 'rss-for-yandex-turbo'); ?></option>
|
2467 |
+
</select>
|
2468 |
+
</td>
|
2469 |
+
</tr>
|
2470 |
+
<tr>
|
2471 |
+
<td style="min-width:110px;vertical-align: initial;">
|
2472 |
+
<strong><?php _e('Дата:', 'rss-for-yandex-turbo'); ?></strong>
|
2473 |
+
</td>
|
2474 |
+
<td style="vertical-align: initial;">
|
2475 |
+
<select name="ytpostdatemeta" style="vertical-align: initial;min-width:180px;">
|
2476 |
+
<option value="default" <?php if ($ytpostdatemeta == 'default') echo 'selected="selected"'; ?>><?php _e('По умолчанию', 'rss-for-yandex-turbo'); ?></option>
|
2477 |
+
<option value="enabled" <?php if ($ytpostdatemeta == 'enabled') echo 'selected="selected"'; ?>><?php _e('Включена', 'rss-for-yandex-turbo'); ?></option>
|
2478 |
+
<option value="disabled" <?php if ($ytpostdatemeta == 'disabled') echo 'selected="selected"'; ?>><?php _e('Выключена', 'rss-for-yandex-turbo'); ?></option>
|
2479 |
+
</select>
|
2480 |
+
</td>
|
2481 |
+
</tr>
|
2482 |
+
<tr><td colspan="3" style="padding-top: 8px;"><small><?php _e('При выборе "По умолчанию" используются общие настройки плагина.', 'rss-for-yandex-turbo'); ?></small></td></tr>
|
2483 |
+
</table>
|
2484 |
+
|
2485 |
+
<div style="margin:10px 0 5px 1px!important;">
|
2486 |
+
<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 />
|
2487 |
+
<div id="custom_template_op" class="foptions" style="margin:5px 0 0 0;margin-top:5px;<?php if ($template_meta != 'yes') echo 'display:none;'; ?>">
|
2488 |
+
<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>
|
2489 |
+
<div style="margin-top:10px;"></div>
|
2490 |
+
<?php $settings = array(
|
2491 |
+
'textarea_name' => 'custom_template',
|
2492 |
+
'wpautop' => 1,
|
2493 |
+
'media_buttons' => 1,
|
2494 |
+
'textarea_rows' => 16,
|
2495 |
+
'editor_height' => 350,
|
2496 |
+
'tinymce' => array(
|
2497 |
+
'toolbar1' => 'undo,redo,formatselect,bold,italic,underline,strikethrough,superscript,subscript,hr,blockquote,link,unlink,bullist,numlist,table,yablocks,',
|
2498 |
+
'toolbar2' => '',
|
2499 |
+
'toolbar3' => '',
|
2500 |
+
'content_css' => $purl . '/inc/editor.css?ver=' . $yturbo_options['version'],
|
2501 |
+
),
|
2502 |
+
'quicktags' => array(
|
2503 |
+
'id' => 'customtemplate',
|
2504 |
+
'buttons' => 'strong,em,link,block,del,hr,img,ul,ol,li,code,close,'
|
2505 |
+
),
|
2506 |
+
); ?>
|
2507 |
+
<?php wp_editor($custom_template, 'customtemplate', $settings); ?>
|
2508 |
+
<small><?php _e('Названия произвольных полей должны быть обернуты символами <strong>%%</strong>.', 'rss-for-yandex-turbo'); ?>
|
2509 |
+
<?php _e('Например, <strong>%%views%%</strong>. Стандартное поле со всем контентом - <strong>%%post_content%%</strong>.', 'rss-for-yandex-turbo'); ?><br />
|
2510 |
+
<?php _e('Проверяйте отображение записи в "Отладке" в Яндекс.Вебмастере - визуальный редактор WordPress не может отобразить блоки так, как они будут выглядеть на турбо-страницах. ', 'rss-for-yandex-turbo'); ?><br />
|
2511 |
+
<?php _e('При слишком большом различии контента мобильной версии страницы от ее турбо-версии Яндекс может выдать ошибку и отключить турбо-страницу для этой записи.', 'rss-for-yandex-turbo'); ?><br />
|
2512 |
+
<?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 />
|
2513 |
+
|
2514 |
+
<?php if ( $block_editor_enabled == true && version_compare($wp_version, '5.8', '<') ) { ?>
|
2515 |
+
<?php _e('<br /><span style="color:red;">Внимание!</span> Вы используете блочный редактор, в этом случае автоформатирование текста на основе переноса строк работать не будет, расставляйте ', 'rss-for-yandex-turbo'); ?><br />
|
2516 |
+
<?php _e('теги <tt><p></tt> и <tt><br /></tt> вручную или в визуальном режиме редактора (плагин потом заменит код <tt><p>%%post_content%%</p></tt> на <tt>%%post_content%%</tt>).', 'rss-for-yandex-turbo'); ?><br />
|
2517 |
+
<?php } ?>
|
2518 |
+
</small>
|
2519 |
+
</div>
|
2520 |
+
</div>
|
2521 |
|
2522 |
<?php }
|
2523 |
//выводим метабокс end
|
2524 |
|
2525 |
//добавляем новую rss-ленту begin
|
2526 |
function yturbo_add_feed() {
|
2527 |
+
$yturbo_options = get_option('yturbo_options');
|
2528 |
+
add_feed($yturbo_options['ytrssname'], 'yturbo_feed_template');
|
2529 |
}
|
2530 |
+
add_action('init', 'yturbo_add_feed');
|
2531 |
//добавляем новую rss-ленту end
|
2532 |
|
2533 |
//шаблон для RSS-ленты Яндекс.Турбо begin
|
2551 |
$ytselectthumb = $yturbo_options['ytselectthumb'];
|
2552 |
|
2553 |
if ( yturbo_check_ads() == true ) {
|
2554 |
+
$yturbo_options['ytad1'] = 'disabled';
|
2555 |
+
$yturbo_options['ytad2'] = 'disabled';
|
2556 |
+
$yturbo_options['ytad3'] = 'disabled';
|
2557 |
+
$yturbo_options['ytad4'] = 'disabled';
|
2558 |
+
$yturbo_options['ytad5'] = 'disabled';
|
2559 |
+
update_option('yturbo_options', $yturbo_options);
|
2560 |
}
|
2561 |
$ytad1 = $yturbo_options['ytad1'];
|
2562 |
$ytad1set = $yturbo_options['ytad1set'];
|
2610 |
$ytcomments = $yturbo_options['ytcomments'];
|
2611 |
$ytcommentsnumber = $yturbo_options['ytcommentsnumber'];
|
2612 |
$ytcommentsorder = $yturbo_options['ytcommentsorder'];
|
2613 |
+
if ( $ytcommentsorder == 'В начале новые комментарии' ) {
|
2614 |
+
$reverse_top_level = false;
|
2615 |
+
$reverse_children = false;
|
2616 |
} else {
|
2617 |
+
$reverse_top_level = true;
|
2618 |
+
$reverse_children = true;
|
2619 |
}
|
2620 |
$ytcommentsdate = $yturbo_options['ytcommentsdate'];
|
2621 |
$ytcommentsdrevo = $yturbo_options['ytcommentsdrevo'];
|
2622 |
+
if ( $ytcommentsdrevo == 'enabled' ) {
|
2623 |
+
$ytcommentsdrevo = 2;
|
2624 |
} else {
|
2625 |
+
$ytcommentsdrevo = 1;
|
2626 |
}
|
2627 |
$ytpostdate = $yturbo_options['ytpostdate'];
|
2628 |
|
2631 |
$ytratingmax = $yturbo_options['ytratingmax'];
|
2632 |
$ytrelateddate = $yturbo_options['ytrelateddate'];
|
2633 |
|
2634 |
+
if ( $ytqueryselect == 'Все таксономии, кроме исключенных' && $yttaxlist ) {
|
2635 |
+
$textAr = explode("\n", trim($yttaxlist));
|
2636 |
+
$textAr = array_filter($textAr, 'trim');
|
2637 |
+
$tax_query = array('relation' => 'AND');
|
2638 |
+
foreach ($textAr as $line) {
|
2639 |
+
$tax = explode(":", $line);
|
2640 |
+
$taxterm = explode(",", $tax[1]);
|
2641 |
+
$tax_query[] = array(
|
2642 |
+
'taxonomy' => $tax[0],
|
2643 |
+
'field' => 'id',
|
2644 |
+
'terms' => $taxterm,
|
2645 |
+
'operator' => 'NOT IN',
|
2646 |
+
);
|
2647 |
+
}
|
2648 |
}
|
2649 |
+
if ( ! $ytaddtaxlist ) $ytaddtaxlist = 'category:10000000';
|
2650 |
+
if ( $ytqueryselect == 'Только указанные таксономии' ) {
|
2651 |
+
$textAr = explode("\n", trim($ytaddtaxlist));
|
2652 |
+
$textAr = array_filter($textAr, 'trim');
|
2653 |
+
$tax_query = array('relation' => 'OR');
|
2654 |
+
foreach ($textAr as $line) {
|
2655 |
+
$tax = explode(":", $line);
|
2656 |
+
$taxterm = explode(",", $tax[1]);
|
2657 |
+
$tax_query[] = array(
|
2658 |
+
'taxonomy' => $tax[0],
|
2659 |
+
'field' => 'id',
|
2660 |
+
'terms' => $taxterm,
|
2661 |
+
'operator' => 'IN',
|
2662 |
+
);
|
2663 |
+
}
|
2664 |
}
|
2665 |
|
2666 |
+
if ( $ytrazb == 'enabled' && $ytrazbnumber ) {
|
2667 |
+
if ( isset($_GET['paged']) ) {
|
2668 |
+
$paged = $_GET['paged'];
|
2669 |
+
} else {
|
2670 |
+
$paged = 1;
|
2671 |
+
}
|
2672 |
+
if ($paged == 0) {$paged = 1;}
|
2673 |
} else {
|
2674 |
+
$paged = 1;
|
2675 |
+
$ytrazbnumber = $ytnumber;
|
2676 |
}
|
2677 |
if ( isset($_GET['lenta']) && $_GET['lenta'] == 'trash' ) {
|
2678 |
+
yturbo_lenta_trash();
|
2679 |
+
exit;
|
2680 |
}
|
2681 |
|
2682 |
//если в настройках не выбраны типы записей, то отключаем дефолтный post_type равный 'post'
|
2683 |
+
if ( ! isset($yttype[0]) ) {$yttype=array();$yttype[0]='trulala';}
|
2684 |
|
2685 |
$args = array(
|
2686 |
+
'paged' => $paged,
|
2687 |
+
'ignore_sticky_posts' => 1,
|
2688 |
+
'post_type' => $yttype,
|
2689 |
+
'post_status' => 'publish',
|
2690 |
+
'posts_per_page' => $ytrazbnumber,
|
2691 |
+
'tax_query' => $tax_query,
|
2692 |
+
'meta_query' => array(
|
2693 |
+
'relation' => 'OR',
|
2694 |
+
array('key' => 'ytrssenabled_meta_value', 'compare' => 'NOT EXISTS',),
|
2695 |
+
array('key' => 'ytrssenabled_meta_value', 'value' => 'yes', 'compare' => '!=',),
|
2696 |
+
)
|
2697 |
);
|
2698 |
+
$args = apply_filters('yturbo_query_args', $args);
|
2699 |
+
$query = new WP_Query($args);
|
2700 |
|
2701 |
header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
|
2702 |
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EOL;
|
2703 |
?>
|
2704 |
+
<rss xmlns:yandex="http://news.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru" version="2.0">
|
|
|
|
|
|
|
|
|
2705 |
<channel>
|
2706 |
+
<turbo:cms_plugin>C125AEEC6018B4A0EF9BF40E6615DD17</turbo:cms_plugin>
|
2707 |
+
<title><?php echo esc_attr(stripslashes($yttitle)); ?></title>
|
2708 |
+
<link><?php echo esc_url($ytlink); ?></link>
|
2709 |
+
<description><?php echo esc_attr(stripslashes($ytdescription)); ?></description>
|
2710 |
+
<?php if ($ytmetrika) { ?><turbo:analytics id="<?php echo esc_attr(stripslashes($ytmetrika)); ?>" type="Yandex"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2711 |
+
<?php if ($ytliveinternet) { ?><turbo:analytics type="LiveInternet"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2712 |
+
<?php if ($ytgoogle) { ?><turbo:analytics id="<?php echo esc_attr(stripslashes($ytgoogle)); ?>" type="Google"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2713 |
+
<?php if ($ytmailru) { ?><turbo:analytics id="<?php echo esc_attr(stripslashes($ytmailru)); ?>" type="MailRu"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2714 |
+
<?php if ($ytrambler) { ?><turbo:analytics id="<?php echo esc_attr(stripslashes($ytrambler)); ?>" type="Rambler"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2715 |
+
<?php if ($ytmediascope) { ?><turbo:analytics id="<?php echo esc_attr(stripslashes($ytmediascope)); ?>" type="Mediascope"></turbo:analytics><?php echo PHP_EOL; ?><?php } ?>
|
2716 |
+
<?php do_action('yturbo_ads_header'); echo yturbo_turbo_ads(); ?>
|
2717 |
+
<language><?php echo esc_attr(stripslashes($ytlanguage)); ?></language>
|
2718 |
+
<generator>RSS for Yandex Turbo v<?php echo $yturbo_options['version']; ?> (https://wordpress.org/plugins/rss-for-yandex-turbo/)</generator>
|
2719 |
+
<?php do_action('yturbo_generator'); ?>
|
2720 |
+
<?php while($query->have_posts()) : $query->the_post(); ?>
|
2721 |
+
<?php $ytremove = get_post_meta(get_the_ID(), 'ytremove_meta_value', true); ?>
|
2722 |
+
<?php if ( $ytremoveturbo != 'enabled' && $ytremove != 'yes' ) { ?>
|
2723 |
+
<item turbo="true">
|
2724 |
+
<?php } else { ?>
|
2725 |
+
<item turbo="false">
|
2726 |
+
<?php } ?>
|
2727 |
+
<title><?php echo get_the_title_rss(); ?></title>
|
2728 |
+
<link><?php the_permalink_rss(); ?></link>
|
2729 |
+
<turbo:topic><?php echo get_the_title_rss(); ?></turbo:topic>
|
2730 |
+
<turbo:source><?php the_permalink_rss(); ?></turbo:source>
|
2731 |
+
<?php $ytextendedhtmlmeta = get_post_meta(get_the_ID(), 'ytextendedhtmlmeta', true);
|
2732 |
+
$ytextendedhtml = $yturbo_options['ytextendedhtml'];
|
2733 |
+
if ( $ytextendedhtmlmeta == 'enabled' or $ytextendedhtmlmeta == 'disabled' ) $ytextendedhtml = $ytextendedhtmlmeta;
|
2734 |
+
if ( $ytextendedhtml == 'enabled' ) echo '<turbo:extendedHtml>true</turbo:extendedHtml>'.PHP_EOL; ?>
|
2735 |
+
<?php $ytpostdatemeta = get_post_meta(get_the_ID(), 'ytpostdatemeta', true);
|
2736 |
+
$ytpostdate = $yturbo_options['ytpostdate'];
|
2737 |
+
if ( $ytpostdatemeta == 'enabled' or $ytpostdatemeta == 'disabled' ) $ytpostdate = $ytpostdatemeta; ?>
|
2738 |
+
<?php if ( $ytpostdate == 'enabled' ) : ?>
|
2739 |
+
<?php $gmt_offset = get_option('gmt_offset');
|
2740 |
+
$gmt_offset_abs = floor(abs($gmt_offset));
|
2741 |
+
$gmt_offset_str = ($gmt_offset_abs > 9) ? $gmt_offset_abs.'00' : ('0'.$gmt_offset_abs.'00');
|
2742 |
+
$gmt_offset_str = $gmt_offset >= 0 ? '+' . $gmt_offset_str : '-' . $gmt_offset_str; ?>
|
2743 |
+
<?php if ( $yturbo_options['ytdateformat'] == 'create' ) { ?>
|
2744 |
+
<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>
|
2745 |
+
<?php } ?>
|
2746 |
+
<?php if ( $yturbo_options['ytdateformat'] == 'mod' ) { ?>
|
2747 |
+
<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>
|
2748 |
+
<?php } ?>
|
2749 |
+
<?php endif; ?>
|
2750 |
+
<?php if ( $ytauthorselect != 'Отключить указание автора' ) { ?>
|
2751 |
+
<?php if ( $ytauthor && $ytauthorselect != 'Автор записи' ) {
|
2752 |
+
echo '<author>'.esc_attr(stripslashes($ytauthor)).'</author>'.PHP_EOL;
|
2753 |
+
} else {
|
2754 |
+
echo '<author>'.get_the_author().'</author>'.PHP_EOL;
|
2755 |
+
} } ?>
|
2756 |
+
<turbo:content><![CDATA[
|
2757 |
+
<?php
|
2758 |
+
global $post;
|
2759 |
+
$tt = $post;
|
2760 |
+
$content = yturbo_the_content_feed();
|
2761 |
+
$post = $tt;
|
2762 |
+
setup_postdata( $post );
|
2763 |
+
$content = yturbo_build_template($content);
|
2764 |
+
$post = $tt;
|
2765 |
+
setup_postdata( $post );
|
2766 |
+
|
2767 |
+
if ( $ytexcludetags != 'disabled' && $ytexcludetagslist ) {
|
2768 |
+
$content = yturbo_strip_tags_without_content($content, $ytexcludetagslist);
|
2769 |
+
}
|
2770 |
+
if ( $ytexcludetags2 != 'disabled' && $ytexcludetagslist2 ) {
|
2771 |
+
$content = yturbo_strip_tags_with_content($content, $ytexcludetagslist2, true);
|
2772 |
+
}
|
2773 |
+
|
2774 |
+
//удаляем все атрибуты тега img кроме src
|
2775 |
+
$content = yturbo_strip_attributes($content,array('src'));
|
2776 |
+
|
2777 |
+
$content = wpautop($content);
|
2778 |
+
|
2779 |
+
//удаляем unicode-символы (как невалидные в rss)
|
2780 |
+
$content = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/u', '', $content);
|
2781 |
+
|
2782 |
+
//убираем лишние figure вокруг галереи (на 5.9 изменилась разметка плюс лишние figure, если прописано описание галереи)
|
2783 |
+
//<tempgallery> будет убрано позже в yturbo_do_gallery
|
2784 |
+
$content = preg_replace_callback('#(<figure class=\"wp-block-gallery[^>]*>)(.+?)(</figure>\n</figure>|</figure><figcaption class="blocks-gallery-caption">(.*?)</figcaption></figure>|</ul><figcaption class="blocks-gallery-caption">(.*?)</figcaption></figure>)#is', function($m) {
|
2785 |
+
$pattern = '/<figure(.*?)><img(.*?)>(.*?)<\/figure>/i';
|
2786 |
+
$replacement = '<img$2>';
|
2787 |
+
$m[2] = preg_replace($pattern, $replacement, $m[2]);
|
2788 |
+
$pattern = '/<figcaption class="blocks-gallery-caption">(.*?)<\/figcaption>/i';
|
2789 |
+
$replacement = PHP_EOL.'<header>$1</header>'.PHP_EOL;
|
2790 |
+
$m[3] = preg_replace($pattern, $replacement, $m[3]);
|
2791 |
+
return('<tempgallery>'.$m[2].$m[3].'</tempgallery>');
|
2792 |
+
}, $content);
|
2793 |
+
|
2794 |
+
//удаляем разметку движка при использовании шорткода с подписью [caption] (в html4 темах - classic editor)
|
2795 |
+
$pattern = "/<div(.*?)>(.*?)<img(.*?)\/>(.*?)<\/p>\n<p(.*?)>(.*?)<\/p>\n<\/div>/i";
|
2796 |
+
$replacement = '<tempfigure>$2<tempimg$3/>$4<tempfigcaption>$6</tempfigcaption></tempfigure>';
|
2797 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2798 |
+
//разметка описания на случай, если тег div удаляется в настройках плагина
|
2799 |
+
$pattern = "/<p>(.*?)<img(.*?)\/>(.*?)<\/p>\n<p(.*?)class=\"wp-caption-text\">(.*?)<\/p>/i";
|
2800 |
+
$replacement = '<tempfigure>$1<tempimg$2/>$3<tempfigcaption>$5</tempfigcaption></tempfigure>';
|
2801 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2802 |
+
|
2803 |
+
//удаляем разметку движка при использовании шорткода с подписью [caption] (в html5 темах - classic editor)
|
2804 |
+
$pattern = "/<figure(.*?)>(.*?)<img(.*?)\/>(.*?)<figcaption(.*?)>(.*?)<\/figcaption><\/figure>/i";
|
2805 |
+
$replacement = '<tempfigure>$2<tempimg$3/>$4<tempfigcaption>$6</tempfigcaption></tempfigure>';
|
2806 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2807 |
+
|
2808 |
+
//удаляем <figure>, если они изначально присутствуют в контенте записи (с указанным caption - gutenberg)
|
2809 |
+
$pattern = "/<figure(.*?)>(.*?)<img(.*?)\/>(.*?)<figcaption(.*?)>(.*?)<\/figcaption><\/figure>/i";
|
2810 |
+
$replacement = '<tempfigure>$2<tempimg$3/>$4<tempfigcaption>$6</tempfigcaption></tempfigure>';
|
2811 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2812 |
+
|
2813 |
+
//удаляем <figure>, если они изначально присутствуют в контенте записи (без caption - gutenberg)
|
2814 |
+
$pattern = "/<figure(.*?)>(.*?)<img(.*?)>(.*?)<\/figure>/i";
|
2815 |
+
$replacement = '<tempfigure>$2<tempimg$3>$4</tempfigure>';
|
2816 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2817 |
+
|
2818 |
+
//удаляем <figure> вокруг всех остальных элементов (яндекс такое не понимает)
|
2819 |
+
$pattern = "/<figure(.*?)>/i";
|
2820 |
+
$replacement = '';
|
2821 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2822 |
+
$pattern = "/<\/figure>/i";
|
2823 |
+
$replacement = '';
|
2824 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2825 |
+
$pattern = "/<figcaption(.*?)>(.*?)<\/figcaption>/i";
|
2826 |
+
$replacement = '';
|
2827 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2828 |
+
|
2829 |
+
//обрабатываем картинки в ссылках
|
2830 |
+
$pattern = "/<a(.*?)>(.*?)<img(.*?)>(.*?)<\/a>/i";
|
2831 |
+
$replacement = '<tempfigure><a$1><tempimg$3></a></tempfigure>';
|
2832 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2833 |
+
|
2834 |
+
//обрабатываем картинки без ссылок
|
2835 |
+
$pattern = "/<img(.*?)>/i";
|
2836 |
+
$replacement = '<tempfigure><tempimg$1></tempfigure>';
|
2837 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2838 |
+
|
2839 |
+
//удаляем лишние теги параграфов
|
2840 |
+
$pattern = "/<p><tempfigure>(.*?)<\/tempfigure><\/p>/i";
|
2841 |
+
$replacement = '<tempfigure>$1</tempfigure>';
|
2842 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2843 |
+
|
2844 |
+
if ( $ytfigcaption == 'Отключить описания' ) {
|
2845 |
+
$pattern = "/<tempfigcaption>(.*?)<\/tempfigcaption>/i";
|
2846 |
+
$replacement = '';
|
2847 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2848 |
+
}
|
2849 |
+
|
2850 |
+
$content = str_replace('<tempfigure', '<figure', $content);
|
2851 |
+
$content = str_replace('</tempfigure>', '</figure>', $content);
|
2852 |
+
$content = str_replace('<tempfigcaption>', '<figcaption>', $content);
|
2853 |
+
$content = str_replace('</tempfigcaption>', '</figcaption>', $content);
|
2854 |
+
$content = str_replace('<tempimg', '<img', $content);
|
2855 |
+
|
2856 |
+
$purl = plugins_url('', __FILE__);
|
2857 |
+
|
2858 |
+
//преобразуем iframe с видео
|
2859 |
+
$pattern = "/<iframe title=\"(.*?)\"(.*?) allow=\"(.*?)\"(.*?)><\/iframe>/i";
|
2860 |
+
$replacement = '<iframe$2 allowfullscreen="true"></iframe>';
|
2861 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2862 |
+
|
2863 |
+
//формируем video для mp4 файлов согласно документации яндекса (гутенберг)
|
2864 |
+
$pattern = "/<video(.*?)src=\"(.*?).mp4\"><\/video>/i";
|
2865 |
+
$replacement = '<figure><video><source src="$2.mp4" type="video/mp4" /></video><img src="'.$purl.'/img/video.png'.'" /></figure>';
|
2866 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2867 |
+
|
2868 |
+
//формируем video для mp4 файлов согласно документации яндекса (классический редактор)
|
2869 |
+
$content = str_replace('<!--[if lt IE 9]><script>document.createElement(\'video\');</script><![endif]-->', '', $content);
|
2870 |
+
$content = str_replace('<!--[if lt IE 9]><![endif]-->', '', $content);
|
2871 |
+
$pattern = "/<video class=\"wp-video-shortcode\"(.*?)><source(.*?)src=\"(.*?).mp4(.*?)\"(.*?)\/>(.*?)<\/video>/i";
|
2872 |
+
$replacement = '<figure><video><source src="$3.mp4" type="video/mp4" /></video><img src="'.$purl.'/img/video.png'.'" /></figure>';
|
2873 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2874 |
+
|
2875 |
+
//формируем audio для mp3 файлов (гутенберг)
|
2876 |
+
$pattern = "/<audio(.*?)src=\"(.*?).mp3\"><\/audio>/i";
|
2877 |
+
$replacement = '<div data-block="audio" src="$2.mp3"></div>';
|
2878 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2879 |
+
|
2880 |
+
//формируем audio для mp3 файлов (классический редактор)
|
2881 |
+
$content = str_replace('<!--[if lt IE 9]><script>document.createElement(\'audio\');</script><![endif]-->', '', $content);
|
2882 |
+
$pattern = "/<audio class=\"wp-audio-shortcode\"(.*?)><source(.*?)src=\"(.*?).mp3(.*?)\"(.*?)\/>(.*?)<\/audio>/i";
|
2883 |
+
$replacement = '<div data-block="audio" src="$3.mp3"></div>';
|
2884 |
+
$content = preg_replace($pattern, $replacement, $content);
|
2885 |
+
|
2886 |
+
//удаляем картинки из контента, если их больше 50 уникальных (ограничение яндекс.турбо)
|
2887 |
+
if ( preg_match_all("/<figure(.*?)>(.*?)<img(.*?)>(.*?)<\/figure>/i", $content, $res) ) {
|
2888 |
+
$i = 0;
|
2889 |
+
if ( $ytrelated == 'enabled' && $ytrelatednumber && $ytrelatedinfinity != 'enabled' ) $i = $ytrelatednumber;
|
2890 |
+
if ( $ytthumbnail == 'enabled' && has_post_thumbnail(get_the_ID()) ) $i++;
|
2891 |
+
$final = array();
|
2892 |
+
foreach ($res[0] as $r) {
|
2893 |
+
if ( ! in_array($r, $final) ) $i++;
|
2894 |
+
if ( $i > 50 && ! in_array($r, $final) ) {
|
2895 |
+
$content = str_replace($r, '', $content);
|
2896 |
+
}
|
2897 |
+
if ( ! in_array($r, $final) ) $final[] = $r;
|
2898 |
+
}
|
2899 |
+
}
|
2900 |
+
|
2901 |
+
if ( $ytexcludecontent != 'disabled' && $ytexcludecontentlist ) {
|
2902 |
+
$textAr = explode("\n", str_replace(array("\r\n", "\r"), "\n", $ytexcludecontentlist));
|
2903 |
+
foreach ($textAr as $line) {
|
2904 |
+
$line = stripcslashes($line);
|
2905 |
+
$content = str_replace($line, '', $content);
|
2906 |
+
}
|
2907 |
+
}
|
2908 |
+
|
2909 |
+
//преобразовываем галереи в турбо-галереи
|
2910 |
+
add_shortcode('gallery', 'gallery_shortcode');
|
2911 |
+
add_filter('post_gallery', 'yturbo_gallery', 10, 2);
|
2912 |
+
$content = do_shortcode($content);
|
2913 |
+
$content = yturbo_do_gallery($content);
|
2914 |
+
|
2915 |
+
$ytad4meta = get_post_meta($post->ID, 'ytad4meta', true);
|
2916 |
+
$ytad5meta = get_post_meta($post->ID, 'ytad5meta', true);
|
2917 |
+
|
2918 |
+
$content = apply_filters('yturbo_add_contents', $content);
|
2919 |
+
?>
|
2920 |
+
<header>
|
2921 |
+
<?php
|
2922 |
+
if ( $ytthumbnail == 'enabled' && has_post_thumbnail( get_the_ID() ) ) {
|
2923 |
+
$caption = ''; $imgurl = '';
|
2924 |
+
$caption = get_the_post_thumbnail_caption( get_the_ID() );
|
2925 |
+
$imgurl = strtok(get_the_post_thumbnail_url( get_the_ID(), $ytselectthumb ), '?');
|
2926 |
+
if ( $caption && $ytfigcaption != 'Отключить описания' ) {
|
2927 |
+
$temp = '<figcaption>'.esc_attr(stripslashes($caption)).'</figcaption>';}
|
2928 |
+
else {
|
2929 |
+
$temp='';
|
2930 |
+
}
|
2931 |
+
echo '<figure><img src="'. strtok(get_the_post_thumbnail_url(get_the_ID(),$ytselectthumb), '?') .'" />'.$temp.'</figure>'.PHP_EOL;
|
2932 |
+
}
|
2933 |
+
if ( $ytthumbnail == 'enabled' && ! has_post_thumbnail(get_the_ID()) ) {
|
2934 |
+
$caption = ''; $imgurl = '';
|
2935 |
+
$caption = apply_filters('yturbo_thumb_caption', $caption);
|
2936 |
+
$imgurl = apply_filters('yturbo_thumb_imgurl', $imgurl);
|
2937 |
+
if ( $caption && $ytfigcaption != 'Отключить описания' ) {
|
2938 |
+
$temp = '<figcaption>'.esc_attr(stripslashes($caption)).'</figcaption>';}
|
2939 |
+
else {
|
2940 |
+
$temp='';
|
2941 |
+
}
|
2942 |
+
if ( $imgurl ) {
|
2943 |
+
echo '<figure><img src="'. esc_url($imgurl) .'" />'.$temp.'</figure>'.PHP_EOL;
|
2944 |
+
}
|
2945 |
+
}
|
2946 |
+
?>
|
2947 |
+
<h1><?php echo get_the_title_rss(); ?></h1>
|
2948 |
+
<?php if ( $ytselectmenu != 'Не использовать' ) {
|
2949 |
+
echo '<menu>'.PHP_EOL;
|
2950 |
+
$menu = wp_get_nav_menu_object( $ytselectmenu );
|
2951 |
+
$menu_items = wp_get_nav_menu_items($menu->term_id);
|
2952 |
+
|
2953 |
+
foreach ((array) $menu_items as $key => $menu_item) {
|
2954 |
+
$title = $menu_item->title;
|
2955 |
+
$url = $menu_item->url;
|
2956 |
+
echo '<a href="' . $url . '">' . $title . '</a>'.PHP_EOL;
|
2957 |
+
}
|
2958 |
+
|
2959 |
+
echo '</menu>'.PHP_EOL;} ?>
|
2960 |
+
</header>
|
2961 |
+
<?php if ( $ytrating == 'enabled' ) {
|
2962 |
+
$temprating = mt_rand ($ytratingmin*100, $ytratingmax*100) / 100;
|
2963 |
+
echo '
|
2964 |
+
<div itemscope itemtype="http://schema.org/Rating">
|
2965 |
+
<meta itemprop="ratingValue" content="'.$temprating.'">
|
2966 |
+
<meta itemprop="bestRating" content="5">
|
2967 |
+
</div>
|
2968 |
+
';
|
2969 |
+
} ?>
|
2970 |
+
<?php if ( $yturbo_options['ytsearch'] != 'disabled' && $yturbo_options['ytsearchmesto'] == 'В начале записи' ) echo yturbo_search_widget(); ?>
|
2971 |
+
<?php if ( $yturbo_options['ytfeedback'] != 'disabled' && $yturbo_options['ytfeedbackselect'] == 'false' && $yturbo_options['ytfeedbackselectmesto'] == 'В начале записи' ) echo yturbo_widget_feedback(); ?>
|
2972 |
+
<?php
|
2973 |
+
$content = apply_filters('yturbo_before_ads', $content);
|
2974 |
+
$temp = apply_filters('yturbo_add_custom_ads', $content);
|
2975 |
+
if ( $temp != $content ) {
|
2976 |
+
echo $temp;
|
2977 |
+
} else {
|
2978 |
+
echo yturbo_add_advert($content);
|
2979 |
+
}
|
2980 |
+
?>
|
2981 |
+
<?php if ( $yturbo_options['ytshare'] == 'enabled' ) {
|
2982 |
+
echo PHP_EOL.'<div data-block="share" data-network="'.$yturbo_options['ytnetw'].'"></div>';
|
2983 |
+
if ( $ytad4 == 'enabled' && $ytad4meta != 'disabled' ) echo PHP_EOL.'<figure data-turbo-ad-id="fourth_ad_place"></figure>'.PHP_EOL;
|
2984 |
+
do_action('yturbo_after_share');
|
2985 |
+
} ?>
|
2986 |
+
<?php if ( $yturbo_options['ytfeedback'] != 'disabled' && $yturbo_options['ytfeedbackselect'] == 'false' && $yturbo_options['ytfeedbackselectmesto'] == 'В конце записи' ) echo yturbo_widget_feedback(); ?>
|
2987 |
+
<?php if ( $yturbo_options['ytfeedback'] != 'disabled' && $yturbo_options['ytfeedbackselect'] != 'false' ) echo yturbo_widget_feedback(); ?>
|
2988 |
+
<?php if ( $yturbo_options['ytsearch'] != 'disabled' && $yturbo_options['ytsearchmesto'] == 'В конце записи' ) echo yturbo_search_widget(); ?>
|
2989 |
+
<?php if ( $ytcomments == 'enabled' ) {
|
2990 |
+
$comments = get_comments(array(
|
2991 |
+
'post_id' => get_the_ID(),
|
2992 |
+
'status' => 'approve',
|
2993 |
+
));
|
2994 |
+
if ( $comments ) echo PHP_EOL.'<div data-block="comments" data-url="'.get_permalink().'#respond">';
|
2995 |
+
wp_list_comments(array(
|
2996 |
+
'type' => 'comment',
|
2997 |
+
'per_page' => $ytcommentsnumber,
|
2998 |
+
'callback' => 'yturbo_comments',
|
2999 |
+
'end-callback' => 'yturbo_comments_end',
|
3000 |
+
'title_li' => null,
|
3001 |
+
'max_depth' => $ytcommentsdrevo,
|
3002 |
+
'reverse_top_level' => $reverse_top_level,
|
3003 |
+
'reverse_children' => $reverse_children,
|
3004 |
+
'style' => 'div',
|
3005 |
+
), $comments);
|
3006 |
+
if ( $comments ) echo '</div>';
|
3007 |
+
if ( $comments && $ytad5 == 'enabled' && $ytad5meta != 'disabled' ) echo PHP_EOL.'<figure data-turbo-ad-id="fifth_ad_place"></figure>'.PHP_EOL;
|
3008 |
+
do_action( 'yturbo_after_comments' );
|
3009 |
+
} ?>
|
3010 |
+
]]></turbo:content>
|
3011 |
+
<?php
|
3012 |
+
if ( $ytrelated=='enabled' ) {
|
3013 |
+
|
3014 |
+
$tempID = get_the_ID();
|
3015 |
+
$rcontent = '';
|
3016 |
+
|
3017 |
+
if ( $ytrelatedcache == 'enabled' ) $rcontent = get_transient('related-' . $tempID);
|
3018 |
+
|
3019 |
+
if ( ! $rcontent ) {
|
3020 |
+
$cats = array();
|
3021 |
+
$childonly = array();
|
3022 |
+
foreach (get_the_category(get_the_ID()) as $cat) {
|
3023 |
+
array_push($cats, $cat->cat_ID);
|
3024 |
+
if ($cat->category_parent !== 0 ) {
|
3025 |
+
array_push($childonly, $cat->cat_ID);
|
3026 |
+
}
|
3027 |
+
}
|
3028 |
+
if ( $childonly ) $cats = $childonly;
|
3029 |
+
$cur_post_id = array();
|
3030 |
+
array_push($cur_post_id, get_the_ID());
|
3031 |
+
|
3032 |
+
$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' => '!=',),));
|
3033 |
+
$related = new WP_Query($args);
|
3034 |
+
|
3035 |
+
if ( ! $related->have_posts() ) {
|
3036 |
+
$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' => '!=',),));
|
3037 |
+
$related = new WP_Query($args);
|
3038 |
+
}
|
3039 |
+
|
3040 |
+
if ( $related->have_posts() ) {
|
3041 |
+
if ( $ytrelatedinfinity == 'disabled') {
|
3042 |
+
$rcontent .= '<yandex:related>'.PHP_EOL;
|
3043 |
+
} else {
|
3044 |
+
$rcontent .= '<yandex:related type="infinity">'.PHP_EOL;
|
3045 |
+
}
|
3046 |
+
}
|
3047 |
+
while ( $related->have_posts() ) : $related->the_post();
|
3048 |
+
$ytremove = get_post_meta(get_the_ID(), 'ytremove_meta_value', true);
|
3049 |
+
if ( $ytremove == 'yes' ) continue;
|
3050 |
+
$thumburl = '';
|
3051 |
+
if ( $ytrelatedselectthumb != 'Не использовать' && has_post_thumbnail(get_the_ID()) && $ytrelatedinfinity != 'enabled' ) {
|
3052 |
+
$thumburl = ' img="' . strtok(get_the_post_thumbnail_url(get_the_ID(),$ytrelatedselectthumb), '?') . '"';
|
3053 |
+
}
|
3054 |
+
$rlink = htmlspecialchars(get_the_permalink());
|
3055 |
+
$rtitle = get_the_title_rss();
|
3056 |
+
if ( $ytrelatedselectthumb != 'Не использовать' && $ytrelatedinfinity != 'enabled' ) {
|
3057 |
+
$rcontent .= '<link url="'.$rlink.'"'.$thumburl.'>'.$rtitle.'</link>'.PHP_EOL;
|
3058 |
+
} else {
|
3059 |
+
$rcontent .= '<link url="'.$rlink.'">'.$rtitle.'</link>'.PHP_EOL;
|
3060 |
+
}
|
3061 |
+
|
3062 |
+
endwhile;
|
3063 |
+
if ( $related->have_posts() ) {
|
3064 |
+
$rcontent .= '</yandex:related>'.PHP_EOL;
|
3065 |
+
echo $rcontent;
|
3066 |
+
}
|
3067 |
+
wp_reset_query($related);
|
3068 |
+
|
3069 |
+
if ( $ytrelatedcache == 'enabled' ) set_transient('related-' . $tempID, $rcontent, $ytrelatedcachetime * HOUR_IN_SECONDS);
|
3070 |
+
} else {
|
3071 |
+
echo $rcontent;
|
3072 |
+
}
|
3073 |
+
} ?>
|
3074 |
+
</item>
|
3075 |
<?php endwhile; ?>
|
3076 |
<?php wp_reset_postdata(); ?>
|
3077 |
<?php wp_reset_query(); ?>
|
3081 |
//шаблон для RSS-ленты Яндекс.Турбо end
|
3082 |
|
3083 |
//установка правильного content type для ленты плагина begin
|
3084 |
+
function yturbo_feed_content_type($content_type, $type) {
|
3085 |
+
$yturbo_options = get_option('yturbo_options');
|
3086 |
+
if ( $yturbo_options['ytrssname'] == $type ) {
|
3087 |
+
$content_type = 'application/rss+xml';
|
3088 |
+
}
|
3089 |
+
return $content_type;
|
3090 |
}
|
3091 |
+
add_filter('feed_content_type', 'yturbo_feed_content_type', 10, 2);
|
3092 |
//установка правильного content type для ленты плагина end
|
3093 |
|
3094 |
//функция формирования content в rss begin
|
3095 |
function yturbo_the_content_feed() {
|
3096 |
+
$yturbo_options = get_option('yturbo_options');
|
3097 |
+
remove_shortcode('gallery');
|
3098 |
+
if ( $yturbo_options['ytexcerpt'] == 'enabled' ) {
|
3099 |
+
$content = '';
|
3100 |
+
if ( has_excerpt( get_the_ID() ) ) {
|
3101 |
+
$content = '<p>' . get_the_excerpt( get_the_ID() ) . '</p>';
|
3102 |
+
}
|
3103 |
+
$content .= apply_filters( 'the_content', yturbo_strip_shortcodes( get_post_field( 'post_content', get_the_ID() ) ) );
|
3104 |
+
} else {
|
3105 |
+
$content = apply_filters( 'the_content', yturbo_strip_shortcodes( get_post_field( 'post_content', get_the_ID() ) ) );
|
3106 |
+
}
|
3107 |
+
$content = apply_filters('yturbo_the_content', $content);
|
3108 |
+
$content = str_replace(']]>', ']]>', $content);
|
3109 |
+
$content = apply_filters('wp_staticize_emoji', $content);
|
3110 |
+
$content = apply_filters('_oembed_filter_feed_content', $content);
|
3111 |
+
return $content;
|
3112 |
}
|
3113 |
//функция формирования content в rss end
|
3114 |
|
3115 |
//функция удаления тегов вместе с их контентом begin
|
3116 |
+
function yturbo_strip_tags_with_content($text, $tags = '', $invert = false) {
|
3117 |
+
|
3118 |
+
// удаляем лишние символы, добавляем тегам символы <> begin
|
3119 |
+
$tags = preg_replace('/[^A-Za-z0-9,]/', '', $tags);
|
3120 |
+
$a = explode(",", $tags );
|
3121 |
+
$a = array_diff($a, array(''));
|
3122 |
+
array_walk($a, function(&$value, $key) { $value = '<'. $value . '>'; } );
|
3123 |
+
$tags = implode(",", $a );
|
3124 |
+
// удаляем лишние символы, добавляем тегам символы <> end
|
3125 |
+
|
3126 |
+
preg_match_all( '/<(.+?)[\s]*\/?[\s]*>/si', trim( $tags ), $tags_array );
|
3127 |
+
$tags_array = array_unique($tags_array[1]);
|
3128 |
+
|
3129 |
+
$regex = '';
|
3130 |
+
|
3131 |
+
if ( count($tags_array) > 0 ) {
|
3132 |
+
if ( ! $invert ) {
|
3133 |
+
$regex = '@<(?!(?:' . implode( '|', $tags_array ) . ')\b)(\w+)\b[^>]*?(>((?!<\1\b).)*?<\/\1|\/)>@si';
|
3134 |
+
$text = preg_replace( $regex, '', $text );
|
3135 |
+
} else {
|
3136 |
+
$regex = '@<(' . implode( '|', $tags_array ) . ')\b[^>]*?(>((?!<\1\b).)*?<\/\1|\/)>@si';
|
3137 |
+
$text = preg_replace( $regex, '', $text );
|
3138 |
+
}
|
3139 |
+
} elseif ( ! $invert ) {
|
3140 |
+
$regex = '@<(\w+)\b[^>]*?(>((?!<\1\b).)*?<\/\1|\/)>@si';
|
3141 |
+
$text = preg_replace( $regex, '', $text );
|
3142 |
+
}
|
3143 |
+
|
3144 |
+
if ( $regex && preg_match( $regex, $text ) ) {
|
3145 |
+
$text = yturbo_strip_tags_with_content( $text, $tags, $invert );
|
3146 |
+
}
|
3147 |
+
|
3148 |
+
return $text;
|
3149 |
}
|
3150 |
//функция удаления тегов вместе с их контентом end
|
3151 |
|
3152 |
//функция удаления тегов без их контента begin
|
3153 |
+
function yturbo_strip_tags_without_content($text, $tags = '') {
|
3154 |
+
|
3155 |
+
// удаляем лишние символы, добавляем тегам символы <> begin
|
3156 |
+
$tags = preg_replace('/[^A-Za-z0-9,]/', '', $tags);
|
3157 |
+
$a = explode(",", $tags );
|
3158 |
+
$a = array_diff($a, array(''));
|
3159 |
+
array_walk($a, function(&$value, $key) { $value = '<'. $value . '>'; } );
|
3160 |
+
$tags = implode(",", $a );
|
3161 |
+
// удаляем лишние символы, добавляем тегам символы <> end
|
3162 |
+
|
3163 |
+
preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);
|
3164 |
+
$tags = array_unique($tags[1]);
|
3165 |
+
|
3166 |
+
if ( is_array($tags) AND count($tags) > 0 ) {
|
3167 |
+
foreach($tags as $tag) {
|
3168 |
+
$text = preg_replace("/<\\/?" . $tag . "(.|\\s)*?>/", '', $text);
|
3169 |
+
}
|
3170 |
+
}
|
3171 |
+
return $text;
|
3172 |
}
|
3173 |
//функция удаления тегов без их контента end
|
3174 |
|
3175 |
//функция принудительной установки header-тега X-Robots-Tag (решение проблемы с SEO-плагинами) begin
|
3176 |
function yturbo_index_follow_rss() {
|
3177 |
+
$yturbo_options = get_option('yturbo_options');
|
3178 |
+
if ( is_feed($yturbo_options['ytrssname']) ) {
|
3179 |
+
header('X-Robots-Tag: index, follow', true);
|
3180 |
+
header('HTTP/1.1 200 OK', true);
|
3181 |
+
}
|
3182 |
}
|
3183 |
+
add_action('template_redirect', 'yturbo_index_follow_rss', 999999);
|
3184 |
//функция принудительной установки header-тега X-Robots-Tag (решение проблемы с SEO-плагинами) end
|
3185 |
|
3186 |
//функция подсчета количества rss-лент и их вывод на странице настроек плагина begin
|
3200 |
$yttaxlist = $yturbo_options['yttaxlist'];
|
3201 |
$ytaddtaxlist = $yturbo_options['ytaddtaxlist'];
|
3202 |
|
3203 |
+
if ( $ytqueryselect == 'Все таксономии, кроме исключенных' && $yttaxlist ) {
|
3204 |
+
$textAr = explode("\n", trim($yttaxlist));
|
3205 |
+
$textAr = array_filter($textAr, 'trim');
|
3206 |
+
$tax_query = array('relation' => 'AND');
|
3207 |
+
foreach ($textAr as $line) {
|
3208 |
+
$tax = explode(":", $line);
|
3209 |
+
$taxterm = explode(",", $tax[1]);
|
3210 |
+
$tax_query[] = array(
|
3211 |
+
'taxonomy' => $tax[0],
|
3212 |
+
'field' => 'id',
|
3213 |
+
'terms' => $taxterm,
|
3214 |
+
'operator' => 'NOT IN',
|
3215 |
+
);
|
3216 |
+
}
|
3217 |
}
|
3218 |
+
if ( ! $ytaddtaxlist ) $ytaddtaxlist = 'category:10000000';
|
3219 |
+
if ( $ytqueryselect == 'Только указанные таксономии' ) {
|
3220 |
+
$textAr = explode("\n", trim($ytaddtaxlist));
|
3221 |
+
$textAr = array_filter($textAr, 'trim');
|
3222 |
+
$tax_query = array('relation' => 'OR');
|
3223 |
+
foreach ($textAr as $line) {
|
3224 |
+
$tax = explode(":", $line);
|
3225 |
+
$taxterm = explode(",", $tax[1]);
|
3226 |
+
$tax_query[] = array(
|
3227 |
+
'taxonomy' => $tax[0],
|
3228 |
+
'field' => 'id',
|
3229 |
+
'terms' => $taxterm,
|
3230 |
+
'operator' => 'IN',
|
3231 |
+
);
|
3232 |
+
}
|
3233 |
}
|
3234 |
|
3235 |
+
if ( $ytnumber > 500 ) :
|
3236 |
+
if ( $ytrazb == 'enabled' ) {
|
3237 |
$paged = 2;
|
3238 |
echo '<p>Вы установили слишком большое общее количество записей в RSS (больше 500 записей), <br />
|
3239 |
поэтому чтобы не нагружать базу данных фактическая проверка наличия записей в разбитых <br />
|
3242 |
<p>Всего у вас ' . yturbo_russian_number(ceil($ytnumber / $ytrazbnumber), array(' RSS-лента', ' RSS-ленты', ' RSS-лент')) . ' (максимально по '.yturbo_russian_number($ytrazbnumber, array(' запись', ' записи', ' записей')). ' в каждой):</p>';
|
3243 |
echo '<ul style="margin-bottom: 25px;">';
|
3244 |
if ( get_option('permalink_structure') ) {
|
3245 |
+
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/</a></li>';
|
3246 |
} else {
|
3247 |
+
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'</a></li>';
|
3248 |
}
|
3249 |
+
while ( $paged <= ceil($ytnumber / $ytrazbnumber) ) {
|
3250 |
+
|
3251 |
+
if ( get_option('permalink_structure') ) {
|
3252 |
+
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>';
|
3253 |
+
} else {
|
3254 |
+
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>';
|
3255 |
+
}
|
3256 |
+
$paged++;
|
3257 |
+
|
3258 |
+
if ( $paged == 10 && ( ceil($ytnumber / $ytrazbnumber) ) > 10 ) {
|
3259 |
+
echo '<li>....</li>';
|
3260 |
+
echo '<li>Слишком много RSS-лент, остальные ленты были скрыты (<span id="showlistrss">показать</span>).</li>';
|
3261 |
+
echo '<div id="allrss" style="display:none;">';
|
3262 |
+
}
|
3263 |
}
|
3264 |
+
if ( $paged >= 10 && ( ceil($ytnumber / $ytrazbnumber) ) > 10 ) {
|
3265 |
+
echo '</div>';
|
3266 |
}
|
3267 |
echo '</ul>';
|
3268 |
} else {
|
3269 |
+
echo '<p>Всего у вас 1 RSS-лента ' . ' (в ней максимально может быть '.yturbo_russian_number($ytnumber, array(' запись', ' записи', ' записей')). '):</p>';
|
3270 |
+
echo '<ul style="margin-bottom: 25px;">';
|
3271 |
+
if ( get_option('permalink_structure') ) {
|
3272 |
+
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/</a></li>';
|
3273 |
+
} else {
|
3274 |
+
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'</a></li>';
|
3275 |
+
}
|
3276 |
+
echo '</ul>';
|
3277 |
}
|
3278 |
else :
|
3279 |
|
3280 |
+
if ( ! isset($yttype[0]) ) {$yttype=array();$yttype[0]='trulala';}//если в настройках не выбраны типы записей, то отключаем дефолтный post_type равный 'post'
|
3281 |
$args = array('ignore_sticky_posts' => 1, 'post_type' => $yttype, 'post_status' => 'publish', 'posts_per_page' => $ytnumber,'tax_query' => $tax_query,
|
3282 |
'meta_query' => array('relation' => 'OR', array('key' => 'ytrssenabled_meta_value', 'compare' => 'NOT EXISTS',),
|
3283 |
array('key' => 'ytrssenabled_meta_value', 'value' => 'yes', 'compare' => '!=',),));
|
3284 |
$query = new WP_Query( $args );
|
3285 |
|
3286 |
+
if ( $query->post_count < $ytnumber ) $ytnumber = $query->post_count;
|
3287 |
|
3288 |
+
if ( $ytrazb == 'enabled' && ( ceil($query->post_count / $ytrazbnumber) > 1 ) ) {
|
3289 |
+
echo '<p>Согласно настройкам плагина в RSS попадут ' . yturbo_russian_number($query->post_count, array(' запись', ' записи', ' записей')) . ' (максимально: '.$yturbo_options['ytnumber'].').<br/>';
|
3290 |
+
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>';
|
3291 |
} else {
|
3292 |
+
echo '<p>Всего у вас 1 RSS-лента '. ' (в ней '.yturbo_russian_number($ytnumber, array(' запись', ' записи', ' записей')). '):</p>';
|
3293 |
}
|
3294 |
|
3295 |
echo '<ul style="margin-bottom: 20px;">';
|
3296 |
if ( get_option('permalink_structure') ) {
|
3297 |
+
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/">'.get_bloginfo("url").'/feed/'.$yturbo_options['ytrssname'].'/</a></li>';
|
3298 |
} else {
|
3299 |
+
echo '<li>1. <a target="_blank" href="'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'">'.get_bloginfo("url").'/?feed='.$yturbo_options['ytrssname'].'</a></li>';
|
3300 |
}
|
3301 |
|
3302 |
+
if ( $ytrazb == 'enabled' && ( ceil($query->post_count / $ytrazbnumber) > 1 ) ) {
|
3303 |
+
for ($x=1; $x++<ceil($query->post_count / $ytrazbnumber);) {
|
3304 |
+
if ( get_option('permalink_structure') ) {
|
3305 |
+
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>';
|
3306 |
+
} else {
|
3307 |
+
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>';
|
3308 |
+
}
|
3309 |
+
if ( $x == 9 && ( ceil($query->post_count / $ytrazbnumber) ) > 9 ) {
|
3310 |
+
echo '<li>....</li>';
|
3311 |
+
echo '<li>Слишком много RSS-лент, остальные ленты были скрыты (<span id="showlistrss">показать</span>).</li>';
|
3312 |
+
echo '<div id="allrss" style="display:none;">';
|
3313 |
+
}
|
3314 |
+
}
|
3315 |
+
if ( ceil($query->post_count / $ytrazbnumber) > 9 ) {
|
3316 |
+
echo '</div>';
|
3317 |
+
}
|
3318 |
}
|
3319 |
|
3320 |
echo '</ul>';
|
3324 |
//функция подсчета количества rss-лент и их вывод на странице настроек плагина end
|
3325 |
|
3326 |
//функция склонения слов после числа begin
|
3327 |
+
function yturbo_russian_number($number, $titles) {
|
3328 |
+
$cases = array (2, 0, 1, 1, 1, 2);
|
3329 |
+
return $number . ' ' . $titles[ ($number%100 > 4 && $number %100 < 20) ? 2 : $cases[min($number%10, 5)] ];
|
3330 |
}
|
3331 |
//функция склонения слов после числа end
|
3332 |
|
3333 |
//функция добавления рекламы в запись begin
|
3334 |
function yturbo_add_advert( $content ) {
|
3335 |
|
3336 |
+
$yturbo_options = get_option('yturbo_options');
|
3337 |
+
$ytrazmer = $yturbo_options['ytrazmer'];
|
3338 |
+
$ytad1 = $yturbo_options['ytad1'];
|
3339 |
+
$ytad2 = $yturbo_options['ytad2'];
|
3340 |
+
$ytad3 = $yturbo_options['ytad3'];
|
3341 |
|
3342 |
+
$tempcontent = $content;
|
3343 |
+
$tempcontent = strip_tags($tempcontent);
|
3344 |
+
$tempcontent = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $tempcontent);
|
3345 |
|
3346 |
+
$num = ceil(mb_strlen($tempcontent) / 2);
|
3347 |
|
3348 |
+
global $post;
|
3349 |
+
$ytad1meta = get_post_meta($post->ID, 'ytad1meta', true);
|
3350 |
+
$ytad2meta = get_post_meta($post->ID, 'ytad2meta', true);
|
3351 |
+
$ytad3meta = get_post_meta($post->ID, 'ytad3meta', true);
|
3352 |
|
3353 |
+
if ( $ytad2 != 'enabled' or $ytad2meta == 'disabled' ) $ads ='';
|
3354 |
|
3355 |
+
if ( $ytad2 == 'enabled' && $ytad2meta != 'disabled' ) {
|
3356 |
+
$ads = PHP_EOL.'<figure data-turbo-ad-id="second_ad_place"></figure>';
|
3357 |
+
}
|
3358 |
|
3359 |
+
if ( mb_strlen($tempcontent) > (int)$ytrazmer && mb_strlen($tempcontent) < 65000 ) {
|
3360 |
+
$content = preg_replace('~[^^]{'. $num .'}.*?(?:\r?\n\r?\n|</p>|</figure>|</ul>|</pre>|</table>|</ol>|</blockquote>)~su', "\${0}$ads", trim( $content ), 1);
|
3361 |
+
}
|
3362 |
|
3363 |
+
if ( $ytad1 == 'enabled' && $ytad1meta != 'disabled' ) $content = '<figure data-turbo-ad-id="first_ad_place"></figure>'.PHP_EOL . $content;
|
3364 |
+
if ( $ytad3 == 'enabled' && $ytad3meta != 'disabled' ) $content = PHP_EOL . $content . PHP_EOL.'<figure data-turbo-ad-id="third_ad_place"></figure>';
|
3365 |
|
3366 |
+
return $content;
|
3367 |
}
|
3368 |
//функция добавления рекламы в запись end
|
3369 |
|
3370 |
//функция удаления всех атрибутов тега img кроме указанных begin
|
3371 |
function yturbo_strip_attributes( $s, $allowedattr = array() ) {
|
3372 |
|
3373 |
+
if ( preg_match_all("/<img[^>]*\\s([^>]*)\\/*>/msiU", $s, $res, PREG_SET_ORDER) ) {
|
3374 |
+
foreach ($res as $r) {
|
3375 |
+
$tag = $r[0];
|
3376 |
+
$attrs = array();
|
3377 |
+
preg_match_all("/\\s.*=(['\"]).*\\1/msiU", " " . $r[1], $split, PREG_SET_ORDER);
|
3378 |
+
foreach ($split as $spl) {
|
3379 |
+
$attrs[] = $spl[0];
|
3380 |
+
}
|
3381 |
+
$newattrs = array();
|
3382 |
+
foreach ($attrs as $a) {
|
3383 |
+
$tmp = explode("=", $a);
|
3384 |
+
if (trim($a) != "" && (!isset($tmp[1]) || (trim($tmp[0]) != "" && !in_array(strtolower(trim($tmp[0])), $allowedattr)))) {
|
3385 |
+
|
3386 |
+
} else {
|
3387 |
+
$newattrs[] = $a;
|
3388 |
+
}
|
3389 |
+
}
|
3390 |
+
|
3391 |
+
//сортировка чтобы alt был раньше src
|
3392 |
+
sort($newattrs);
|
3393 |
+
reset($newattrs);
|
3394 |
+
|
3395 |
+
$attrs = implode(" ", $newattrs);
|
3396 |
+
$rpl = str_replace($r[1], $attrs, $tag);
|
3397 |
+
//заменяем одинарные кавычки на двойные
|
3398 |
+
$rpl = str_replace("'", "\"", $rpl);
|
3399 |
+
$rpl = str_replace(" ", " ", $rpl);
|
3400 |
+
//добавляем закрывающий символ / если он отсутствует
|
3401 |
+
$rpl = str_replace("\">", "\" />", $rpl);
|
3402 |
+
//добавляем пробел перед закрывающим символом /
|
3403 |
+
$rpl = str_replace("\"/>", "\" />", $rpl);
|
3404 |
+
//удаляем двойные пробелы
|
3405 |
+
$rpl = str_replace(" ", " ", $rpl);
|
3406 |
+
|
3407 |
+
$s = str_replace($tag, $rpl, $s);
|
3408 |
+
}
|
3409 |
+
}
|
3410 |
+
|
3411 |
+
return $s;
|
3412 |
}
|
3413 |
//функция удаления всех атрибутов тега img кроме указанных end
|
3414 |
|
3415 |
//функция удаления транзитного кэша для похожих записей begin
|
3416 |
function yturbo_clear_transients() {
|
3417 |
+
global $wpdb;
|
3418 |
|
3419 |
+
$sql = "
|
3420 |
DELETE
|
3421 |
FROM {$wpdb->options}
|
3422 |
WHERE option_name like '\_transient\_related-%'
|
3423 |
OR option_name like '\_transient\_timeout\_related-%'
|
3424 |
";
|
3425 |
|
3426 |
+
$wpdb->query($sql);
|
3427 |
}
|
3428 |
//функция удаления транзитного кэша для похожих записей end
|
3429 |
|
3430 |
//функция преобразования стандартных галерей движка в турбо-галереи begin
|
3431 |
+
function yturbo_gallery($output, $attr) {
|
3432 |
+
|
3433 |
+
$yturbo_options = get_option('yturbo_options');
|
3434 |
+
if ( ! is_feed($yturbo_options['ytrssname']) )
|
3435 |
+
return;
|
3436 |
+
|
3437 |
+
$post = get_post();
|
3438 |
+
|
3439 |
+
static $instance = 0;
|
3440 |
+
$instance++;
|
3441 |
+
|
3442 |
+
if ( ! empty($attr['ids']) ) {
|
3443 |
+
// 'ids' is explicitly ordered, unless you specify otherwise.
|
3444 |
+
if ( empty( $attr['orderby'] ) ) {
|
3445 |
+
$attr['orderby'] = 'post__in';
|
3446 |
+
}
|
3447 |
+
$attr['include'] = $attr['ids'];
|
3448 |
+
}
|
3449 |
+
|
3450 |
+
$html5 = current_theme_supports( 'html5', 'gallery' );
|
3451 |
+
$atts = shortcode_atts( array(
|
3452 |
+
'order' => 'ASC',
|
3453 |
+
'orderby' => 'menu_order ID',
|
3454 |
+
'id' => $post ? $post->ID : 0,
|
3455 |
+
'itemtag' => $html5 ? 'figure' : 'dl',
|
3456 |
+
'icontag' => $html5 ? 'div' : 'dt',
|
3457 |
+
'captiontag' => $html5 ? 'figcaption' : 'dd',
|
3458 |
+
'columns' => 3,
|
3459 |
+
'size' => 'thumbnail',
|
3460 |
+
'include' => '',
|
3461 |
+
'exclude' => '',
|
3462 |
+
'link' => ''
|
3463 |
+
), $attr, 'gallery' );
|
3464 |
+
|
3465 |
+
$id = intval($atts['id']);
|
3466 |
+
|
3467 |
+
$atts['include'] = str_replace(array("»","″"), "", $atts['include']);
|
3468 |
+
$atts['orderby'] = str_replace(array("»","″"), "", $atts['orderby']);
|
3469 |
+
$atts['order'] = str_replace(array("»","″"), "", $atts['order']);
|
3470 |
+
$atts['exclude'] = str_replace(array("»","″"), "", $atts['exclude']);
|
3471 |
+
|
3472 |
+
if ( ! empty($atts['include']) ) {
|
3473 |
+
$_attachments = get_posts( array( 'include' => $atts['include'], 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $atts['order'], 'orderby' => $atts['orderby'] ) );
|
3474 |
+
|
3475 |
+
$attachments = array();
|
3476 |
+
foreach ($_attachments as $key => $val) {
|
3477 |
+
$attachments[$val->ID] = $_attachments[$key];
|
3478 |
+
}
|
3479 |
+
|
3480 |
+
} elseif ( ! empty($atts['exclude']) ) {
|
3481 |
+
$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'] ) );
|
3482 |
+
} else {
|
3483 |
+
$attachments = get_children( array( 'post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $atts['order'], 'orderby' => $atts['orderby'] ) );
|
3484 |
+
}
|
3485 |
+
|
3486 |
+
if ( empty($attachments) ) {
|
3487 |
+
return '';
|
3488 |
+
}
|
3489 |
+
|
3490 |
+
$output = PHP_EOL.'<div data-block="gallery">'.PHP_EOL;
|
3491 |
+
|
3492 |
+
foreach ($attachments as $id => $attachment) {
|
3493 |
+
$output .= '<img src="'.wp_get_attachment_url($id) . '"/>'.PHP_EOL;
|
3494 |
+
}
|
3495 |
+
|
3496 |
+
$output .= '</div>'.PHP_EOL;
|
3497 |
+
|
3498 |
+
return $output;
|
3499 |
}
|
3500 |
//функция преобразования стандартных галерей движка в турбо-галереи end
|
3501 |
|
3502 |
//функция преобразования стандартных галерей движка в турбо-галереи в гутенберге begin
|
3503 |
+
function yturbo_do_gallery($content) {
|
3504 |
+
|
3505 |
+
//удаляем ul разметку галерей в гутенберге (wordpress 5.0+)
|
3506 |
+
$pattern = "/<ul class=\"wp-block-gallery(.*?)>(.*?)<\/ul>/s";
|
3507 |
+
$replacement = '<div data-block="gallery">$2</div>';
|
3508 |
+
$content = preg_replace($pattern, $replacement, $content);
|
3509 |
+
|
3510 |
+
//удаляем ul разметку галерей в гутенберге (wordpress 5.3+)
|
3511 |
+
$pattern = "/<ul class=\"blocks-gallery-grid(.*?)>(.*?)<\/ul>/s";
|
3512 |
+
$replacement = '<div data-block="gallery">$2</div>';
|
3513 |
+
$content = preg_replace($pattern, $replacement, $content);
|
3514 |
+
|
3515 |
+
//удаляем li разметку галерей в гутенберге
|
3516 |
+
$pattern = "/<li class=\"blocks-gallery-item\">\n<figure>(.*?)<img src=\"(.*?)\" \/>(.*?)<\/figure>\n<\/li>/i";
|
3517 |
+
$replacement = '<img src="$2"/>';
|
3518 |
+
$content = preg_replace($pattern, $replacement, $content);
|
3519 |
+
|
3520 |
+
$pattern = "/<li class=\"blocks-gallery-item\">\n<figure>(.*?)<img src=\"(.*?)\" \/>(.*?)<\/figure>\n<\/li>/i";
|
3521 |
+
$replacement = '<img src="$2"/>';
|
3522 |
+
$content = preg_replace($pattern, $replacement, $content);
|
3523 |
+
|
3524 |
+
//убираем figure внутри галереи (в wp 5.9+)
|
3525 |
+
$content = preg_replace_callback('#(<tempgallery[^>]*>)(.+?)(</tempgallery>)#is', function($m) {
|
3526 |
+
$pattern = '/<figure(.*?)><img(.*?)>(.*?)<\/figure>/i';
|
3527 |
+
$replacement = '<img$2>';
|
3528 |
+
$m[2] = preg_replace($pattern, $replacement, $m[2]);
|
3529 |
+
return('<tempgallery>'.$m[2].'</tempgallery>');
|
3530 |
+
}, $content);
|
3531 |
+
|
3532 |
+
//удаляем двойную обертку (tempgallery)
|
3533 |
+
$pattern = "/<tempgallery>\n<div data-block=\"gallery\">/i";
|
3534 |
+
$replacement = PHP_EOL.'<div data-block="gallery">';
|
3535 |
+
$content = preg_replace($pattern, $replacement, $content);
|
3536 |
+
|
3537 |
+
//удаляем двойную обертку (tempgallery)
|
3538 |
+
$pattern = "/<\/div>".PHP_EOL."<header>(.*?)<\/header>/i";
|
3539 |
+
$replacement = '<header>$1</header>';
|
3540 |
+
$content = preg_replace($pattern, $replacement, $content);
|
3541 |
+
|
3542 |
+
$content = str_replace('<tempgallery><div data-block="gallery">',PHP_EOL.'<div data-block="gallery">',$content);
|
3543 |
+
$content = str_replace('</div></tempgallery>',PHP_EOL.'</div>',$content);
|
3544 |
+
//двойная обертка только на 5.8 и ниже, на 5.9 и выше убираем так
|
3545 |
+
$content = str_replace('<tempgallery>',PHP_EOL.'<div data-block="gallery">',$content);
|
3546 |
+
$content = str_replace('</tempgallery>','</div>',$content);
|
3547 |
+
|
3548 |
+
return $content;
|
3549 |
}
|
3550 |
//функция преобразования стандартных галерей движка в турбо-галереи в гутенберге end
|
3551 |
|
3552 |
//функции открытия и закрытия комментариев begin
|
3553 |
+
function yturbo_comments($comment, $args, $depth) {
|
3554 |
+
$yturbo_options = get_option('yturbo_options');
|
3555 |
+
$ytcommentsdate = $yturbo_options['ytcommentsdate'];
|
3556 |
+
$ytcommentsdrevo = $yturbo_options['ytcommentsdrevo'];
|
3557 |
+
$ytcommentsavatar = $yturbo_options['ytcommentsavatar'];
|
3558 |
+
echo PHP_EOL;
|
3559 |
+
?>
|
3560 |
+
<div data-block="comment"
|
3561 |
+
data-author="<?php comment_author(); ?>"
|
3562 |
+
<?php if ( $ytcommentsavatar == 'enabled' ) { ?>
|
3563 |
+
data-avatar-url="<?php echo esc_url( get_avatar_url( $comment, 100 ) ); ?>"
|
3564 |
+
<?php } ?>
|
3565 |
+
<?php if ( $ytcommentsdate == 'enabled' ) { ?>
|
3566 |
+
data-subtitle="<?php echo get_comment_date(); ?> в <?php echo get_comment_time(); ?>"
|
3567 |
+
<?php } ?>
|
3568 |
+
>
|
3569 |
+
<div data-block="content">
|
3570 |
+
<?php comment_text(); ?>
|
3571 |
+
</div>
|
3572 |
+
<?php if ( $args['has_children'] && $ytcommentsdrevo=='enabled' ) echo '<div data-block="comments">';
|
3573 |
}
|
3574 |
|
3575 |
+
function yturbo_comments_end($comment, $args, $depth) {
|
3576 |
$yturbo_options = get_option('yturbo_options');
|
3577 |
$ytcommentsdrevo = $yturbo_options['ytcommentsdrevo'];
|
3578 |
?>
|
3579 |
+
</div>
|
3580 |
+
<?php if ( $depth == 1 && $ytcommentsdrevo == 'enabled' ) echo '</div>'; ?>
|
3581 |
<?php }
|
3582 |
//функции открытия и закрытия комментариев end
|
3583 |
|
3584 |
//функция формирования объявлений рекламной сети begin
|
3585 |
function yturbo_turbo_ads() {
|
3586 |
+
$yturbo_options = get_option('yturbo_options');
|
3587 |
+
|
3588 |
+
$ytcomments = $yturbo_options['ytcomments'];
|
3589 |
+
$ytshare = $yturbo_options['ytshare'];
|
3590 |
+
|
3591 |
+
$ytad1 = $yturbo_options['ytad1'];
|
3592 |
+
$ytad1set = $yturbo_options['ytad1set'];
|
3593 |
+
$ytad1rsa = $yturbo_options['ytad1rsa'];
|
3594 |
+
$ytadfox1 = html_entity_decode(stripcslashes($yturbo_options['ytadfox1']),ENT_QUOTES);
|
3595 |
+
$ytad2 = $yturbo_options['ytad2'];
|
3596 |
+
$ytad2set = $yturbo_options['ytad2set'];
|
3597 |
+
$ytad2rsa = $yturbo_options['ytad2rsa'];
|
3598 |
+
$ytadfox2 = html_entity_decode(stripcslashes($yturbo_options['ytadfox2']),ENT_QUOTES);
|
3599 |
+
$ytad3 = $yturbo_options['ytad3'];
|
3600 |
+
$ytad3set = $yturbo_options['ytad3set'];
|
3601 |
+
$ytad3rsa = $yturbo_options['ytad3rsa'];
|
3602 |
+
$ytadfox3 = html_entity_decode(stripcslashes($yturbo_options['ytadfox3']),ENT_QUOTES);
|
3603 |
+
$ytad4 = $yturbo_options['ytad4'];
|
3604 |
+
$ytad4set = $yturbo_options['ytad4set'];
|
3605 |
+
$ytad4rsa = $yturbo_options['ytad4rsa'];
|
3606 |
+
$ytadfox4 = html_entity_decode(stripcslashes($yturbo_options['ytadfox4']),ENT_QUOTES);
|
3607 |
+
$ytad5 = $yturbo_options['ytad5'];
|
3608 |
+
$ytad5set = $yturbo_options['ytad5set'];
|
3609 |
+
$ytad5rsa = $yturbo_options['ytad5rsa'];
|
3610 |
+
$ytadfox5 = html_entity_decode(stripcslashes($yturbo_options['ytadfox5']),ENT_QUOTES);
|
3611 |
+
|
3612 |
+
$yturboads = '';
|
3613 |
+
if ( $ytad1 == 'enabled' ) {
|
3614 |
+
if ($ytad1set == 'РСЯ') {
|
3615 |
+
$yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad1rsa.'" turbo-ad-id="first_ad_place"></turbo:adNetwork>'.PHP_EOL;
|
3616 |
+
}
|
3617 |
+
if ( $ytad1set == 'ADFOX' ) {
|
3618 |
+
$yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="first_ad_place">
|
3619 |
+
<![CDATA[
|
3620 |
+
'.$ytadfox1.'
|
3621 |
+
]]>
|
3622 |
+
</turbo:adNetwork>'.PHP_EOL;
|
3623 |
+
}
|
3624 |
+
}
|
3625 |
+
if ( $ytad2 == 'enabled' ) {
|
3626 |
+
if ( $ytad2set == 'РСЯ' ) {
|
3627 |
+
$yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad2rsa.'" turbo-ad-id="second_ad_place"></turbo:adNetwork>'.PHP_EOL;
|
3628 |
+
}
|
3629 |
+
if ( $ytad2set == 'ADFOX' ) {
|
3630 |
+
$yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="second_ad_place">
|
3631 |
+
<![CDATA[
|
3632 |
+
'.$ytadfox2.'
|
3633 |
+
]]>
|
3634 |
+
</turbo:adNetwork>'.PHP_EOL;
|
3635 |
+
}
|
3636 |
+
}
|
3637 |
+
if ( $ytad3 == 'enabled' ) {
|
3638 |
+
if ( $ytad3set == 'РСЯ' ) {
|
3639 |
+
$yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad3rsa.'" turbo-ad-id="third_ad_place"></turbo:adNetwork>'.PHP_EOL;
|
3640 |
+
}
|
3641 |
+
if ( $ytad3set == 'ADFOX' ) {
|
3642 |
+
$yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="third_ad_place">
|
3643 |
+
<![CDATA[
|
3644 |
+
'.$ytadfox3.'
|
3645 |
+
]]>
|
3646 |
+
</turbo:adNetwork>'.PHP_EOL;
|
3647 |
+
}
|
3648 |
+
}
|
3649 |
+
if ( $ytad4 == 'enabled' && $ytshare == 'enabled' ) {
|
3650 |
+
if ( $ytad4set == 'РСЯ' ) {
|
3651 |
+
$yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad4rsa.'" turbo-ad-id="fourth_ad_place"></turbo:adNetwork>'.PHP_EOL;
|
3652 |
+
}
|
3653 |
+
if ( $ytad4set == 'ADFOX' ) {
|
3654 |
+
$yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="fourth_ad_place">
|
3655 |
+
<![CDATA[
|
3656 |
+
'.$ytadfox4.'
|
3657 |
+
]]>
|
3658 |
+
</turbo:adNetwork>'.PHP_EOL;
|
3659 |
+
}
|
3660 |
+
}
|
3661 |
+
if ( $ytad5 == 'enabled' && $ytcomments == 'enabled' ) {
|
3662 |
+
if ( $ytad5set == 'РСЯ' ) {
|
3663 |
+
$yturboads .= '<turbo:adNetwork type="Yandex" id="'.$ytad5rsa.'" turbo-ad-id="fifth_ad_place"></turbo:adNetwork>'.PHP_EOL;
|
3664 |
+
}
|
3665 |
+
if ( $ytad5set == 'ADFOX' ) {
|
3666 |
+
$yturboads .= '<turbo:adNetwork type="AdFox" turbo-ad-id="fifth_ad_place">
|
3667 |
+
<![CDATA[
|
3668 |
+
'.$ytadfox5.'
|
3669 |
+
]]>
|
3670 |
+
</turbo:adNetwork>'.PHP_EOL;
|
3671 |
+
}
|
3672 |
+
}
|
3673 |
+
|
3674 |
+
return $yturboads;
|
3675 |
}
|
3676 |
//функция формирования объявлений рекламной сети end
|
3677 |
|
3678 |
//функция вывода виджета обратной связи begin
|
3679 |
function yturbo_widget_feedback() {
|
3680 |
+
$yturbo_options = get_option('yturbo_options');
|
3681 |
+
|
3682 |
+
if ( $yturbo_options['ytfeedback'] == 'disabled' )
|
3683 |
+
return;
|
3684 |
+
|
3685 |
+
$content = PHP_EOL.PHP_EOL.'<div data-block="widget-feedback" data-title="'.esc_attr(stripslashes($yturbo_options['ytfeedbacktitle'])).'" data-stick="'.$yturbo_options['ytfeedbackselect'].'">'.PHP_EOL;
|
3686 |
+
|
3687 |
+
$ytfeedbacknetw = explode(",", $yturbo_options['ytfeedbacknetw']);
|
3688 |
+
$ytfeedbacknetw = array_diff($ytfeedbacknetw, array(''));
|
3689 |
+
|
3690 |
+
foreach ($ytfeedbacknetw as $network) {
|
3691 |
+
switch ($network) {
|
3692 |
+
case 'call':
|
3693 |
+
if ( $yturbo_options['ytfeedbackcall'] ) {
|
3694 |
+
$content .= '<div data-type="call" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbackcall'])).'"></div>'.PHP_EOL;
|
3695 |
+
}
|
3696 |
+
break;
|
3697 |
+
case 'callback':
|
3698 |
+
if ( $yturbo_options['ytfeedbackcallback'] ) {
|
3699 |
+
$content .= '<div data-type="callback" data-send-to="'.esc_attr(stripslashes($yturbo_options['ytfeedbackcallback'])).'"';
|
3700 |
+
if ($yturbo_options['ytfeedbackcallback2'] && $yturbo_options['ytfeedbackcallback3']) {
|
3701 |
+
$content .= ' data-agreement-company="'.esc_attr(stripslashes($yturbo_options['ytfeedbackcallback2'])).'" data-agreement-link="'.esc_url($yturbo_options['ytfeedbackcallback3']).'"';
|
3702 |
+
}
|
3703 |
+
}
|
3704 |
+
$content .= '></div>'.PHP_EOL;
|
3705 |
+
break;
|
3706 |
+
case 'chat':
|
3707 |
+
$content .= '<div data-type="chat"></div>'.PHP_EOL;
|
3708 |
+
break;
|
3709 |
+
case 'mail':
|
3710 |
+
if ( $yturbo_options['ytfeedbackmail'] ) {
|
3711 |
+
$content .= '<div data-type="mail" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbackmail'])).'"></div>'.PHP_EOL;
|
3712 |
+
}
|
3713 |
+
break;
|
3714 |
+
case 'vkontakte':
|
3715 |
+
if ( $yturbo_options['ytfeedbackvkontakte'] ) {
|
3716 |
+
$content .= '<div data-type="vkontakte" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbackvkontakte'])).'"></div>'.PHP_EOL;
|
3717 |
+
}
|
3718 |
+
break;
|
3719 |
+
case 'odnoklassniki':
|
3720 |
+
if ( $yturbo_options['ytfeedbackodnoklassniki'] ) {
|
3721 |
+
$content .= '<div data-type="odnoklassniki" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbackodnoklassniki'])).'"></div>'.PHP_EOL;
|
3722 |
+
}
|
3723 |
+
break;
|
3724 |
+
case 'twitter':
|
3725 |
+
if ( $yturbo_options['ytfeedbacktwitter'] ) {
|
3726 |
+
$content .= '<div data-type="twitter" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbacktwitter'])).'"></div>'.PHP_EOL;
|
3727 |
+
}
|
3728 |
+
break;
|
3729 |
+
case 'facebook':
|
3730 |
+
if ( $yturbo_options['ytfeedbackfacebook'] ) {
|
3731 |
+
$content .= '<div data-type="facebook" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbackfacebook'])).'"></div>'.PHP_EOL;
|
3732 |
+
}
|
3733 |
+
break;
|
3734 |
+
case 'viber':
|
3735 |
+
if ( $yturbo_options['ytfeedbackviber'] ) {
|
3736 |
+
$content .= '<div data-type="viber" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbackviber'])).'"></div>'.PHP_EOL;
|
3737 |
+
}
|
3738 |
+
break;
|
3739 |
+
case 'whatsapp':
|
3740 |
+
if ( $yturbo_options['ytfeedbackwhatsapp'] ) {
|
3741 |
+
$content .= '<div data-type="whatsapp" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbackwhatsapp'])).'"></div>'.PHP_EOL;
|
3742 |
+
}
|
3743 |
+
break;
|
3744 |
+
case 'telegram':
|
3745 |
+
if ( $yturbo_options['ytfeedbacktelegram'] ) {
|
3746 |
+
$content .= '<div data-type="telegram" data-url="'.esc_attr(stripslashes($yturbo_options['ytfeedbacktelegram'])).'"></div>'.PHP_EOL;
|
3747 |
+
}
|
3748 |
+
break;
|
3749 |
+
}
|
3750 |
+
}
|
3751 |
+
unset($network);
|
3752 |
+
|
3753 |
+
$content .= '</div>'.PHP_EOL;
|
3754 |
+
return $content;
|
3755 |
}
|
3756 |
//функция вывода виджета обратной связи end
|
3757 |
|
3758 |
//функция удаления указанных шорткодов begin
|
3759 |
+
function yturbo_strip_shortcodes($content) {
|
3760 |
+
$yturbo_options = get_option('yturbo_options');
|
3761 |
|
3762 |
+
//выполняем блоки гутенберга
|
3763 |
+
global $wp_version;
|
3764 |
+
if ( version_compare($wp_version, '5.0', '>=') ) {
|
3765 |
+
$content = do_blocks($content);
|
3766 |
+
}
|
3767 |
|
3768 |
+
if ( $yturbo_options['ytexcludeshortcodes'] == 'disabled' or ! $yturbo_options['ytexcludeshortcodeslist'] ) return $content;
|
3769 |
|
3770 |
+
global $shortcode_tags;
|
3771 |
+
$stack = $shortcode_tags;
|
3772 |
|
3773 |
+
$code = explode(",", $yturbo_options['ytexcludeshortcodeslist']);
|
3774 |
+
$code = array_diff($code, array(''));
|
3775 |
|
3776 |
+
$how_many = count($code);
|
3777 |
+
for ($i = 0; $i < $how_many; $i++) {
|
3778 |
+
$arr[$code[$i]] = 1;
|
3779 |
+
}
|
3780 |
|
3781 |
+
$shortcode_tags = $arr;
|
3782 |
+
$content = strip_shortcodes($content);
|
3783 |
+
$shortcode_tags = $stack;
|
3784 |
|
3785 |
+
return $content;
|
3786 |
}
|
3787 |
//функция удаления указанных шорткодов end
|
3788 |
|
3789 |
//функция формирования контента по шаблону begin
|
3790 |
+
function yturbo_build_template($post_content) {
|
3791 |
+
$yturbo_options = get_option('yturbo_options');
|
3792 |
+
|
3793 |
+
$post_type = get_post_type( get_the_ID() );
|
3794 |
+
|
3795 |
+
if ( ! isset($yturbo_options['template-'.$post_type]) ) $yturbo_options['template-'.$post_type] = '';
|
3796 |
+
if ( $yturbo_options['template-'.$post_type] == '' ) $yturbo_options['template-'.$post_type] = '%%post_content%%';
|
3797 |
+
|
3798 |
+
$content = html_entity_decode(stripcslashes($yturbo_options['template-'.$post_type]),ENT_QUOTES);
|
3799 |
+
|
3800 |
+
//проверка на индивидуальный шаблон записи (если включен и существует)
|
3801 |
+
$template_meta = get_post_meta(get_the_ID(), 'template_meta', true);
|
3802 |
+
if ( $template_meta == 'yes' ) {
|
3803 |
+
$custom_template = get_post_meta(get_the_ID(), 'custom_template', true);
|
3804 |
+
$custom_template = html_entity_decode(stripcslashes($custom_template),ENT_QUOTES);
|
3805 |
+
if ( ! $custom_template ) $custom_template = $content;
|
3806 |
+
$content = $custom_template;
|
3807 |
+
}
|
3808 |
+
|
3809 |
+
//сначала обработаем шаблон произвольным фильтром
|
3810 |
+
$content = apply_filters('yturbo_the_template', $content);
|
3811 |
+
|
3812 |
+
//заменяем переменные на произвольные поля
|
3813 |
+
if ( preg_match_all("/%%(.*?)%%/i", $content, $res) ) {
|
3814 |
+
foreach ($res[0] as $r) {
|
3815 |
+
if ( $r != '%%post_content%%' ) {
|
3816 |
+
$temp = str_replace('%%', '', $r);
|
3817 |
+
$content = str_replace($r, get_post_meta(get_the_ID(), $temp, true), $content);
|
3818 |
+
}
|
3819 |
+
}
|
3820 |
+
}
|
3821 |
+
|
3822 |
+
//обрабатываем шаблон фильтрами для RSS
|
3823 |
+
$content = do_shortcode($content);
|
3824 |
+
$content = str_replace(']]>', ']]>', $content);
|
3825 |
+
$content = apply_filters('wp_staticize_emoji', $content);
|
3826 |
+
$content = apply_filters('_oembed_filter_feed_content', $content);
|
3827 |
+
|
3828 |
+
//заменяем в шаблоне переменную %%post_content%% на контент записи
|
3829 |
+
$content = str_replace('<p>%%post_content%%</p>', '%%post_content%%', $content);
|
3830 |
+
$content = str_replace('%%post_content%%', $post_content, $content);
|
3831 |
+
|
3832 |
+
return $content;
|
3833 |
}
|
3834 |
//функция формирования контента по шаблону end
|
3835 |
|
3836 |
//функция вывода блока поиска begin
|
3837 |
function yturbo_search_widget() {
|
3838 |
+
$yturbo_options = get_option('yturbo_options');
|
3839 |
|
3840 |
+
$url = get_bloginfo('url') . '/?s={s}';
|
3841 |
+
$content = PHP_EOL.'<form action="'. $url . '" method="GET"><input type="search" name="s" placeholder="' . esc_attr(stripslashes($yturbo_options['ytsearchplaceholder'])) . '" /></form>'.PHP_EOL;
|
3842 |
|
3843 |
+
return $content;
|
3844 |
}
|
3845 |
//функция вывода блока поиска end
|
3846 |
|
3847 |
//вставка оглавления записи begin
|
3848 |
+
function yturbo_toc($content) {
|
3849 |
+
$yturbo_options = get_option('yturbo_options');
|
3850 |
+
|
3851 |
+
if ( ! is_feed($yturbo_options['ytrssname']) )
|
3852 |
+
return $content;
|
3853 |
+
|
3854 |
+
if ( $yturbo_options['yttoc'] == 'disabled' )
|
3855 |
+
return $content;
|
3856 |
+
|
3857 |
+
$types = $yturbo_options['yttype2'];
|
3858 |
+
$types = explode(",", $types);
|
3859 |
+
$types = array_diff($types, array(''));
|
3860 |
+
|
3861 |
+
if ( ! in_array( get_post_type( get_the_ID() ), $types ) )
|
3862 |
+
return $content;
|
3863 |
+
|
3864 |
+
//подключение файла с классом YTurbo_Contents begin
|
3865 |
+
require_once dirname( __FILE__ ) . '/inc/Contents.php';
|
3866 |
+
//подключение файла с классом YTurbo_Contents end
|
3867 |
+
|
3868 |
+
$toc = new YTurbo_Contents();
|
3869 |
+
$content = $toc->the_content($content);
|
3870 |
+
|
3871 |
+
return $content;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3872 |
}
|
3873 |
+
add_filter('yturbo_add_contents', 'yturbo_toc');
|
3874 |
//вставка оглавления записи end
|
3875 |
|
3876 |
//функция удаления эмоджи begin
|
3877 |
+
function yturbo_remove_emoji($text) {
|
3878 |
+
$emoji = '/[(\x{1F600}-\x{1F64F})|(\x{2700}-\x{27BF})|(\x{1F680}-\x{1F6FF})|(\x{24C2}-\x{1F251})|(\x{1F30D}-\x{1F567})|(\x{1F900}-\x{1F9FF})|(\x{1F300}-\x{1F5FF})]/mu';
|
3879 |
+
$text = preg_replace($emoji, '', $text);
|
3880 |
+
$text = trim($text);
|
3881 |
|
3882 |
+
return $text;
|
3883 |
}
|
3884 |
//функция удаления эмоджи end
|
3885 |
|
3886 |
//приводим заголовки записей в соответствие с требованиями яндекса begin
|
3887 |
+
function yturbo_filter_title_rss($title) {
|
3888 |
+
$yturbo_options = get_option('yturbo_options');
|
3889 |
+
|
3890 |
+
//если это не лента плагина возвращаем оригинальный заголовок
|
3891 |
+
if ( ! is_feed($yturbo_options['ytrssname']) )
|
3892 |
+
return $title;
|
3893 |
+
|
3894 |
+
//удаляем эмоджи (яндекс выдает на них ошибку)
|
3895 |
+
$title = yturbo_remove_emoji($title);
|
3896 |
+
//устанавливаем заголовком название сайта, если заголовок пустой
|
3897 |
+
$title = yturbo_empty_title($title);
|
3898 |
+
//преобразуем спец. символы в html-сущности
|
3899 |
+
$title = esc_html($title);
|
3900 |
+
//обрезаем заголовок по словам, чтобы не превышать ограничение в 240 символов
|
3901 |
+
$title = yturbo_cut_by_words(237, $title);
|
3902 |
+
//обрабатываем фильтром для установки пользовательского заголовка
|
3903 |
+
$title = apply_filters('yturbo_custom_title', $title);
|
3904 |
+
|
3905 |
+
return $title;
|
3906 |
}
|
3907 |
+
add_filter('the_title_rss', 'yturbo_filter_title_rss');
|
3908 |
//приводим заголовки записей в соответствие с требованиями яндекса end
|
3909 |
|
3910 |
//функция обрезки текста по словам begin
|
3911 |
+
function yturbo_cut_by_words($maxlen, $text) {
|
3912 |
+
$len = (mb_strlen($text) > $maxlen)? mb_strripos(mb_substr($text, 0, $maxlen), ' ') : $maxlen;
|
3913 |
+
$cutStr = mb_substr($text, 0, $len);
|
3914 |
+
$temp = (mb_strlen($text) > $maxlen)? $cutStr. '...' : $cutStr;
|
3915 |
+
return $temp;
|
3916 |
}
|
3917 |
//функция обрезки текста по словам end
|
3918 |
|
3919 |
//функция установки не пустого заголовка begin
|
3920 |
+
function yturbo_empty_title($title) {
|
3921 |
+
$yturbo_options = get_option('yturbo_options');
|
3922 |
|
3923 |
+
if ( ! $title ) {
|
3924 |
+
$title = $yturbo_options['yttitle'];
|
3925 |
+
}
|
3926 |
|
3927 |
+
return $title;
|
3928 |
}
|
3929 |
//функция установки не пустого заголовка end
|
3930 |
|
3931 |
//добавляем плагины в визуальный редактор begin
|
3932 |
+
function yturbo_add_plugins_tinymce($plugins) {
|
3933 |
+
$yturbo_options = get_option('yturbo_options');
|
3934 |
+
$purl = plugins_url('', __FILE__);
|
3935 |
+
$plugins['yablocks'] = $purl . '/inc/yablocks.js?ver=' . $yturbo_options['version'];
|
3936 |
+
$plugins['table'] = $purl . '/inc/table.js?ver=' . $yturbo_options['version'];
|
3937 |
+
return $plugins;
|
3938 |
}
|
3939 |
+
add_filter('mce_external_plugins', 'yturbo_add_plugins_tinymce');
|
3940 |
//добавляем плагины в визуальный редактор end
|
3941 |
|
3942 |
//замена протокола в ссылках при отключении турбо-страниц begin
|
3943 |
+
function yturbo_filter_permalink_rss($url) {
|
3944 |
+
$yturbo_options = get_option('yturbo_options');
|
3945 |
|
3946 |
+
if ( ! is_feed($yturbo_options['ytrssname']) )
|
3947 |
+
return $url;
|
3948 |
|
3949 |
+
if ( $yturbo_options['ytremoveturbo'] != 'enabled' )
|
3950 |
+
return $url;
|
3951 |
|
3952 |
+
if ( $yturbo_options['ytprotokol'] == 'asis' )
|
3953 |
+
return $url;
|
3954 |
|
3955 |
+
if ( $yturbo_options['ytprotokol'] == 'http' ) {
|
3956 |
+
$url = str_replace('https://', 'http://', $url);
|
3957 |
+
}
|
3958 |
|
3959 |
+
if ( $yturbo_options['ytprotokol'] == 'https' ) {
|
3960 |
+
$url = str_replace('http://', 'https://', $url);
|
3961 |
+
}
|
3962 |
|
3963 |
+
return $url;
|
3964 |
}
|
3965 |
+
add_filter('the_permalink_rss', 'yturbo_filter_permalink_rss');
|
3966 |
//замена протокола в ссылках при отключении турбо-страниц end
|
3967 |
|
3968 |
//добавляем колонку "Турбо" в админке на странице списка записей begin
|
3969 |
+
function yturbo_add_column_name($defaults) {
|
3970 |
+
$purl = plugins_url('', __FILE__);
|
3971 |
+
$defaults['yturbo'] = '<span class="screen-reader-text">Яндекс.Турбо</span><img title="Яндекс.Турбо" style="width: 20px;height: 20px;vertical-align: bottom;" src="' . $purl . '/img/yablocks.png" />';
|
3972 |
+
return $defaults;
|
3973 |
}
|
3974 |
function yturbo_css_for_column_yturbo() {
|
3975 |
+
echo '<style>.column-yturbo{width: 3.0em;}</style>';
|
3976 |
}
|
3977 |
+
function yturbo_add_column_content($column_name, $post_id) {
|
3978 |
+
if ( $column_name === 'yturbo' ) {
|
3979 |
+
|
3980 |
+
$yturbo_options = get_option('yturbo_options');
|
3981 |
+
|
3982 |
+
$ytrssenabled = get_post_meta($post_id, 'ytrssenabled_meta_value', true);
|
3983 |
+
$ytremove = get_post_meta($post_id, 'ytremove_meta_value', true);
|
3984 |
+
|
3985 |
+
$content = '';
|
3986 |
+
if ( $ytrssenabled == 'yes' ) {
|
3987 |
+
$content = '<span title="Запись исключена из RSS-ленты (вручную)" style="vertical-align: middle;color:#72777c;" class="dashicons dashicons-no-alt"></span>';
|
3988 |
+
}
|
3989 |
+
if ( $ytremove == 'yes' ) {
|
3990 |
+
$content = '<span title="Турбо-страница на удалении" style="vertical-align: middle;color:#df2424;" class="dashicons dashicons-no-alt"></span>';
|
3991 |
+
}
|
3992 |
+
if ( $ytremove != 'yes' && $ytrssenabled != 'yes' ) {
|
3993 |
+
$content = '<span title="Запись есть в RSS-ленте" style="vertical-align: middle;color:#0a8f0a;" class="dashicons dashicons-yes"></span>';
|
3994 |
+
}
|
3995 |
+
|
3996 |
+
$ytqueryselect = $yturbo_options['ytqueryselect'];
|
3997 |
+
$yttaxlist = $yturbo_options['yttaxlist'];
|
3998 |
+
$ytaddtaxlist = $yturbo_options['ytaddtaxlist'];
|
3999 |
+
|
4000 |
+
if ( $ytqueryselect == 'Все таксономии, кроме исключенных' && $yttaxlist ) {
|
4001 |
+
$textAr = explode("\n", trim($yttaxlist));
|
4002 |
+
$textAr = array_filter($textAr, 'trim');
|
4003 |
+
foreach ($textAr as $line) {
|
4004 |
+
$tax = explode(":", $line);
|
4005 |
+
$taxterm = explode(",", $tax[1]);
|
4006 |
+
$taxterm = array_map('intval', $taxterm);
|
4007 |
+
if ( has_term($taxterm, $tax[0]) ) {
|
4008 |
+
$content = '<span title="Запись исключена из RSS-ленты (фильтр по таксономии)" style="vertical-align: middle;color:#72777c;" class="dashicons dashicons-no-alt"></span>';
|
4009 |
+
break;
|
4010 |
+
}
|
4011 |
+
}
|
4012 |
+
}
|
4013 |
+
if ( ! $ytaddtaxlist ) $ytaddtaxlist = 'category:10000000';
|
4014 |
+
if ( $ytqueryselect == 'Только указанные таксономии' ) {
|
4015 |
+
$textAr = explode("\n", trim($ytaddtaxlist));
|
4016 |
+
$textAr = array_filter($textAr, 'trim');
|
4017 |
+
foreach ($textAr as $line) {
|
4018 |
+
$tax = explode(":", $line);
|
4019 |
+
$taxterm = explode(",", $tax[1]);
|
4020 |
+
$taxterm = array_map('intval', $taxterm);
|
4021 |
+
if ( has_term($taxterm, $tax[0]) ) {
|
4022 |
+
$content = '<span title="Запись есть в RSS-ленте" style="vertical-align: middle;color:#0a8f0a;" class="dashicons dashicons-yes"></span>';
|
4023 |
+
break;
|
4024 |
+
} else {
|
4025 |
+
$content = '<span title="Запись исключена из RSS-ленты (фильтр по таксономии)" style="vertical-align: middle;color:#72777c;" class="dashicons dashicons-no-alt"></span>';
|
4026 |
+
}
|
4027 |
+
}
|
4028 |
+
}
|
4029 |
+
|
4030 |
+
if ( get_post_status($post_id) != 'publish' ) {
|
4031 |
+
$content = '<span title="Записи нет в RSS-ленте (запись не опубликована)" style="vertical-align: middle;color:#72777c;" class="dashicons dashicons-no-alt"></span>';
|
4032 |
+
}
|
4033 |
+
|
4034 |
+
echo $content;
|
4035 |
+
}
|
4036 |
}
|
4037 |
function yturbo_add_columns() {
|
4038 |
+
$yturbo_options = get_option('yturbo_options');
|
4039 |
|
4040 |
+
if ( $yturbo_options['ytturbocolumn'] == 'disabled' )
|
4041 |
+
return;
|
4042 |
|
4043 |
+
$yttype = explode(",", $yturbo_options['yttype']);
|
4044 |
+
$yttype = array_diff($yttype, array(''));
|
4045 |
|
4046 |
+
foreach ($yttype as $post_type) {
|
4047 |
+
if ( 'page' === $post_type ) continue;
|
4048 |
+
add_filter( "manage_{$post_type}_posts_columns", "yturbo_add_column_name", 5 );
|
4049 |
+
add_action( "manage_{$post_type}_posts_custom_column", "yturbo_add_column_content", 5, 2 );
|
4050 |
+
}
|
4051 |
|
4052 |
+
if ( in_array('page', $yttype) ) {
|
4053 |
+
add_filter( 'manage_pages_columns', 'yturbo_add_column_name', 5 );
|
4054 |
+
add_action( 'manage_pages_custom_column', 'yturbo_add_column_content', 5, 2 );
|
4055 |
+
}
|
4056 |
|
4057 |
+
add_action( 'admin_head', 'yturbo_css_for_column_yturbo' );
|
4058 |
}
|
4059 |
+
add_action('wp_loaded', 'yturbo_add_columns');
|
4060 |
//добавляем колонку "Турбо" в админке на странице списка записей end
|
4061 |
|
4062 |
//шорткод вывода ссылки на запись begin
|
4063 |
+
function yt_permalink_func($atts) {
|
4064 |
+
return esc_url( apply_filters( 'the_permalink_rss', get_permalink() ) );
|
4065 |
}
|
4066 |
+
add_shortcode('yt-permalink', 'yt_permalink_func');
|
4067 |
//шорткод вывода ссылки на запись end
|
4068 |
|
4069 |
//шорткод вывода заголовка записи begin
|
4070 |
+
function yt_title_func($atts) {
|
4071 |
+
return get_the_title_rss();
|
4072 |
}
|
4073 |
+
add_shortcode('yt-title', 'yt_title_func');
|
4074 |
//шорткод вывода заголовка записи end
|
4075 |
|
4076 |
//функция проверки наличия плагина "WPCase: Turbo Ads" begin
|
4077 |
function yturbo_check_ads() {
|
4078 |
+
include_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
4079 |
+
if ( is_plugin_active('wpcase-turbo-ads/wpcase-turbo-ads.php') ) {
|
4080 |
+
return true;
|
4081 |
+
} else {
|
4082 |
+
return false;
|
4083 |
+
}
|
4084 |
}
|
4085 |
//функция проверки наличия плагина "WPCase: Turbo Ads" end
|
4086 |
|
4087 |
//скрываем произвольные поля плагина begin
|
4088 |
+
function yturbo_hide_custom_fields($protected, $meta_key) {
|
4089 |
+
$hide_meta_keys = array(
|
4090 |
+
'ytad1meta',
|
4091 |
+
'ytad2meta',
|
4092 |
+
'ytad3meta',
|
4093 |
+
'ytad4meta',
|
4094 |
+
'ytad5meta',
|
4095 |
+
'ytremove_meta_value',
|
4096 |
+
'ytrssenabled_meta_value',
|
4097 |
+
'template_meta',
|
4098 |
+
'custom_template',
|
4099 |
+
'ytextendedhtmlmeta',
|
4100 |
+
'ytpostdatemeta',
|
4101 |
+
);
|
4102 |
+
if ( in_array($meta_key, $hide_meta_keys) ) {
|
4103 |
+
return true;
|
4104 |
+
}
|
4105 |
+
return $protected;
|
4106 |
}
|
4107 |
+
add_filter('is_protected_meta', 'yturbo_hide_custom_fields', 10, 2);
|
4108 |
//скрываем произвольные поля плагина end
|
4109 |
|
4110 |
//функция определения доступных для удаления тегов begin
|
4111 |
function yturbo_tags_list() {
|
4112 |
|
4113 |
+
$tags_list = 'abbr,acronym,address,applet,area,article,aside,audio,base,basefont,bb,bdo,big,body,button,canvas,caption,center,cite,code,col,colgroup,command,datagrid,datalist,dd,del,details,dfn,dialog,dir,div,dl,dt,embed,eventsource,fieldset,font,footer,form,frame,frameset,head,header,hgroup,html,ins,isindex,kbd,keygen,label,legend,main,map,mark,menu,meter,nav,noframes,noscript,object,optgroup,option,output,param,pre,progress,q,rp,rt,ruby,samp,script,section,svg,select,small,span,style,time,title,tt,var,wbr,sidebar';
|
4114 |
+
$tags_list = apply_filters('yturbo_tags_list', $tags_list);
|
4115 |
|
4116 |
+
return $tags_list;
|
4117 |
}
|
4118 |
//функция определения доступных для удаления тегов end
|
4119 |
|
4124 |
header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
|
4125 |
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'.PHP_EOL;
|
4126 |
?>
|
4127 |
+
<rss xmlns:yandex="http://news.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru" version="2.0">
|
|
|
|
|
|
|
|
|
4128 |
<channel>
|
4129 |
+
<turbo:cms_plugin>C125AEEC6018B4A0EF9BF40E6615DD17</turbo:cms_plugin>
|
4130 |
+
<title><?php echo esc_attr(stripslashes($yturbo_options['yttitle'])); ?></title>
|
4131 |
+
<link><?php echo esc_html($yturbo_options['ytlink']); ?></link>
|
4132 |
+
<description><?php echo esc_attr(stripslashes($yturbo_options['ytdescription'])); ?></description>
|
4133 |
+
<language><?php echo esc_attr($yturbo_options['ytlanguage']); ?></language>
|
4134 |
+
<generator>RSS for Yandex Turbo v<?php echo $yturbo_options['version']; ?> (https://wordpress.org/plugins/rss-for-yandex-turbo/)</generator>
|
4135 |
+
<?php if ( $yturbo_options['ytexcludeurlslist'] ) {
|
4136 |
+
$textAr = explode("\n", str_replace(array("\r\n", "\r"), "\n", $yturbo_options['ytexcludeurlslist']));
|
4137 |
+
$i = 0;
|
4138 |
+
foreach ($textAr as $line) {
|
4139 |
+
$line = stripcslashes($line);
|
4140 |
+
$line = '<item turbo="false"><link>' . $line . '</link></item>' . PHP_EOL;
|
4141 |
+
if ($i > 0) echo ' ';
|
4142 |
+
echo $line;
|
4143 |
+
$i++;
|
4144 |
+
}
|
4145 |
+
} else {
|
4146 |
+
//чтобы яндекс не ругался на пустую ленту, если на удалении нет записей
|
4147 |
+
echo '<item turbo="false"><link>' . get_bloginfo_rss('url') . '/musor-page/</link></item>' . PHP_EOL;
|
4148 |
+
}
|
4149 |
+
?>
|
4150 |
</channel>
|
4151 |
</rss>
|
4152 |
<?php }
|
4153 |
//функция вывода мусорной ленты end
|
4154 |
|
4155 |
//функция отслеживания урлов удаляемых записей begin
|
4156 |
+
function yturbo_trash_tracking($post_id) {
|
4157 |
|
4158 |
+
$yturbo_options = get_option('yturbo_options');
|
4159 |
|
4160 |
+
if ( $yturbo_options['ytexcludeurls'] == 'disabled' )
|
4161 |
+
return;
|
4162 |
|
4163 |
+
if ( $yturbo_options['ytdeltracking'] == 'disabled' )
|
4164 |
+
return;
|
4165 |
|
4166 |
+
$yttype = explode(",", $yturbo_options['yttype']);
|
4167 |
+
$yttype = array_diff($yttype, array(''));
|
4168 |
|
4169 |
+
if ( ! in_array( get_post_type($post_id), $yttype ) )
|
4170 |
+
return;
|
4171 |
|
4172 |
+
$delpermalink = PHP_EOL . esc_url( apply_filters( 'the_permalink_rss', get_permalink($post_id) ) );
|
4173 |
+
$yturbo_options['ytexcludeurlslist'] .= $delpermalink;
|
4174 |
+
$lines = array_filter(explode("\n", trim($yturbo_options['ytexcludeurlslist'])));
|
4175 |
+
$yturbo_options['ytexcludeurlslist'] = implode("\n", $lines);
|
4176 |
|
4177 |
+
update_option('yturbo_options', $yturbo_options);
|
4178 |
}
|
4179 |
+
add_action('wp_trash_post', 'yturbo_trash_tracking');
|
4180 |
//функция отслеживания урлов удаляемых записей end
|
4181 |
|
4182 |
//функция отслеживания урлов восстанавливаемых записей begin
|
4183 |
+
function yturbo_untrash_tracking($post_id) {
|
4184 |
|
4185 |
+
$yturbo_options = get_option('yturbo_options');
|
4186 |
|
4187 |
+
if ( $yturbo_options['ytexcludeurls'] == 'disabled' )
|
4188 |
+
return;
|
4189 |
|
4190 |
+
if ( $yturbo_options['ytdeltracking'] == 'disabled' )
|
4191 |
+
return;
|
4192 |
|
4193 |
+
$yttype = explode(",", $yturbo_options['yttype']);
|
4194 |
+
$yttype = array_diff($yttype, array(''));
|
4195 |
|
4196 |
+
if ( ! in_array(get_post_type($post_id), $yttype) )
|
4197 |
+
return;
|
4198 |
|
4199 |
+
$restorepermalink = esc_url( apply_filters( 'the_permalink_rss', get_permalink($post_id) ) );
|
4200 |
+
$yturbo_options['ytexcludeurlslist'] = str_replace($restorepermalink, '', $yturbo_options['ytexcludeurlslist']);
|
4201 |
+
$lines = array_filter(explode("\n", trim($yturbo_options['ytexcludeurlslist'])));
|
4202 |
+
$yturbo_options['ytexcludeurlslist'] = implode("\n", $lines);
|
4203 |
|
4204 |
+
update_option('yturbo_options', $yturbo_options);
|
4205 |
}
|
4206 |
+
add_action('untrashed_post', 'yturbo_untrash_tracking');
|
4207 |
//функция отслеживания урлов восстанавливаемых записей end
|
4208 |
|
4209 |
//регистрируем ajax-функцию вывода терминов таксономий begin
|
4210 |
function yturbo_ajax_register() {
|
4211 |
+
if ( defined('DOING_AJAX') && DOING_AJAX ) {
|
4212 |
+
add_action( 'wp_ajax_yturbo_display_exclude_terms', 'yturbo_ajax_display_exclude_terms' );
|
4213 |
+
}
|
4214 |
}
|
4215 |
+
add_action('admin_init', 'yturbo_ajax_register');
|
4216 |
//регистрируем ajax-функцию вывода терминов таксономий end
|
4217 |
|
4218 |
//ajax-функция вывода терминов таксономий (вывод только не выбранных) begin
|
4219 |
function yturbo_ajax_display_exclude_terms() {
|
4220 |
+
check_ajax_referer('yturbo_display_exclude_terms');
|
4221 |
+
|
4222 |
+
if ( ! isset($_REQUEST['taxonomy']) )
|
4223 |
+
return;
|
4224 |
+
|
4225 |
+
$taxonomy = (string) sanitize_text_field($_REQUEST['taxonomy']);
|
4226 |
+
|
4227 |
+
header('HTTP/1.1 200');
|
4228 |
+
header('Content-Type: text/html; charset=UTF-8');
|
4229 |
+
|
4230 |
+
//исключаем те термины, которые выбраны в настройках
|
4231 |
+
//ajax-функция выводит только не выбранные термины
|
4232 |
+
$yturbo_options = get_option('yturbo_options');
|
4233 |
+
if ( isset($yturbo_options['exclude-'.$taxonomy]) && $yturbo_options['exclude-'.$taxonomy] ) {
|
4234 |
+
$yttaxlist = $yturbo_options['exclude-'.$taxonomy];
|
4235 |
+
$tax = explode(":", $yttaxlist);
|
4236 |
+
$exclude_term_ids = wp_parse_id_list($tax[1]);
|
4237 |
+
} else {
|
4238 |
+
$exclude_term_ids = '';
|
4239 |
+
}
|
4240 |
+
|
4241 |
+
$terms = get_terms($taxonomy, array(
|
4242 |
+
'exclude' => $exclude_term_ids,
|
4243 |
+
'hide_empty' => false,
|
4244 |
+
'hierarchical' => false,
|
4245 |
+
'number' => 100,
|
4246 |
+
'offset' => sanitize_text_field($_REQUEST['offset'])
|
4247 |
+
));
|
4248 |
+
|
4249 |
+
if ( ! $terms ) {
|
4250 |
+
echo '<li>:(</li>';
|
4251 |
+
exit;
|
4252 |
+
}
|
4253 |
+
|
4254 |
+
foreach ($terms as $term) {
|
4255 |
+
echo "<li><input type='checkbox' name='exclude-{$taxonomy}[{$term->term_id}]' id='exclude_{$term->term_id}' value='{$term->term_id}' /> <label for='exclude_{$term->term_id}'>" . esc_html($term->name) . "</label></li>";
|
4256 |
+
}
|
4257 |
+
exit;
|
4258 |
}
|
4259 |
//ajax-функция вывода терминов таксономий (вывод только не выбранных) end
|
|