• Добрый день.

    Хочу сделать следующее, есть рубрика ‘news’, в шаблоне которой (category-news.php) есть пагинация.
    В карточке новости (single-news.php) хочу сделать ссылку «Вернуться к списку», href которой должен быть адрес страницы, с которой был произведен переход в карточку новости.

    Т.е. если я находился на странице /category/news/page/1 (1-вая страница пагинации списка Новостей) и перешел с этой страницы в какую-либо новость, то в этой новости, ссылке «Вернуться к списку» присваивается href=»/category/news/page/1″ и т.д.

    Для этого в шаблоне category-news.php делаю:

    set_transient( 'page_category_news', $_SERVER['REQUEST_URI'], 0x7FFFFFFF );

    В шаблоне single-news.php делаю:

    <a class="back" href="<?php echo get_transient( 'page_category_news' )?>"><span class="back-btn"></span>Вернуться в список</a>
    <?php delete_transient( 'page_category_news' );?>

    Но увы, получаю следующую картину. В category-news.php получаю правильное значение, записываю его во временный объект, но когда попадаю в single-news.php то все время получаю «/category/news/page/2» независимо от текущей страницы пагинации в Списке новостей, с которой был совершен переход в Новость.

    То же самое, если использую Сессию, вместо временных объектов WP.

    Такое впечатление, что при переходе в Новость (шаблон single-news.php) из списка Новостей, каким то образом система проходит через шаблон (category-news.php) списка новостей повторно, при этом перезаписывая значение временного объекта, причем чудесным образом перекручивая в /category/page/2

    Подскажите пожалуйста, где собака зарыта?

Просмотр 1 ответа (всего 1)
  • Ту же самую картину получаю, если вместо установки значения временного объекта в шаблоне category-news.php:

    set_transient( 'page_category_news', $_SERVER['REQUEST_URI'], 0x7FFFFFFF );

    делаю установку значения временного объекта через functions.php темы:

    add_action( 'wp_head', 'page_category_news' );
    function page_category_news(){
    
        if( is_category( 1 ) ){ // Это страница списка Новостей
            set_transient( 'page_category_news', $_SERVER['REQUEST_URI'], 0x7FFFFFFF );
        }
    
    }

Просмотр 1 ответа (всего 1)
  • Тема «Непонятное поведение системы» закрыта для новых ответов.