将WooCommerce购物车链接+总计添加为wp_nav_menu中的最后一个菜单项 [英] Add WooCommerce cart link + total as last menu item in wp_nav_menu

查看:43
本文介绍了将WooCommerce购物车链接+总计添加为wp_nav_menu中的最后一个菜单项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试添加一个自定义的WooCommerce购物车链接,其中包含内容计数和总成本作为菜单中的最后一个选项.

I am trying to add a custom WooCommerce cart link with contents count and total cost as the last option in a menu.

这是我当前正在使用的代码:

add_filter('wp_nav_menu_header-menu_items','custom_minicart_in_main_menu', 10, 2);
function custom_minicart_in_main_menu( $menu, $args) {

    $minicart_link = '<a class="custom-minicart" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( "View Your Cart" ); ?>"><?php echo sprintf ( _n( "%d item", "%d items", WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>';

    return $menu . $minicart_link;

}

问题是,显示的唯一结果是:

">cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?> - cart->get_cart_total(); ?>

结果应为:

Cart (#number of items) - $total cost of all products (subtotal using wc_price)

所以,像这样:

Cart (4) - $78.50


如何调整代码,以获得所需的结果?


How can I adjust my code so that I get the desired result?

推荐答案

wp_nav_menu()-显示导航菜单-包含 wp_nav_menu _ {$ menu-> slug} _items 过滤器挂钩.

wp_nav_menu() - Displays a navigation menu - contains wp_nav_menu_{$menu->slug}_items filter hook.

/**
 * Filters the HTML list content for a specific navigation menu.
 *
 * @since 3.0.0
 *
 * @see wp_nav_menu()
 *
 * @param string   $items The HTML list content for the menu items.
 * @param stdClass $args  An object containing wp_nav_menu() arguments.
 */
$items = apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );


要回答您的问题,请使用:


So to answer your question, use:

function custom_minicart_in_main_menu( $items, $args ) {
    // Get cart url
    $link_url = wc_get_cart_url();
    
    // Text
    $link_text = sprintf( __( 'Cart (%d) - %s', 'woocommerce' ), WC()->cart->cart_contents_count, WC()->cart->get_total() );
    
    // Link
    $minicart_link = '<a class="custom-minicart" href="' . $link_url . '">' . $link_text . '</a>';

    return $items . $minicart_link;

}
add_filter( 'wp_nav_menu_header-menu_items', 'custom_minicart_in_main_menu', 10, 2 );

这篇关于将WooCommerce购物车链接+总计添加为wp_nav_menu中的最后一个菜单项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆