query orders by products woocommerce

189

/**
 * Get All orders IDs for a given product ID.
 *
 * @param  integer  $product_id (required)
 * @param  array    $order_status (optional) Default is 'wc-completed'
 *
 * @return array
 */
function get_orders_ids_by_product_id( $product_id, $order_status = array( 'wc-completed' ) ){
    global $wpdb;

    $results = $wpdb->get_col("
        SELECT order_items.order_id
        FROM {$wpdb->prefix}woocommerce_order_items as order_items
        LEFT JOIN {$wpdb->prefix}woocommerce_order_itemmeta as order_item_meta ON order_items.order_item_id = order_item_meta.order_item_id
        LEFT JOIN {$wpdb->posts} AS posts ON order_items.order_id = posts.ID
        WHERE posts.post_type = 'shop_order'
        AND posts.post_status IN ( '" . implode( "','", $order_status ) . "' )
        AND order_items.order_item_type = 'line_item'
        AND order_item_meta.meta_key = '_product_id'
        AND order_item_meta.meta_value = '$product_id'
    ");

    return $results;
}

Comments

Submit
0 Comments

More Questions

run typescript nodecheck if file exists bash tsc install command
create react project with typescriptgoogle fonts roboto Cant bind to formGroup since it isnt a known property of form
cannot find module typescripthow to run typescript file Warning: Cant perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
for loop typescript[email protected]: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. cannot be loaded because running scripts is disabled on this system
ts-node call function from command lineinstall typescript global how to install typescript in visual studio code
install typescript using npmhow to see all commits in git yarn create react app typescript
how to run typescriptbootstrap add angular command installing bootstrap in angular 9
angular date pipehow check is file exist linux File C:-Users-Tariqul-AppData-Roaming-npm-ng.ps1 cannot be loaded because running scripts is disabled on this system.
spade operator typescripthow to check whether file exists in python useref react typescript
mat datepicker pt-brhow to edit unity scripts in sublime text ex: javascript loop
HOW TO DROP ALL TABLES WITH THEIR CONSTRAINTS AT ONCE IN ORACLEgithub:Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15 in android democrats are pussies
Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16how to get all elements of column in pandas dataframe getserversideprops
cannot be loaded because running scripts is disabled on this system vscodeformControl Server Side rendering button routing in angular
find duplicate values in array object javascriptionic pasword visible inside ion-input get date list from date of range in react ts
UpdateTable operation with the GlobalSecondaryIndexUpdates parametertypescript Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client mysql insert exists update
loop an object properties in tsdefining component layout next ts react-native-vector-icons