<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
.active, .accordion:hover {
background-color: #ccc;
}
.panel {
padding: 0 18px;
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
</style>
</head>
<body>
<h2>Animated Accordion</h2>
<p>Click on the buttons to open the collapsible content.</p>
<button class="accordion">Section 1</button>
<div class="panel">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<button class="accordion">Section 2</button>
<div class="panel">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<button class="accordion">Section 3</button>
<div class="panel">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<script>
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}
</script>
</body>
</html>
function setOpacityOnScroll(className, scrollThreshold) {
var elements = document.getElementsByClassName(className);
Array.from(elements).forEach(function(element) {
window.addEventListener('scroll', function() {
// Получаем значение прокрутки страницы
var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
// Вычисляем значение прозрачности в зависимости от прокрутки страницы
var opacity = 1 - (scrollTop / element.offsetHeight);
// Ограничиваем значение прозрачности от 0 до 1
opacity = Math.max(0, Math.min(1, opacity));
// Устанавливаем значение прозрачности элемента
element.style.opacity = opacity.toString();
// Если прокрутка превысила пороговое значение, устанавливаем прозрачность 0
if (scrollTop >= scrollThreshold) {
element.style.opacity = '0';
}
});
});
}
// Пример использования функции
setOpacityOnScroll('fixed-element', 500);
wp_add_inline_script()
или добавить еще один js-файл и подключить его. Попробуйтеfunction creamin_load_scripts() {
wp_enqueue_script( 'exdent-script', get_theme_file_uri( '/assets/js/jquery.exdent.min.js' ), array( 'jquery' ), null, true );
$exdent_init = "jQuery(function($) {
$('blockquote, q').exdent({
by: '.5em'
});
});";
wp_add_inline_script( 'exdent-script', $exdent_init );
}
add_action( 'wp_enqueue_scripts', 'creamin_load_scripts' );
wp_enqueue_scripts
указывать не нужно add_action( 'init', 'mbds_products_custom_post_types' );
function mbds_products_custom_post_types() {
$labels = array(
'name' => _x( 'Продукция', 'post type general name' ),
'singular_name' => _x( 'Продукция', 'post type singular name' ),
'menu_name' => _x( 'Продукция', 'admin menu' ),
'name_admin_bar' => _x( 'Продукция', 'add new on admin bar' ),
'add_new' => _x( 'Добавить продукт', 'mbds_products' ),
'add_new_item' => __( 'Добавить новый продукт' ),
'new_item' => __( 'Новый продукт' ),
'edit_item' => __( 'Редактировать продукт' ),
'view_item' => __( 'Показать продукт' ),
'all_items' => __( 'Вся продукция' ),
'search_items' => __( 'Найти продукт' ),
'not_found' => __( 'Продукция не найдена' ),
'not_found_in_trash' => __( 'Нет продукции в корзине' )
);
$args = array(
'labels' => $labels,
'description' => __( 'Описание.' ),
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 8,
'menu_icon' => 'dashicons-portfolio',
'supports' => array( 'title', 'thumbnail', 'page-attributes', 'editor' ),
// добавит поддержку меток к custom post type
'taxonomies' => array('post_tag')
);
register_post_type( 'mbds_products', $args );
}
if (site = 'ru') echo "привет"
Понятно, что по обновление темы, вся красота слетает.
the_excerpt();
и обернуть его ссылкой, либо использовать фильтр:add_filter( 'the_excerpt', function ($content) {
return sprintf( '<a href="%s" rel="bookmark">%s</a>', get_permalink(), $content );
} );
и, скорее всего, с привязкой к is_home (или is_frontpage), чтобы ссылкой не оказался ещё и весь текст поста
the_content()
. sudo ufw allow <port_number>