search_products( $term, '', (bool) $include_variations, false, $limit, $include_ids, $exclude_ids + $selected_ids ); $product_objects = array_filter( array_map( 'wc_get_product', $ids ), 'wc_products_array_filter_readable' ); $products = array(); foreach ( $product_objects as $product_object ) { $formatted_name = $product_object->get_formatted_name(); $managing_stock = $product_object->managing_stock(); if ( $managing_stock && ! empty( $_GET['display_stock'] ) ) { $stock_amount = $product_object->get_stock_quantity(); /* Translators: %d stock amount */ $formatted_name .= ' – ' . sprintf( esc_html__( 'Stock: %d', 'woocommerce' ), wc_format_stock_quantity_for_display( $stock_amount, $product_object ) ); } $products[ $product_object->get_id() ] = rawurldecode( $formatted_name ); } wp_send_json( apply_filters( 'woocommerce_json_search_found_products', $products ) ); } } public function enqueue_scripts() { $screen = get_current_screen(); $admin = include_once WOOCCM_PLUGIN_DIR . 'build/backend/js/index.asset.php'; wp_register_style( 'wooccm-admin-css', plugins_url( 'build/backend/css/style.css', WOOCCM_PLUGIN_FILE ), array(), WOOCCM_PLUGIN_VERSION, 'all' ); wp_register_script( 'jquery-serializejson', plugins_url( 'assets/backend/js/jquery-serializejson.min.js', WOOCCM_PLUGIN_FILE ), array( 'jquery' ), WOOCCM_PLUGIN_VERSION, true ); wp_register_script( 'wooccm-admin-js', plugins_url( 'build/backend/js/index.js', WOOCCM_PLUGIN_FILE ), $admin['dependencies'], $admin['version'], true ); if ( ( isset( $_GET['tab'] ) && WOOCCM_PREFIX === $_GET['tab'] ) || in_array( $screen->id, array( /* 'product', 'edit-product', */'shop_order', 'edit-shop_order', 'woocommerce_page_wc-orders' ) ) ) { wp_enqueue_style( 'wooccm-admin-css' ); wp_enqueue_script( 'wooccm-admin-js' ); wp_localize_script( 'wooccm-admin-js', 'wooccm_admin', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'wooccm_search_field' ), ) ); } } public function add_tab( $settings_tabs ) { $settings_tabs[ WOOCCM_PREFIX ] = esc_html__( 'Checkout', 'woocommerce-checkout-manager' ); return $settings_tabs; } public function add_menu_page() { add_submenu_page( 'woocommerce', esc_html__( 'Checkout', 'woocommerce-checkout-manager' ), esc_html__( 'Checkout', 'woocommerce-checkout-manager' ), 'manage_woocommerce', admin_url( 'admin.php?page=wc-settings&tab=' . sanitize_title( WOOCCM_PREFIX ) ) ); } }