WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Templates

Привіт! Чи можна ресурсами вордпресу створити під конкретний урл темплейт? Наприклад я маю урл www.someurl.com/test-vs-test2/ або www.someurl.com/test3-vs-test5/ і в залежності від значення test буде формуватися контент сторінки. І це не маю бути GET чи POST реквести. Але сторінок з такими урлами не повинно бути в таблиці wp_posts

0
Vasyl
5.4 года назад
  • 0
    el-lable620 el-lable.ru

    Всегда удивляют украинцы которые почему-то уверены что их диалект понимают русскоговорящие smile .
    Ну да ладно, вам как я понял нужно сюда - https://wp-kama.ru/id_5177/3-sposoba-sozdat-shablon-stranitsyi.html

    Комментировать
  • 0
    kolshix779 paxtoy.com

    да можно сделать, но так как url не зарегистрированы:
    нужно будет править или фильтровать(обрывать и показывать иной) шаблон 404.php

    мои познания в фильтрации НИКАКИЕ, по этому я правил 404 -
    там создал условие

    // получаем условие 
    $url = site_url();
    
    // работа регулярки (test-vs-test2)
    $url = регуляркой получил нужные данные из урл 
    
    if ($url == "test-vs-test2"){
    	выводим первое значение 
    } elseif ($url == "test3-vs-test4"){
    	выводим второе значение 
    } else {
    	стандартный шаблон 404 
    }
    

    еще нужно будет поправить ответ сервера - "HTTP-заголовок страницы" для проверки роботом т.к. будут идти HTTP/1.1 404 Not Found, а нужны HTTP/1.1 200 OK

    Комментировать
  • 1

    I find solution.

    function test() {
    	$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    	if (strpos($actual_link, 'test3-vs-test4')) {
    		header("HTTP/1.1 200 OK");
    		global $wp_query;
    		$wp_query->set;
    		status_header(200);
    		http_response_code(201);
    		return true;
    	}
    }
    
    add_action('wp', 'test');
    
    function show_template(){
    	global $wp_query;
    	if ($wp_query->is_404) {
    		$wp_query->is_404 = false;
    		$wp_query->is_archive = true;
    	}
    	load_template(get_theme_file_path() . '/some_template.php');
    
    }
    add_filter('template_redirect','show_template');
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация