Intereting Posts
Получение значений из базы данных с задержкой использование 10 новых WP_Query: загрузка слишком медленно (с url) WordPress всегда возвращает 404 страницы для определенного URL-адреса wordfence сообщает об используемых файлах, но ничего не видно, когда я редактирую файл на сервере Перенаправление WordPress, уже отправленные заголовки возможность включения темы в многопользовательском режиме Настройка вывода метки / заголовка администратора nav_menu Ускорить сайт с изображениями высокого разрешения Справка с инструкцией if else для разделения содержимого с вложения изображения Несколько сообщений, эхо-URL (путь к изображению) изменение цвета фона в зависимости от родительской страницы Отображать все прикрепленные изображения каждого сообщения типа персонализированного сообщения и ссылки на исходный пост Получение таблицы пользователей для одного сайта в многопользовательском режиме Как отобразить список сообщений CPT в мета-окне на странице меню? получить категории, в которых была запись, и только что удалены из

Перенаправить страницу на первый пост в настраиваемом типе сообщений

У меня есть страница, назовем ее «Художники», которая отображает список сообщений в настраиваемом типе сообщений, снова «художники».

Как я могу перенаправить pepole, которые посещают страницу «Художники» до первого поста в типе «художников»?

Это предполагает, что ваша страница «Художники» имеет идентификатор 10, поэтому при необходимости измените это.

Вы также можете внести изменения в массив $args если хотите, если хотите. Вот WP_Query для WP_Query , который показывает, какие параметры вы можете использовать.

Наконец, это нужно сделать прямо в верхней части страницы (перед любым выходом), иначе вы получите сообщение об ошибке, которая уже была выведена.

 if(is_page(10)) : $args = array( 'posts_per_page' => 1, 'post_type' => 'artists' ); /** Get the posts that match and grab the URL of the first post */ $posts = get_posts($args); $redirect_url = get_permalink($posts[0]->ID); /** Redirect to the specified URL */ wp_redirect($redirect_url); exit; endif; 

Если вы хотите перенаправить конкретную страницу на первый пост, я предлагаю заглянуть в фантастический ответ / u / gmazzap о назначении шаблонов страниц в качестве архивов типа публикации .

Если вы хотите перенаправить Post Type Archive на первое сообщение, вы можете использовать следующее:

 /** * Redirect post type archive page to first post * * @return void */ function wpse91590() { if( is_post_type_archive( 'artists' ) ) { // Grab the first artist post ID and store it in an array $posts = get_posts( array( 'post_type' => 'artists', 'posts_per_page' => 1, 'fields' => 'ids', 'orderby' => array( 'menu_order' => 'ASC', 'post_date' => 'DESC' ), ) ); // If our array isn't empty, redirect if( ! empty( $posts ) ) { wp_redirect( get_permalink( $posts[0] ), 301 ); // Variable $posts[0] holds the artist post ID exit(); } } } add_action( 'template_redirect', 'wpse91590' ); 

Идея состоит в том, что нам не нужен весь объект Post, поэтому мы просто хватаем идентификатор и перенаправляем его. Наконец, мы выходим из сценария, чтобы избежать дальнейшего выполнения.