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 / TMDashboard / Hooks.php
woocommerce-multilingual / classes / TMDashboard Last commit date
Hooks.php 1 month ago
Hooks.php
53 lines
1 <?php
2
3 namespace WCML\TMDashboard;
4
5 use WPML\LIB\WP\Hooks as WPHooks;
6
7 use function WPML\FP\spreadArgs;
8
9 class Hooks implements \IWPML_REST_Action {
10
11 public function add_hooks() {
12 WPHooks::onFilter( 'wpml_tm_dashboard_posts', 10, 2 )
13 ->then( spreadArgs( [ $this, 'addProductThumbnail' ] ) );
14
15 WPHooks::onFilter( 'wpml_tm_dashboard_item_sections_note' )
16 ->then( spreadArgs( [ $this, 'addFooterNoteToProductsBlock' ] ) );
17 }
18
19 public function addProductThumbnail( $posts, $searchCriteria ) {
20 if ( $searchCriteria['type'] !== 'product' ) {
21 return $posts;
22 }
23
24 $transformAddProductThumbnail = function ( array $post ) {
25 $postId = (int) $post['id'];
26
27 $post['image'] = $postId > 0 && has_post_thumbnail( $postId )
28 ? get_the_post_thumbnail_url( $postId, [ 150, 150 ] )
29 : wc_placeholder_img_src();
30
31 return $post;
32 };
33
34 return array_map( $transformAddProductThumbnail, $posts );
35 }
36
37 public function addFooterNoteToProductsBlock( array $itemSections ): array {
38 return array_map( function ( $itemSection ) {
39 if ( 'post/product' === $itemSection['id'] ) {
40 $itemSection['note'] = sprintf(
41 /* translators: %1$s and %2$s are opening and closing HTML link tags */
42 esc_html__( 'To translate product details, including their taxonomy, use this dashboard. If you need to translate taxonomy independently or adjust store and currency settings, visit: %1$sWPML Multilingual & Multicurrency for WooCommerce documentation%2$s.', 'woocommerce-multilingual' ),
43 sprintf( '<a href="%s" target="_blank">', \WCML_Tracking_Link::getWcmlMainDoc() ),
44 '</a>'
45 );
46 }
47
48 return $itemSection;
49
50 }, $itemSections );
51 }
52 }
53