使用Badcrumb从单页返回到列表

时间:2015-05-22 作者:user1764914

我什么都试过了,到处都在寻找解决这个问题的办法。。

我有一个自定义类型“boat”,它有一些自定义字段。我可以在页面上显示船的列表,当单击一行时,详细信息将显示在单船中。php。

其中一个自定义字段是选择框(motor、sail)。因此,在我的主菜单中,我可以选择一个菜单选项,该选项将在该字段上显示motor或sail filtered。

然而,从单船上。php文件我无法从面包屑返回到列出我的船(摩托或帆)的相关页面。

在我绝望地把头撞在墙上之前,有人能帮我吗?

非常感谢,

1 个回复
SO网友:user1764914

好的,所以我没有得到回复,但我将此作为解决方案,希望它对其他人有用。

我使用的是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>";
}

结束

相关推荐

Breadcrumbs - get the author?

我有自己的函数breadcrumbs()。在其中,我调用is\\u author()来确定我是否在作者页面上。如果是真的,我想知道我在哪个作者的页面上。我尝试了\\u author(),但没有结果。我还查阅了WP codex。有人能帮忙吗?