uwebdesign

подкаст «Суровый веб» про веб разработку, IT и ux дизайн

smartape
  • «Суровый веб»
  • Полезные ссылки
  • Книги
  • Обзоры
  • О проекте
  • Контакты
  • Поддержать проект
uWebDesign

WordPress 4.1 и новая тема Twenty Fifteen

19.12.2014 — нет комментариев

Сообщество несколько месяцев ждало выхода новой WordPress 4.1: кому-то нетерпелось попробовать новые функции пагинации; кто-то хотел посмотреть и «пощупать» новую тему Twenty Fifteen; а возможно есть и такие, которые ждали полноэкранный режим написания постов.

Об этом и не только смотрите в нашем обзоре!

#

WordPress 4.1 для разработчиков

WordPress 4.1 for Developers

В самом обзоре мы остановились на «потребительских» функциях новой версии WordPress, а здесь в блоге хотелось бы поговорить про нововведения для разработчиков.

Новая пагинация

Очень большая боль всех разработчиков — пагинация для постов, особенно «красивая» пагинация в виде нескольких страниц и возможности перейти к последней. Дополнительных проблем добавляла нужда прописывать поведение для custom типов постов (проверять параметр $paged и т.д.).

Теперь разработчикам тем доступны три новые функции: the_posts_navigation, the_post_navigation, the_posts_pagination. Последняя мне кажется наиболее интересной. Вот такие параметры принимают эти функции.

the_posts_navigation( $args = array(
                        'prev_text'          => __( 'Older posts' ),
                        'next_text'          => __( 'Newer posts' ),
                        'screen_reader_text' => __( 'Posts navigation' ),
                   ));
the_post_navigation( $args = array(
                        'prev_text'          => __( 'Previous post' ),
                        'next_text'          => __( 'Next post' ),
                        'screen_reader_text' => __( 'Post navigation' ),
                   ));
the_posts_pagination( $args = array(
                        'show_all'           => false,
                        'prev_next'          => true,
                        'end_size'           => 1,
                        'mid_size'           => 1,
                        'before_page_number' => '',
                        'after_page_number'  => '',
                        'prev_text'          => __( 'Older posts' ),
                        'next_text'          => __( 'Newer posts' ),
                        'screen_reader_text' => __( 'Posts pavigation' ),
                   ));

Для каждой из этих функций существует аналогичная с префиксом get_ вместо the_, которые возвращаются значения, а не выводят их.

Customizer с условиями

В новом релизе появилась возможность показывать некоторые области кастомайзера только на определенных типах страниц. И несмотря на то, что я считаю это не всегда уместным и правильным (пользователи просто могут не узнать о некоторых возможностях темы), такая возможность теперь присутствует.

Сделать это можно с помощью параметра active_callback:

function contextual_static_front_page_section( $wp_customize ) {
    $wp_customize->get_section( 'static_front_page' )->active_callback = 'is_front_page';
}
add_action( 'customize_register', 'contextual_static_front_page_section', 11 );

И panel и section могут наследовать друг от друга этот параметр. Если все «секции» в «панели» неактивны, то тогда и сама «панель» пропадает из кастомайзера.

Подробнее читайте здесь: Toward a Complete JavaScript API for the Customizer.

Динамические заголовки без возможного дублирования

Теперь в темах рекомендуют использовать конструкцию add_theme_support( 'title-tag' ) вместо того, чтобы вручную писать wp_title(). Этой конструкцией мы говорим WordPress о том, что тема не использует никаких статических заголовков и можно безбоязненно генерировать автоматические.

Вешать эту функцию нужно либо на after_setup_theme, либо на init екшены.

Сложные мета-запросы

Начиная с версии 3.1 мы могли выполнять сложные запросы с помощью класса WP_Query и параметров tax_query, meta_query и date_query. Теперь в 4.1 мы можем использовать вложенные условия для усложнения логики запроса. Например:

$args = array(
	'post_type' => 'post',
	'tax_query' => array(
		'relation' => 'OR',
		array(
			'taxonomy' => 'category',
			'field'    => 'slug',
			'terms'    => array( 'quotes' ),
		),
		array(
			'relation' => 'AND',
			array(
				'taxonomy' => 'post_format',
				'field'    => 'slug',
				'terms'    => array( 'post-format-quote' ),
			),
			array(
				'taxnoomy' => 'category',
				'field'    => 'slug',
				'terms'    => array( 'wisdom' ),
			),
		),
	),
);
$query = new WP_Query( $args );

Такой запрос выведет все записи, которые находятся в категории quotes ИЛИ записи формата quote, находящиеся в категории wisdom.

#

Заключение

Итого имеем вполне сносный релиз, с большим количеством шагов навстречу разработчикам и пользователям. Ждем дальнейшего развития. Ура, WordPress!

Тип видео: Обзоры на web технологии Метки: WordPress

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Поиск

uWebDesign настоятельно рекомендует!

  • Войти на сайт
  • Зарегистрироваться
Подписаться на рассылку

smartape
smartape
Полезные ссылки
  • О проекте
  • Часто задаваемые вопросы
  • Реклама
  • Поддержи проект!
  • Контакты
Пожертвуй на развитие проекта
Наш подкаст
в iTunes в Android в RSS
Все права защищены © 2014-2025 uWebDesign. Сделано с ♥ в Челябинске.
Пользовательское соглашение. Сайт работает на хостинге SmartApe.