1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<?php /** * WooCommerce Product Block Editor */
namespace Automattic\WooCommerce\Admin\Features\ProductBlockEditor;
/** * Add tracks for the product block editor. */ class Tracks {
/** * Initialize the tracks. */ public function init() { add_filter( 'woocommerce_product_source', array( $this, 'add_product_source' ) ); }
/** * Check if a URL is a product editor page. * * @param string $url Url to check. * @return boolean */ protected function is_product_editor_page( $url ) { $query_string = wp_parse_url( wp_get_referer(), PHP_URL_QUERY ); parse_str( $query_string, $query );
if ( ! isset( $query['page'] ) || 'wc-admin' !== $query['page'] || ! isset( $query['path'] ) ) { return false; }
$path_pieces = explode( '/', $query['path'] ); $route = $path_pieces[1];
return 'add-product' === $route || 'product' === $route; }
/** * Update the product source if we're on the product editor page. * * @param string $source Source of product. * @return string */ public function add_product_source( $source ) { if ( $this->is_product_editor_page( wp_get_referer() ) ) { return 'product-block-editor-v1'; }
return $source; }
}
|