是否删除WooCommerce Admin中的订单列表行链接?

时间:2019-05-21 作者:Peter Westerlund

我想删除的功能,当您在管理中单击订单中的订单行时,您将被发送到该订单的编辑页面。

我知道它在WooCommerce插件的js文件中添加了jQuery。我已找到实际代码:

/**
 * 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 是否为列表中的列初始化?我该怎么做?我找不到任何关于如何做到这一点的方法。

2 个回复
最合适的回答,由SO网友:Antti Koskinen 整理而成

基于class-wc-admin-list-table-orders.php (order column on line 173) 似乎没有用于更改标记的筛选器。

为了避免这种情况,您可以添加一个js/jQuery脚本admin_footer 或与admin_enqueue_scripts, 它可以添加必要的类、删除href或将其更改为#,或使用一些event delegation wizardry 有你自己的click 首先发生火灾,防止WCOrdersTable window.location 防止发生。

SO网友:Bhautik

您可以在此处查看如何将无链接类添加到woocommerce订单列表行

此处询问原始问题https://github.com/woocommerce/woocommerce/issues/18704

原始问题在此处询问答案https://github.com/woocommerce/woocommerce/pull/18708

相关推荐

List pages by custom field?

出于SEO目的,我使用的URL如下:地点com/父/子/目前我有如下页面:地点com/父级/地点com/第1页/地点com/第2页/地点com/第3页/我想列出some 网站上的第1页、第2页等页面。com/parent/I认为最好的方法是在这些字段中添加一个自定义字段。那么,有没有更好的方法来做到这一点?如果没有,如何根据自定义字段列出页面?