在 WooCommerce 自定义订单历史记录中为产品标题添加永久链接

问题描述

我正在使用 Show products name and quantity in a new column on Woocommerce My account Orders 答案代码向 Woocommerce 我的帐户订单历史记录页面添加一个附加列,该列显示订单的商品标题

如何让代码标题显示为指向所订购商品的产品页面的超链接,而不仅仅是纯文本?

解决方法

要将每个产品标题链接到产品,您可以使用以下内容:

add_filter( 'woocommerce_my_account_my_orders_columns','additional_my_account_orders_column',10,1 );
function additional_my_account_orders_column( $columns ) {
    $new_columns = [];

    foreach ( $columns as $key => $name ) {
        $new_columns[ $key ] = $name;

        if ( 'order-status' === $key ) {
            $new_columns['order-items'] = __( 'Items','woocommerce' );
        }
    }
    return $new_columns;
}

add_action( 'woocommerce_my_account_my_orders_column_order-items','additional_my_account_orders_column_content',1 );
function additional_my_account_orders_column_content( $order ) {
    $details = array();

    foreach( $order->get_items() as $item )
        $details[] = '<a href="' . $item->get_product()->get_permalink() . '">' . $item->get_name() . '</a>&nbsp;&times;&nbsp;' . $item->get_quantity();

    echo count( $details ) > 0 ? implode( '<br>',$details ) : '&ndash;';
}

代码位于活动子主题(或活动主题)的functions.php 文件中。经测试有效。