Создание своего url для контента созданного в плагине
Только начал использовать wp и не могу понять как делать свой url.
создал плагин movievideo, там всего 1 файл movievideo.php.
в нем инициализировал создание таблицы, api запросы, 2 страницы админки (просмотр и удаление, добавление), хук для главной страницы / (если нет видео то просто текст - добавьте видео).
у видео есть в таблице записи, надо их выводить по url, где mysite.test/movie/:id, должно выводить запись по id, если записи нет, то 404 error.
не могу понять как мне сделать такой вывод
как создать url и вывести его на сайт
помогите пожалуйста с реализацией
Можно двумя способами сделать.
Первый - создать шорткод с нужным функционалом, который потом разместить на странице. к урл этой страницы можно подставлять разные гет параметры и выводить разные видео.
Либо пойти более сложным способом.
Зарегистрировать новый параметр запроса:
add_filter( 'query_vars', function( $query_vars ) { $query_vars[] = 'video'; return $query_vars; } );Затем создать в папке с темой новый шаблон, например my_video.php
И затем подключить его:
function custom_template( $template ) { if( get_query_var('video')) { return locate_template( 'my_video.php' ); } return $template; } add_filter( 'template_include', 'custom_template');Теперь по адресу example.com/?video=455 будет отображаться ваш шаблон.
Можно конечно еще дополнительно проверку сделать и проверять в базе существование записи с таким ид.
А это если нужно чпу:
add_filter( 'generate_rewrite_rules', function ( $wp_rewrite ) { $wp_rewrite->rules = array_merge( ['video/([^/]+)/?$' => 'index.php?video=$matches[1]'], $wp_rewrite->rules ); } );