Удалить ссылку на строку списка заказов в администраторе WooCommerce?


Я хочу удалить функцию, когда вы нажимаете на строку заказа в разделе Заказы в администраторе, вы будете отправлены на страницу редактирования этого заказа.

Я знаю, что он добавлен с помощью jQuery в js-файл в плагине WooCommerce. Я нашел фактический код:

/**
 * Click a row.
 */
WCOrdersTable.prototype.onRowClick = function( e ) {
    if ( $( e.target ).filter( 'a, a *, .no-link, .no-link *, button, button *' ).length ) {
        return true;
    }

    if ( window.getSelection && window.getSelection().toString().length ) {
        return true;
    }

    var $row = $( this ).closest( 'tr' ),
        href = $row.find( 'a.order-view' ).attr( 'href' );

    if ( href && href.length ) {
        e.preventDefault();

        if ( e.metaKey || e.ctrlKey ) {
            window.open( href, '_blank' );
        } else {
            window.location = href;
        }
    }
};

Но я не хочу менять какой-либо код в плагине. И нет никаких крючков js или каких-либо крючков php, которые могли бы управлять этой частью кода.

Поэтому я предполагаю, что вариант состоит в том, чтобы добавить класс no-link в столбцы в списке? Как мне это сделать? Я ничего не могу найти о том, как это сделать.

Author: Peter Westerlund, 2019-05-21

2 answers

На основе class-wc-admin-list-table-orders.php ( столбец заказа в строке 173) похоже, что фильтра для изменения разметки нет.

Чтобы обойти это, возможно, вы могли бы добавить скрипт js/jQuery в admin_footer или с помощью admin_enqueue_scripts, который либо добавляет необходимый класс(классы), удаляет href или изменяет его на #, либо с помощью какого-либо волшебства делегирования событий сначала запустите свое собственное событие click и предотвратите WCOrdersTable window.location.

 1
Author: Antti Koskinen, 2019-05-22 16:41:16

Здесь вы можете проверить, как добавить класс без ссылок в строку списка заказов woocommerce

Изначальный вопрос, заданный здесь https://github.com/woocommerce/woocommerce/issues/18704

Первоначальный вопрос, на который был задан ответ здесь https://github.com/woocommerce/woocommerce/pull/18708

 0
Author: Bhautik, 2019-09-30 07:18:35