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

时间:2014-07-13 13:28:13

标签: php wordpress wordpress-plugin woocommerce

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

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

如何实现呢? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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' );

此代码是最通用的代码。您需要自定义标题中设置下拉框的方式以及键和值在request过滤器中的反映方式。

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