将其他课程添加到WooCommerce购物车-内容链接

时间:2015-06-18 作者:steamfunk

我正在一个基于woocommerce的网站上工作。我使用了找到的建议代码段here 将购物车内容链接添加到我的标题。代码如下:

在您的功能中。php

<?php

// Ensure cart contents update when products are added to the cart via AJAX (place the following in functions.php)
add_filter( \'woocommerce_add_to_cart_fragments\', \'woocommerce_header_add_to_cart_fragment\' );

function woocommerce_header_add_to_cart_fragment( $fragments ) {
    ob_start();
    ?>
    <a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( \'View your shopping cart\' ); ?>"><?php echo sprintf (_n( \'%d item\', \'%d items\', WC()->cart->cart_contents_count ), WC()->cart->cart_contents_count ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a> 
    <?php

    $fragments[\'a.cart-contents\'] = ob_get_clean();

    return $fragments;
}
代码是ajaxified的,以便自动将产品的编号和价格添加到链接中。

在主题文件中

<a class="cart-contents" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( \'View your shopping cart\' ); ?>"><?php echo sprintf (_n( \'%d item\', \'%d items\', WC()->cart->cart_contents_count ), WC()->cart->cart_contents_count ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>
我面临的问题是,我想在链接中添加一个额外的类,如下所示:

 <a class="cart-contents fi-shopping-cart" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( \'View your shopping cart\' ); ?>"><?php echo sprintf (_n( \'%d item\', \'%d items\', WC()->cart->cart_contents_count ), WC()->cart->cart_contents_count ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>
此附加类用于zurb found创建的字体图标here. 显示字体图标所需的只是将其作为类添加到div或li中。问题是,每当我刷新页面时,字体图标会在瞬间显示,然后消失。我真的很感激你的帮助。非常感谢。

1 个回复
最合适的回答,由SO网友:Chris 整理而成

您需要添加fi-shopping-cart 对于cart link元素的两个实例:在使用主题文件的较短的单行代码段中,以及在添加到函数的自定义代码中。php文件。如果自定义类仅存在于一个代码段中,则在加载另一个代码段时将替换它。

更新的代码如下所示。进行更改后,清空购物车,然后再次添加项目。Woocommerce缓存数据,因此更改一开始可能不起作用。

这是的代码functions.php - 唯一的区别是图标类已作为类添加到元素中:

<?php

// Ensure cart contents update when products are added to the cart via AJAX (place the following in functions.php)
add_filter( \'woocommerce_add_to_cart_fragments\', \'woocommerce_header_add_to_cart_fragment\' );

function woocommerce_header_add_to_cart_fragment( $fragments ) {
    ob_start();
    ?>
    <a class="cart-contents fi-shopping-cart" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( \'View your shopping cart\' ); ?>"><?php echo sprintf (_n( \'%d item\', \'%d items\', WC()->cart->cart_contents_count ), WC()->cart->cart_contents_count ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a> 
    <?php

    $fragments[\'a.cart-contents\'] = ob_get_clean();

    return $fragments;
}
下面是主题文件的cart链接元素的更新代码-您已经更新了此代码,但为了完整性,这里需要注意:

<a class="cart-contents fi-shopping-cart" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php _e( \'View your shopping cart\' ); ?>"><?php echo sprintf (_n( \'%d item\', \'%d items\', WC()->cart->cart_contents_count ), WC()->cart->cart_contents_count ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>

结束

相关推荐

AJAX加载更多帖子-WP_QUERY参数不起作用

我试图用一个Ajax加载更多帖子按钮来代替标准的WP分页。我基本上是按照this question 这在很大程度上很有效。以下是相关代码:HTML(博客索引页):<div id=\"content\"> <?php $args = array( \'posts_per_page\' => 5 ); if (isset($_GET[\'views\'])) { $args[\'orderby\'] = \'met