Доработка темы DooPlay
Платная тема DooPlay под WordPress является лидером среди инструментов для создания сайтов видео тематики (фильмы, сериалы, ТВ шоу). Предлагаю несколько трюков по её оптимизации.
Рейтинг в эпизодах
Голосование в виде звёзд в теме DooPlay присутствует только на страницах сезонов, а в эпизодах его нет, добавим:
/**
* Вставить голосование звёздами в
* эпизоды темы DooPlay.
*
* @author Mikhail Kobzarev <mikhail@kobzarev.com>
*/
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 <mikhail@kobzarev.com>
*/
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 <mikhail@kobzarev.com>
*/
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 <mikhail@kobzarev.com>
*/
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 <mikhail@kobzarev.com>
*/
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 <mikhail@kobzarev.com>
*/
add_action(
'init',
function() {
unregister_post_type( 'movies' );
},
2
);
Спасибо! Полезная тема, надо будет опробовать 🙂
Не забудьте рассказать о результатах!
Привет, нашел только куда вставить код с рейтингом. Подскажите, пожалуйста, куда вставлять другие?
Все сниппеты вставляются в functions.php дочерней темы, свой плагин или mu-plugins.
Hello sir, i have dooplay 2.3.3 how to make this like site: http://www.dizimodu.com/ pls help me?
How can I help you?
i want to edit dooplay this like site : http://www.dizimodu.com how to move sidebar right to left.
Type in your custom CSS:
Thank you sir and header code pls?
Header code my friend pls?
What code do you want to see from me?
Hello.
Thanks for all these tips.
Can you tell me how to modify the search bar ??. Add actors and directors in the research
You solution is here.
??? its a script for search in Atom theme
Its script for any theme
А как бы в этой теме добавить тайтлы к ссылкам в виджете?
Т.е. категория выводится ссылкой «Боевики». Тайтла нету. Я хочу добавить тайтл «Смотреть онлайн Боевики»
Сам кусок «Смотреть онлайн» будет для всех категорий одинаковый.
А просто добавить еще один str_replace( ‘<a’, ‘<a title=»Ваш тайтл»‘, $links );?
Если именно так, то нет, не работает