Удалить ссылку из сообщения WooCommerce - PullRequest
1 голос
/ 14 марта 2019

У меня простой вопрос. Когда вы размещаете заказ, и этот заказ становится недействительным, отображается сообщение с недопустимым текстом заказа и ссылкой, которая указывает на страницу учетной записи. После долгих поисков я нашел часть в коде:

/**
 * 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 Ответ

1 голос
/ 14 марта 2019
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,
                )
        );
}

Попробуйте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...