Intereting Posts
Реплицировать сетевые плагины, не настраивая их для каждого дочернего сайта? методы tinymce modal и I18n Проверьте, есть ли в текущей категории дети Выходные данные, такие как установщик / обновление плагинов WP. Иерархические пользовательские сообщения – выделение текущего сообщения в подменю Как я могу загрузить таблицу стилей для дочерних объектов с помощью строки busting cache и удалить ту же таблицу стилей, загруженную родительской темой? Почему has_comments возвращает false, но get_comments возвращает массив commemts? Добавить пользовательский класс в теги Вращающееся изображение не работает для пользовательских размеров изображений wp_localize_script не передает данные WP Загрузить сообщение с ajax и применить изотоп Необычная проблема с пользовательским шаблоном RSS Ошибка базы данных WordPress – быстрый обзор Как предотвратить «внутреннюю ошибку сервера 500» из-за длительного процесса установки? Сброс ролей и возможностей по умолчанию

Отображение страницы дважды в URL после перезаписи

Для моего сайта у меня есть настраиваемый тип video типа, который будет отображаться по адресу http://site.url/videos . Он разбит на страницы так, что на странице архива есть 24 видео. Тем не менее, я не использую single.php для визуализации представления для видео, вместо этого я показываю содержимое видео через ajax на странице архива при нажатии. Я разрешаю ссылку на определенные видео с помощью javascript, который просто выбирает и открывает желаемое видео на загрузке страницы (через строку URL).

У меня есть правила перезаписи, которые позволяют site.url/videos/my-video перенаправлять на index.php?post_type=video которое отлично работает. Тем не менее, для моих разбитых на страницы видео я использую single.php чтобы выполнить 301 переадресацию на страницу с single.php по страницам, где в настоящее время находится это отдельное видео.

Мое правило перезаписи, разрешающее это, выглядит следующим образом:

 function video_rewrite() { add_rewrite_rule('videos/page/([0-9]{1,})/?$', 'index.php?post_type=video&paged=$matches[1]', 'top');` } add_action('init', 'video_rewrite'); 

и код перенаправления на single-video.php

 $post_id = $post->ID; $args = array( 'post_type' => 'video', 'showposts' => -1, 'orderby' => 'date', 'order' => 'DESC', ); $count = 0; $video_query = new WP_Query($args); if ($video_query->have_posts()) { foreach($video_query->posts as $key => $video_post) { $count++; if ($video_post->ID === $post_id) { $post_offset = $key; } } } wp_reset_query(); $posts_per_page = $GLOBALS['videos_posts_per_page']; $page_number_notrounded = $post_offset / $posts_per_page; $page_number = round($page_number_notrounded, 0, PHP_ROUND_HALF_UP); $page_number = $page_number + 1; if ($page_number > 1) { $redirect_url = get_bloginfo('url').'/videos/page/'.$page_number.'/'.$post->post_name; $post_link = $redirect_url; } wp_redirect($post_link, 301); exit; 

По какой-то причине WordPress дважды добавляет разбивку на страницы. Будучи 301 перенаправленным на site.url/videos/page/2/my-video загружает следующий url: site.url/videos/page/2/my-video/page/2/

Как я могу запретить добавление паузы дважды?

Solutions Collecting From Web of "Отображение страницы дважды в URL после перезаписи"