PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / classes / Rest / Hooks.php
woocommerce-multilingual / classes / Rest Last commit date
Exceptions 1 month ago Frontend 1 month ago Language 1 month ago Store 1 month ago Wrapper 1 month ago Functions.php 1 month ago Generic.php 1 month ago Hooks.php 2 years ago ProductSaveActions.php 1 month ago
Hooks.php
59 lines
1 <?php
2
3 namespace WCML\Rest;
4
5 use WCML\Rest\Wrapper\Factory;
6
7 class Hooks {
8
9 public static function addHooks() {
10
11 Generic::preventDefaultLangUrlRedirect();
12
13 add_action( 'rest_api_init', [ Language\Set::class, 'fromUrlQueryVar' ] );
14 add_filter( 'rest_request_before_callbacks', [ Language\Set::class, 'beforeCallbacks' ], 10, 3 );
15 add_action( 'parse_query', [ Generic::class, 'autoAdjustIncludedIds' ] );
16
17 foreach ( [ 'product', 'shop_order', 'product_variation' ] as $type ) {
18
19 $restObject = Factory::create( $type );
20
21 add_filter( "woocommerce_rest_{$type}_query", [ $restObject, 'query' ], 10, 2 );
22 add_filter( "woocommerce_rest_{$type}_object_query", [ $restObject, 'query' ], 10, 2 );
23 add_filter( "woocommerce_rest_prepare_{$type}_object", [ $restObject, 'prepare' ], 10, 3 );
24 add_action( "woocommerce_rest_insert_{$type}_object", [ $restObject, 'insert' ], 10, 3 );
25 }
26
27 $attributeTaxonomies = wc_get_attribute_taxonomy_names();
28
29 foreach ( array_merge( [ 'product_cat', 'product_tag', 'product_shipping_class' ], $attributeTaxonomies ) as $type ) {
30
31 $restObject = Factory::create( 'term' );
32
33 add_filter( "woocommerce_rest_{$type}_query", [ $restObject, 'query' ], 10, 2 );
34 add_filter( "woocommerce_rest_prepare_{$type}", [ $restObject, 'prepare' ], 10, 3 );
35 add_action( "woocommerce_rest_insert_{$type}", [ $restObject, 'insert' ], 10, 3 );
36 }
37
38 add_filter( 'woocommerce_rest_prepare_report_top_sellers', [ Factory::create( 'reports_top_seller' ), 'prepare' ], 10, 3 );
39 add_filter( 'woocommerce_rest_prepare_report_products_count', [ Factory::create( 'reports_products_count' ), 'prepare' ], 10, 3 );
40 add_filter( 'woocommerce_rest_prepare_report_sales', [ Factory::create( 'reports_products_sales' ), 'prepare' ], 10, 3 );
41 add_filter( 'woocommerce_rest_prepare_product_attribute', [ Factory::create( 'product_attribute' ), 'prepare' ], 10, 3 );
42
43 self::addHooksSpecificForV1();
44 }
45
46 private static function addHooksSpecificForV1() {
47
48 if ( 1 === Functions::getApiRequestVersion() ) {
49 add_filter( 'woocommerce_rest_prepare_product', [ Factory::create( 'product' ), 'prepare' ], 10, 3 );
50 add_action( 'woocommerce_rest_insert_product', [ Factory::create( 'product' ), 'insert' ], 10, 3 );
51 add_action( 'woocommerce_rest_update_product', [ Factory::create( 'product' ), 'insert' ], 10, 3 );
52
53 add_action( 'woocommerce_rest_insert_shop_order', [ Factory::create( 'shop_order' ), 'insert' ], 10, 3 );
54 add_filter( 'woocommerce_rest_prepare_shop_order', [ Factory::create( 'shop_order' ), 'prepare' ], 10, 3 );
55 }
56 }
57
58 }
59