首页 文章

如何根据Woocommerce / Wordpress中的订单元值对订单进行排序

提问于
浏览
1

我有一个Wordpress网站和Woocommerce安装在其中,我在管理员中显示订单以及从订购页面收集的一些额外值,并将其存储在与电子商务相关的其他表中 .

我们有基于WP post相关表中常见的列的排序工具,但我需要根据其他表中的字段对查询进行排序 .

怎么实现呢?任何帮助将不胜感激 .

1 回答

  • 1

    你需要做得更深入,你当然需要一些PHP知识来实现这一目标 . 在一个项目中,我必须开发类似的东西,我正在共享代码,但您需要根据您的要求进行编辑 .

    // this action brings up a dropdown select box over the posts list in the dashboard
    add_action('restrict_manage_posts','my_custom_restrict_manage_posts');
    
    function my_custom_restrict_manage_posts() {
    
        if( current_user_can('manage_options') ){
    
            global $typenow;
            global $wp_query;
            global $woocommerce;
    
            if ($typenow=='shop_order') {
    
                // here you create your own selectbbox
                // you can enqueue js using wc_enqueue_js()
    
            }
    
        }
    }
    
    function my_custom_orders_by_query( $vars ) {
        global $typenow, $wp_query;
    
        // check your filter that might come form the previous dropdown
        if ( $typenow == 'shop_order' && isset( $_GET['select_box_name'] )  ) {
    
            $meta_key = ''; // your meta key
    
            $vars['meta_key'] = ''; // your meta value that came from the query string
            // you might want this because that will show in the url of the page
    
            $vars['meta_key'] = ''; // set meta key in the query var
            $vars['meta_value'] = '';       // set meta value in the query var
        }
    
        return $vars;
    }
    
    add_filter( 'request', 'my_custom_orders_by_query' );
    

    此代码是最通用的代码 . 您需要自定义如何在 Headers 中设置下拉框以及键和值将如何反映在 request 过滤器中 .

    如果您需要更多帮助,请随时发表评论 .

相关问题