Woocommerce面包屑,用单个产品页面上的页码替换产品类别

时间:2018-08-15 00:42:17

标签: php wordpress woocommerce customization breadcrumbs

我正在重新设计网站,但面包屑遇到了麻烦。我想用当前所选产品所源自的页码替换产品类别。 因此,代替:主页>商店>抽象>产品名称 我想要:主页>商店>页面3>产品名称

原因是我的网站用于展示/销售我的艺术品,而面包屑中的产品类别根本没有意义。我希望客户能够返回他们来自的页面,而不是碰巧属于同一类别的产品的新页面。

我的网站是https://dev.paulruskin.com,我正在WordPress中使用店面主题。

我在这里进行了广泛的搜索,并用谷歌搜索了一下,但似乎找不到足够好的例子。

任何帮助将不胜感激。

编辑:
所以这就是我到目前为止提出的。

add_filter( 'woocommerce_get_breadcrumb', 'custom_breadcrumb', 10, 2 );
function custom_breadcrumb( $crumbs ) {
    $url = $_SERVER['HTTP_REFERER'];
    $url_array = array_values( explode("/", $url) );
    $pg_num = $url_array[count($url_array) -2];

    if ( strpos( $url, '/page/') !== false ) {

        foreach( $crumbs as $key => $crumb ) {
            $taxonomy = 'product_cat';

            $term_array = term_exists( $crumb[0], $taxonomy );

            if ( $term_array !== 0 && $term_array !== null ) {
                $crumbs[$key][0] = "Page " . $pg_num;
                $crumbs[$key][1] = $url;
            }
        }
    }
    return $crumbs;
}'  

这仅部分起作用。我意识到,如果用户单击上一个或下一个按钮,则上一个URL仍不会列出页码。

是否可以从Woocommerce或WordPress获取产品所属的页码?

1 个答案:

答案 0 :(得分:0)

您可以在面包屑顶部添加链接以返回上一页:

<a href="#" onclick="window.history.go(-1); return false;">Back to previous page</a>

这与单击浏览器的后退按钮相同。