PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
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 week 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