好的,所以我没有得到回复,但我将此作为解决方案,希望它对其他人有用。
我使用的是evolve模板,所以当你看到evolve时,它指的是evolve模板中的一些东西;e、 g。evolve_breadcrumb()
是evolve模板使用的函数。
以下是场景:
自定义post类型:boat(船)类型:motor(马达)、sail(帆)语言:english(英语)、spanish(西班牙语)这必须为post或boat(船)/motor(马达)或sail(帆)/english(英语)或spanish(西班牙语)选择正确的菜单。
第一步:选择evolve_breadcrumb()
对于标准职位OR 对自定义单页使用新函数single_boat_evolve_breadcrumb()
.
代码中的某些字段引用自定义字段。。。e、 g。$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>";
}