Intereting Posts
add_editor_style не работает как get_term_by знает, какой термин следует возвращать, когда один и тот же термин появляется дважды в иерархической таксономии? Каков оптимальный способ отфильтровывать подстраницы от администратора? Информация о таксономии возврата / времени с сообщениями (WP_Query / get_posts) Проблема с пользовательским меню CPT в WP Возможно ли разделение таблиц базы данных с помощью HyperDB? Выполнение плагина только на почтовых страницах переписать правило для перенаправления на последнюю дату permalink Как найти галереи WordPress Nextgen, которые не используются в сообщениях WordPress? WordPress – показать все сообщения + те, у которых есть тег Отменить регистрацию нескольких скриптов с помощью функции? Использование '$' вместо 'jQuery' в WordPress WordPress изменяет размер изображения до того же размера, что и загруженный Сопоставление карты с WP – предложения по исправлению? Структура перезаписи URL-адресов и структура навигации для пользовательского типа сообщений WordPress

Следующая и предыдущая ссылка в пользовательском типе сообщения в том же таксономии

У меня есть пользовательское name->('portfolio') типа сообщения name->('portfolio') , с названием таксономии 'portfolio_category' .

Я хочу добавить следующие и предыдущие ссылки в одностраничный файл, который является single-portfolio.php. Когда я нажимаю на одну из ссылок, она должна перенаправляться на следующую или предыдущую запись в том же типе сообщений и в том же таксономии.

Я использовал next_post_link() и previous_post_link() но кажется, что он работает только в одном сообщении, но не в одном настраиваемом типе сообщений.

Любые предложения будут очень оценены.

previous_post_link () и next_post_link () отлично работают с настраиваемыми типами сообщений. Вам нужно вставить этот код в свой single-customposttype.php (который в вашем случае single-portfolio.php):

 <div class="previous-post-link"> <?php previous_post_link('%link', '<< Previous Post', $in_same_term = true, $excluded_terms = '', $taxonomy = 'the-custom-taxonomy-associated-with-your-custom-post-type'); ?> </div> <div class="next-post-link"> <?php next_post_link('%link', 'Next Post >>', $in_same_term = true, $excluded_terms = '', $taxonomy = 'the-custom-taxonomy-associated-with-your-custom-post-type'); ?> </div> 

Параметр $taxonomy для next_post_link и previous_post_link был введен в WordPress версии 3.8.

Когда для параметра $in_same_term установлено значение true, вам необходимо установить параметр $taxonomy в требуемую таксономию. По умолчанию он установлен в category . Помните, post_format также является таксономии

Пример:

 next_post_link( '%link', 'Next post in category', TRUE, ' ', 'post_format' ); 

Просто заметьте, не используйте next_post и previous_post . Он уже амортизируется с WordPress версии 2.0.0. См. Wp-includes / deprecated.php # L121 и wp-includes / deprecated.php # L158

РЕДАКТИРОВАТЬ

Отдельные сообщения будут автоматически размещаться между сообщениями в том же типе сообщений, что и тип публикации текущей почты, используемый для извлечения смежных сообщений. Проверьте исходный код get_adjacent_post() который используется в следующих и предыдущих сообщениях. Обратите особое внимание на строку 1550 (в настоящее время для версии 4.1)

 1550 $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms ); 

Добавьте этот код в файл single-cpt.php.

 <?php previous_post_link('%link', 'Previous in CPT', TRUE) ?> <?php next_post_link('%link', 'Next in CPT', TRUE) ?> 

Где cpt – имя вашего настраиваемого типа сообщения.

Попробуйте это с эскизом:

 <?php $prevPost = get_previous_post(); if($prevPost) { ?> <li class="previous"> <?php $prevthumbnail = get_the_post_thumbnail($prevPost->ID, array(80,80) ); ?> <?php previous_post_link('%link', $prevthumbnail . '<strong>Prev</strong> <span>%title</span>'); ?> </li> <?php } $nextPost = get_next_post(); if($nextPost) { ?> <li class="next"> <?php $nextthumbnail = get_the_post_thumbnail($nextPost->ID, array(80,80) ); ?> <?php next_post_link('%link', $nextthumbnail . '<strong>Next</strong> <span>%title</span>'); ?> </li> <?php } ?>