Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Хлебные крошки
- add_filter( 'wpseo_breadcrumb_links', 'wpseo_breadcrumb_add_woo_shop_link' );
- function wpseo_breadcrumb_add_woo_shop_link( $links ) {
- global $post;
- global $wp;
- $current_url = home_url(add_query_arg(array(), $wp->request));
- if ( is_woocommerce() ) {
- $breadcrumb[] = array(
- 'url' => get_permalink( woocommerce_get_page_id( 'shop' ) ),
- 'text' => 'Услуги',
- );
- if ( strpos($current_url, "shop") !== false ) {
- array_pop( $links );
- }
- array_splice( $links, 1, -2, $breadcrumb );
- }
- return $links;
- }
- add_filter( 'wpseo_breadcrumb_links', 'yoast_seo_breadcrumb_append_link' );
- function yoast_seo_breadcrumb_append_link( $links ) {
- global $post;
- global $wp;
- if ( is_single ( 123456 ) ) {
- $breadcrumb[] = array(
- 'url' => site_url( '/blog/' ),
- 'text' => 'Блог',
- );
- array_splice( $links, 1, -2, $breadcrumb );
- }
- return $links;
- }
- // внешняя переменная чтобы понять сколько ссылок уже в $links
- // и понять на каком уровне вложенности мы
- $outside = 0;
- add_filter('wpseo_breadcrumb_single_link' ,'add_single_link', 10 ,2);
- function add_single_link($link_output, $link ){
- global $wp;
- // не забудем подтянуть внешнюю переменную
- global $outside;
- $output = array();
- $current_url = home_url(add_query_arg(array(), $wp->request));
- // a bits for debug
- // if(is_user_logged_in()) {
- // echo "<pre>";
- // print_r($var);
- // echo "</pre>";
- // }
- // с каждым проходом по $link увеличиваем на 1
- $outside += 1;
- // если ссылка в $link["url] совпадает с текущей страницей
- // читай - здесь мы строим крошки первых страниц
- // Главная - Услуги - Категория
- if($link["url"] === $current_url . "/") {
- // и если это НЕ страница товара
- if ( !is_singular('product') ) {
- // тогда пушим в массив крошку БЕЗ ссылки
- // здесь строятся последнии крошки без ссылки в категориях!
- array_push($output, "<br /><span class=\"current-page-breadcrumb\">".$link["text"]."</span>");
- }
- // если ссылка в $link["url"] НЕ совпадает с текущей страницей
- } else {
- // и если это НЕ страница товара
- if( !is_singular("product")) {
- // тогда пушим в массив крошку со ссылкой
- // тут строятся первые ссылки на страницах НЕ товара - Главная - Услуги - Категория
- array_push($output, "<span><a href=". $link["url"] .">" . $link["text"] . "</a></span>");
- // если это страница товара
- } else {
- // тогда если счётчик меньше или равно 2
- // тут мы строим ссылки Главная - Услуги - Категория
- if($outside <= 2) {
- // пушим со ссылкой
- array_push($output, "<span><a href=". $link["url"] .">" . $link["text"] . "</a></span>");
- } else {
- // если счётчик больше 2 - без ссылки
- array_push($output, "<br /><span class=\"current-page-breadcrumb\">".$link["text"]."</span>");
- }
- }
- }
- $html_output = "";
- foreach ($output as $idx=>$crumb) {
- $html_output .= $crumb;
- }
- return $html_output;
- }
- add_filter( 'woocommerce_order_item_name', 'add_single_excerpt_to_order_item', 10, 3 );
- function add_single_excerpt_to_order_item( $item_name, $item, $is_visible ){
- $product_id = $item->get_product_id(); // Get the product Id
- $link = get_permalink( $product_id );
- $product = wc_get_product($product_id);
- $price = $product->get_price();
- $category = get_category($product_id);
- $term_list = wp_get_post_terms($product_id, 'product_cat', array('fields' => 'names'));
- $category_name = str_replace(" ", "_", $term_list[0]);
- return '<a href="'. $link .'" rel="nofollow" data-product-id='.$product_id.' data-product-price='. $price .' data-product-category='. $category_name .'>'. $item["name"] .'</a>';
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement