Так вопрос! Хочу , что бы если юзер запрашивал например /some-url его обрабатывала бы функция worpress. Нужен такой себе контроллер. Задача стоит такая: Нужно сформировать url на основании url будет формироваться контент, но страниц созданных нету и не будет.
Ковырялся с query_var , пробовал банально
function my_fun_witch_router() {
if ($_SERVER['REQUEST_URI'] == '/some-url') {
echo 'Hello';
}
add_action('init' , 'my_fun_witch_router');
Получаю 404 ошибку и поверх ответ если url совпадает. А мне нужно формировать отдельную страницу. Спасибо.
Еще так пробую:
function cvk_year_rule() {
add_rewrite_rule('^foobar?','index.php?is_foobar_page=1');
set_query_var('is_foobar_page' , 1);
}
add_action('init' , 'cvk_year_rule');
function cl_year_view() {
if(get_query_var('is_foobar_page')){
echo 'done';
}
}
add_action('init' , 'cl_year_view');
Для создания таких "виртуальных страниц" я использую следующий код:
add_action( 'init', 'virtual_page' );
public function virtual_page() {
$page_slug = 'some_url';
$uri = $_SERVER['REQUEST_URI'];
$path = wp_parse_url( $uri, PHP_URL_PATH );
if ( '/' . trailingslashit( $page_slug ) === trailingslashit( $path ) ) {
include 'virtual_page.php';
exit;
}
}
И в файле virtual_page.php делаю то, что нужно. Этот код легко расширить на любое количество виртуальных страниц.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости