<?php opcache_reset(); ?>
# Шорткод [youtube] - плеер youtube на странице сайта
function youtube_player($atts) {
$atts = shortcode_atts( array(
'vid' => 'k_okcNVZqqI', // id видео на ютубе
'vol' => '20' // громкость от 0..100*/
), $atts );
# генерируем уникальное id плеера
$id = md5(uniqid(rand(),true));
return "<div class=\"player_wrapper\"><div class=\"youtube_player\" data--video=\"id:'{$id}',videoId:'{$atts['vid']}',volume:'{$atts['vol']}'\"></div></div>";
}
add_shortcode('youtube', 'youtube_player');
# Добавление кнопок в редактор TinyMCE, проверка что находимся в админпанели
if ( is_admin() ) {
add_action( 'init', 'setup_tinymce_plugin' );
}
# Дополнительные проверки, на предмет стоит ли вообще подключать плагин
function setup_tinymce_plugin() {
# Проверяем, может ли залогиненный пользователь редактировать посты или страницы
if ( ! current_user_can( 'edit_posts' ) && ! current_user_can( 'edit_pages' ) ) {
return;
}
# Проверяем пользуется ли пользователь визуальным редактором TinyMCE
if ( get_user_option( 'rich_editing' ) !== 'true' ) {
return;
}
# Подключаем фильтр
add_filter( 'mce_external_plugins', 'wptuts_add_buttons' );
add_filter( 'mce_buttons', 'wptuts_register_buttons' );
}
function wptuts_add_buttons( $plugin_array ) {
$plugin_array['custom_link_class'] = get_template_directory_uri() . '/assets/js/tinymce.js';
return $plugin_array;
}
function wptuts_register_buttons( $buttons ) {
array_push( $buttons, 'dropcap', 'attention', 'youtube' );
return $buttons;
}
(function() {
tinymce.create('tinymce.plugins.Wptuts', {
init : function(ed, url) {
ed.addButton('dropcap', {
title : 'Буквица',
cmd : 'dropcap',
image : url + '/btn-dropcap.png'
});
ed.addButton('attention', {
title : 'Выделение параграфа',
cmd : 'attention',
image : url + '/btn-attention.png'
});
ed.addButton('youtube', {
title : 'Добавление youtube плеера на страницу',
cmd : 'youtube',
image : url + '/btn-youtube.png'
});
/* Добавляем в style.css и editor-style.css, стиль:
.dropcap {
float: left;
font-size: 90px;
padding-right: 7px;
line-height: 72px; } */
ed.addCommand('dropcap', function() {
var selected_text = ed.selection.getContent();
var return_text = '';
return_text = '<span class="dropcap">' + selected_text + '</span>';
ed.execCommand('mceInsertContent', 0, return_text);
});
ed.addCommand('attention', function() {
var selected_text1 = ed.selection.getContent();
var return_text1 = '';
return_text1 = '<span class="two_column align_center"><i class="icon-attention"></i><p>' + selected_text1 + '</p></span>';
ed.execCommand('mceInsertContent', 0, return_text1);
});
ed.addCommand('youtube', function() {
var vid = prompt('Введите id ролика на youtube: ');
if (vid.length > 7) {
shortcode = '[youtube vid="' + vid + '"]';
ed.execCommand('mceInsertContent', 0, shortcode);
} else {
alert("Длина id ролика должна быть больше 7 символов.");
}
});
},
});
tinymce.PluginManager.add( 'custom_link_class', tinymce.plugins.Wptuts );
})();
function cookie_test() {
global $cookie_test;
$cookie_test = false;
# Определяем имя файла
$url = parse_url($_SERVER['REQUEST_URI']);
$path = pathinfo($url['path']);
$basename = $path['basename'];
if( !isset($_COOKIE[$basename]) ) $cookie_test = true;
setcookie( $basename, 1, time()+3600 );
}
add_action('init', 'cookie_test');
global $cookie_test;
if($cookie_test) echo "Страница еще не просмотрена!";
the_post_thumbnail('slider', array('class' => 'buka', 'id' => 'tuka'));
function multi_format_thumbnail( $html, $post_id, $post_thumbnail_id, $size, $attr ){
# aaa имеет значение 'slider'
$aaa = $size;
# Присваиваем $bbb = 'buka'
# Иначе ошибка: "Undefined variable: bbb"
$bbb = '';
# Иначе ошибка: "Illegal string offset 'class'"
if(!is_array($attr)) $attr = array();
# Иначе ошибка: "Uninitialized string offset: 0"
if (array_key_exists('class', $attr)) $bbb=$attr['class'];
# Аналогично присваивается для $ccc='tuka'
# url картинки thumbnail
$url = get_the_post_thumbnail_url();
$html = "<img src=\"" . $url . "\" data1=\"" . $aaa . "\" data2=\"" . $bbb . "\" data3=\"" . $ccc . "\">";
return $html;
}
add_filter('post_thumbnail_html', 'multi_format_thumbnail', 10, 5);
if ( has_post_thumbnail() ) {
the_post_thumbnail();
} else {
$thumb_alt = get_the_excerpt();
$thumb_title = get_the_title();
echo "<picture><img src=\"" . get_template_directory_uri() . "/assets/images/not-image.jpg\" class=\"image-cover\" data-object-fit=\"cover\" alt=\"" . $thumb_alt . "\" title=\"" . $thumb_title . "\"></picture>";
}