链接回父类别-WooCommerce

时间:2014-04-27 作者:Pipeline

我正在使用woocommerce和一个自定义的post type=product and taxonomy=product\\u cat。我需要一个链接回到每个产品和类别页面上的父类别。我已经在网上读了好几篇文章,但都没能按我的需要完成。

我想在必要时通过一个接受php的文本小部件插件在侧栏中输出函数。当我使用Woocomece时,我应该在哪里插入函数,我认为theme对单个产品和类别页面使用不同的模板?仅在函数中。php?

那么,你能帮我完成函数代码和html输出吗?提前感谢

1 个回复
SO网友:s_ha_dum

get_ancestors() 似乎是你需要的功能。如果给定ID和对象类型,它将返回一个祖先ID数组,第一个是最远的父/祖/曾祖/曾祖/等,最后一个是直系父。您可以使用这些信息构建链接。

function parent_id_wpse_142550($object_id,$type) {
  $anc = get_ancestors($object_id,$type); 
  $parent = array_shift($anc);
  if (!empty($parent)) {
    return $parent;
  } else {
    return false;
  }
}

function parent_link_wpse_142550($link) {
  if (!is_wp_error($link)) {
    return \'<h2 class="link"><a href="\'.$link.\'">Return</a></h2>\'; 
  }
}

function parent_term_link_wpse_142550($object_id,$type) {
  $parent = parent_id_wpse_142550($object_id,$type);
  if(!empty($parent) && $parent != 1){ 
    $link = get_term_link($parent,$type);
    return parent_link_wpse_142550($link);
  } 
}

function parent_cpt_link_wpse_142550($object_id,$type) {
  $parent = parent_id_wpse_142550($object_id,$type);
  $link = get_page_link($parent,$type);
  return parent_link_wpse_142550($link);
}

function make_links_wpse_142550($content) {
  $links = \'\';
  global $post;
  $links .= parent_cpt_link_wpse_142550($post->ID,\'book\');

  $terms = get_the_terms($post->ID, \'genre\');

  if (!empty($terms)) {
    $term_id = array_shift($terms)->term_id;

    $links .= parent_term_link_wpse_142550($term_id,\'genre\');
  }

  return $links.$content;
}
add_filter(\'the_content\',\'make_links_wpse_142550\');

结束

相关推荐

Multiple parent categories

我是wordpress的新手。我想为每个主要类别创建一些主要类别和5个子类别。两个主要类别的子类别将相同。E、 g主要类别将是“美国”、“加拿大”等。子类别将是“地点”、“照片”等。是否可以使用单个wordpress进行此操作,或者是否需要为每个主要类别安装另一个wordpress?