从WooCommerce消息中删除链接

时间:2019-03-13 21:33:39

标签: php wordpress woocommerce

我有一个简单的问题。当您下订单时,此订单无效,将显示一条消息,其中包含无效的订单文本和指向帐户页面的链接。经过长时间的搜索,我在代码中找到了该部分:

/**
 * View order page.
 *
 * @param int $order_id Order ID.
 */
public static function view_order( $order_id ) {
    $order = wc_get_order( $order_id );
    if ( ! current_user_can( 'view_order', $order_id ) ) {
        echo '<div class="woocommerce-error">' . esc_html__( 'Invalid order.', 'woocommerce' ) . ' <a href="' . esc_url( wc_get_page_permalink( 'myaccount' ) ) . '" class="wc-forward">' . esc_html__( 'My account', 'woocommerce' ) . '</a></div>';
        return;
    }
    // Backwards compatibility.
    $status       = new stdClass();
    $status->name = wc_get_order_status_name( $order->get_status() );
    wc_get_template(
        'myaccount/view-order.php', array(
            'status'   => $status, // @deprecated 2.2.
            'order'    => wc_get_order( $order_id ),
            'order_id' => $order_id,
        )
    );
}

这可以在文件class-wc-shortcode-my-account.php

中找到

那么可以安全删除消息中的链接吗?因为我只想要这里的消息。

1 个答案:

答案 0 :(得分:1)

remove_action('woocommerce_account_view-order_endpoint', 'woocommerce_account_view_order');
add_action('woocommerce_account_view-order_endpoint', 'new_view_order');

function new_view_order($order_id) {
        $order = wc_get_order($order_id);

        if (!current_user_can('view_order', $order_id)) {
            echo '<div class="woocommerce-error">' . esc_html__('Invalid order.', 'woocommerce') . '</div>';

            return;
        }

        // Backwards compatibility.
        $status = new stdClass();
        $status->name = wc_get_order_status_name($order->get_status());

        wc_get_template(
                'myaccount/view-order.php', array(
            'status' => $status, // @deprecated 2.2.
            'order' => wc_get_order($order_id),
            'order_id' => $order_id,
                )
        );
}

尝试一下