我安装了一个Wordpress网站和Woocommerce,我在管理员中显示订单以及从订购页面收集的一些额外值,并将其存储在与电子商务相关的其他表格中。
我们有基于WP post相关表中常见列的排序工具,但我需要根据其他表中的字段对查询进行排序。
如何实现呢? 任何帮助将不胜感激。
答案 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
过滤器中的反映方式。
如果您需要更多帮助,请随时发表评论。