Платная тема DooPlay под WordPress является лидером среди инструментов для создания сайтов видео тематики (фильмы, сериалы, ТВ шоу). Предлагаю несколько трюков по её оптимизации.
Рейтинг в эпизодах
Голосование в виде звёзд в теме DooPlay присутствует только на страницах сезонов, а в эпизодах его нет, добавим:
/** * Вставить голосование звёздами в * эпизоды темы DooPlay. * * @author Mikhail Kobzarev <[email protected]> */ add_filter( 'the_content', function ( $content ) { if ( is_singular( 'episodes' ) ) { $rating = sprintf( '<div class="starstruck-ptype">%s</div>', starstruck_post_display() ); $content = $rating . $content; } return $content; } );
Очистка тулбара WordPress
По умолчанию тулбар WordPress забит всякими не нужными ссылками, уберём лишние:
/** * Удалить пункты меню из тулбара WordPress. * * @param WP_Admin_Bar $wp_admin_bar объект тулбара * @author Mikhail Kobzarev <[email protected]> */ add_action( 'admin_bar_menu', function ( WP_Admin_Bar $wp_admin_bar ) { $wp_admin_bar->remove_node( 'wp-logo' ); $wp_admin_bar->remove_node( 'customize' ); $wp_admin_bar->remove_node( 'comments' ); $wp_admin_bar->remove_node( 'wpseo-menu' ); $wp_admin_bar->remove_node( 'search' ); }, 999 );
При создании меню через админку WordPress в него нельзя добавить сущности DooPlay (ТВ Шоу, Сезоны, Эпизоды и фильмы), исправим это:
/** * Разрешить добавлять сущности DooPlay в меню. * * @author Mikhail Kobzarev <[email protected]> */ add_filter( 'register_post_type_args', function ( $args, $post_type ) { if ( in_array( $post_type, [ 'movies', 'tvshows', 'seasons', 'episodes' ] ) ) { $args['show_in_nav_menus'] = true; } return $args; }, 12, 2 );
Поиск сущностей
Во время стандартного поиска по сайту в WordPress в теме DooPlay не находятся её сущности (ТВ Шоу, Сезоны, Эпизоды и фильмы), исправим это:
/** * Разрешить поиск сущности DooPlay на сайте. * * @author Mikhail Kobzarev <[email protected]> */ add_filter( 'register_post_type_args', function ( $args, $post_type ) { if ( in_array( $post_type, [ 'movies', 'tvshows', 'seasons', 'episodes' ] ) ) { $args['exclude_from_search'] = false; } return $args; }, 12, 2 );
Включение редактора Gutenberg
По какой-то неведанной причине редактор блоков Gutenberg специально отключен внутри темы DooPlay для всех её произвольных типов записей. Вернём всё назад:
/** * Включить редактор Gutenberg для сущностей DooPlay. * * @author Mikhail Kobzarev <[email protected]> */ add_filter( 'register_post_type_args', function ( $args, $post_type ) { if ( in_array( $post_type, [ 'movies', 'tvshows', 'seasons', 'episodes' ] ) ) { $args['show_in_rest'] = false; } return $args; }, 12, 2 ); add_filter( 'use_block_editor_for_post', function ( $bool, WP_Post $post ) { $default = false; if ( in_array( $post->post_type, [ 'movies', 'tvshows', 'seasons', 'episodes', 'post' ] ) ) { return true; } return $default; }, 20, 2 );
Удаление не используемых сущностей
Из коробки в теме DooPlay много сущностей, которые по факту вам не нужны, например, сайт посвящен только сериалам (сезоны и эпизоды), соответственно, произвольный тип записи «Фильмы» можно удалить:
/** * Удалить не используемую сущность movies. * * @author Mikhail Kobzarev <[email protected]> */ add_action( 'init', function() { unregister_post_type( 'movies' ); }, 2 );
«Loop is amazing»
Источник: https://www.kobzarev.com/wordpress/dooplay-tricks/