【问题标题】:How to remove nofollow link from woocommerce add to cart button using woocommerce_loop_add_to_cart_link hook?如何使用 woocommerce_loop_add_to_cart_link 钩子从 woocommerce 添加到购物车按钮中删除 nofollow 链接?
【发布时间】:2017-05-05 12:54:12
【问题描述】:

我将此添加到functions.php。还有比这更好的解决方案吗?

apply_filters( 'woocommerce_loop_add_to_cart_link',
global $product;    
return sprintf( '<a href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s">%s</a>',
        esc_url( $product->add_to_cart_url() ),
        esc_attr( isset( $quantity ) ? $quantity : 1 ),
        esc_attr( $product->get_id() ),
        esc_attr( $product->get_sku() ),
        esc_attr( isset( $class ) ? $class : 'button' ),
        esc_html( $product->add_to_cart_text() )
    ),
$product );

【问题讨论】:

  • 嗨,这是 wordpress wocommerce 默认在其链接上设置 nofollow 的吗?

标签: woocommerce hook-woocommerce


【解决方案1】:

您还可以按照以下方式修改链接:

return sprintf( '<button href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s">%s</button>',
    esc_url( $product->add_to_cart_url() ),
    esc_attr( isset( $quantity ) ? $quantity : 1 ),
    esc_attr( $product->get_id() ),
    esc_attr( $product->get_sku() ),
    esc_attr( isset( $class ) ? $class : 'button' ),
    esc_html( $product->add_to_cart_text() )
),$product );

【讨论】:

    【解决方案2】:

    我使用此代码。但没有找到如何在“aria-label”产品标题中插入。

    // Change rel “nofollow” to rel “dofollow” on Shop Page Product button
    add_filter( 'woocommerce_loop_add_to_cart_link', 'add_to_cart_dofollow', 10, 2 );
    function add_to_cart_dofollow($html, $product){
        if($product->product_type == 'simple') {
            $html = sprintf( '<a rel="nofollow" href="%s" data-quantity="%s" data-product_id="%s" aria-label="Добавить в корзину" data-product_sku="%s" class="%s" %s>%s</a>',
            esc_url( $product->add_to_cart_url() ),
            esc_attr( isset( $quantity ) ? $quantity : 1 ),
            esc_attr( $product->get_id() ),
            esc_attr( $product->get_sku() ),
            esc_attr( isset( $args['class'] ) ? $args['class'] : 'button product_type_variable add_to_cart_button' ),
            esc_attr( isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : ''),
            esc_html( $product->add_to_cart_text() )
        );
        }else {
        $html = sprintf( '<a href="%s" data-quantity="%s" data-product_id="%s" aria-label="Выбрать" data-product_sku="%s" class="%s" %s>%s</a>',
            esc_url( $product->add_to_cart_url() ),
            esc_attr( isset( $quantity ) ? $quantity : 1 ),
            esc_attr( $product->get_id() ),
            esc_attr( $product->get_sku() ),
            esc_attr( isset( $args['class'] ) ? $args['class'] : 'button product_type_variable add_to_cart_button' ),
            esc_attr( isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : ''),
            esc_html( $product->add_to_cart_text() )
        );
        }
        return $html;
    }
    

    【讨论】:

      【解决方案3】:

      https://www.curlsforyou.dk 一个使用 WordPress 和标准 woocommerce 构建的网站上,我成功地运行了这个片段:

      只需在 Code Snippets 插件中插入代码,nofollow 链接现在就可以跟随了。

      add_filter( 'woocommerce_loop_add_to_cart_link', 'add_to_cart_dofollow', 10, 2 );
      function add_to_cart_dofollow($html, $product){
          $html = sprintf( '<a rel="dofollow" href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s">%s</a>',
              esc_url( $product->add_to_cart_url() ),
              esc_attr( isset( $quantity ) ? $quantity : 1 ),
              esc_attr( $product->get_id() ),
              esc_attr( $product->get_sku() ),
              esc_attr( isset( $class ) ? $class : 'button' ),
              esc_html( $product->add_to_cart_text() )
          );
          return $html;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多