Использование breadcrumb для возврата из одной страницы в список

Я пробовал все и везде искал решение этой проблемы.

У меня есть пользовательский тип «лодка», в котором есть некоторые настраиваемые поля. Я могу отобразить список лодок на странице, а когда щелкнет строка, детали отображаются в файле single-boat.php.

Одним из настраиваемых полей является поле выбора (мотор, парус). Поэтому в моем главном меню я могу выбрать пункт меню, в котором будет отображаться мотор или парус, отфильтрованный в этом поле.

Однако из файла single-boat.php я не могу вернуться с панировки, на соответствующую страницу, в которой перечислены мои лодки (мотор или паруса).

Может ли кто-нибудь помочь, прежде чем я начну стучать головой о стену в отчаянии?

Большое спасибо,

Хорошо, поэтому я не получил ответа, но я решил это как решение, и я надеюсь, что это будет полезно для других.

Я использую шаблон эволюции, поэтому, когда вы видите эволюцию, он ссылается на что-то в шаблоне эволюции; eg evolve_breadcrumb() – это функция, используемая шаблоном эволюции.

Это сценарий:

  • Тип персонализированного сообщения: лодка
  • Типы лодок: мотор, парус
  • Языки: английский, испанский

Это должно выбрать правильное меню для почты или лодки / двигателя или паруса / английского или испанского.

Первый шаг: выберите evolve_breadcrumb() для стандартного сообщения или используйте новую функцию для отдельной отдельной страницы single_boat_evolve_breadcrumb() .

Некоторые из полей кода относятся к настраиваемым полям … например, $typeofboat относится к моторному или парусному судну.

 /** * Start breadcrumbs */ // selects standard breadcrumb function or specific for single boat page // standard returns to blog / boat returns to single page parent function choose_and_display_breadcrumbs() { if(is_single() && is_singular("boat")) { single_boat_evolve_breadcrumb(); } else { evolve_breadcrumb(); } } // get a page ID by page slug function get_ID_by_page_slug($page_slug) { $page = get_page_by_path($page_slug); if ($page) { return $page->ID; } else { return null; } } /** * for single page which is a boat */ function single_boat_evolve_breadcrumb() { global $data,$post; echo '<ul class="breadcrumbs">'; echo '<li><a class="home" href="'; echo home_url(); echo '">'.__('Home', 'evolve'); echo "</a></li>"; $params['link_none'] = ''; $separator = ''; if(is_single() && is_singular("boat")) { $parentID = 0; $parentpagelink = ""; $availability = strtolower( get_custom_field('availability')); $typeofboat = strtolower( get_custom_field('type_of_boat')); $currentlanguage = pll_current_language(); if ( $currentlanguage == 'en') { if ($availability == 'sold') { $parentID = get_ID_by_page_slug('boats-sold'); $parentpagelink = get_page_link( $parentID); } else { switch ($typeofboat) { case 'yacht': $parentID = get_ID_by_page_slug('sail-brokerage'); $parentpagelink = get_page_link( $parentID); break; case 'motorboat': $parentID = get_ID_by_page_slug('motor-brokerage'); $parentpagelink = get_page_link( $parentID); break; default: break; } } } elseif ($currentlanguage == 'es') { if ($availability == 'sold') { $parentID = get_ID_by_page_slug('barcos-vendidos'); $parentpagelink = get_page_link( $parentID); } else { switch ($typeofboat) { case 'yacht': $parentID = get_ID_by_page_slug('corretaje-de-vela-2'); $parentpagelink = get_page_link( $parentID); break; case 'motorboat': $parentID = get_ID_by_page_slug('corretaje-de-motor'); $parentpagelink = get_page_link( $parentID); break; default: break; } } } } echo '<li>'; echo '<a href="' . $parentpagelink . '" title="' . $typeofboat . '">' . get_the_title($parentID) . '</a>'; echo '</li>'; echo '<li>'. get_the_title() .'</li>'; echo "</ul>"; }