PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.4.1
Admin Columns v4.4.1
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / ThirdParty / WPML.php
codepress-admin-columns / classes / ThirdParty Last commit date
ACF.php 4 years ago NinjaForms.php 4 years ago WPML.php 4 years ago WPMLColumn.php 4 years ago WooCommerce.php 4 years ago
WPML.php
85 lines
1 <?php
2
3 namespace AC\ThirdParty;
4
5 use AC\ListScreenRepository\Storage;
6 use AC\Registrable;
7
8 /**
9 * WPML compatibility
10 */
11 class WPML implements Registrable {
12
13 /**
14 * @var Storage
15 */
16 private $storage;
17
18 /**
19 * @param Storage $storage
20 */
21 public function __construct( Storage $storage ) {
22 $this->storage = $storage;
23 }
24
25 function register() {
26
27 // display correct flags on the overview screens
28 add_action( 'ac/table/list_screen', [ $this, 'replace_flags' ] );
29
30 // enable the translation of the column labels
31 add_action( 'ac/list_screens', [ $this, 'register_column_labels' ], 300 );
32
33 // enable the WPML translation of column headings
34 add_filter( 'ac/headings/label', [ $this, 'register_translated_label' ], 100 );
35 }
36
37 public function replace_flags() {
38 if ( ! class_exists( 'SitePress', false ) ) {
39 return;
40 }
41
42 $settings = get_option( 'icl_sitepress_settings' );
43
44 if ( ! isset( $settings['custom_posts_sync_option'] ) ) {
45 return;
46 }
47 $post_types = (array) $settings['custom_posts_sync_option'];
48 $post_types['post'] = 1;
49 $post_types['page'] = 1;
50 foreach ( $post_types as $post_type => $value ) {
51 if ( $value ) {
52 new WPMLColumn( $post_type );
53 }
54 }
55 }
56
57 // Create translatable column labels
58 public function register_column_labels() {
59 // don't load this unless required by WPML
60 if ( ! isset( $_GET['page'] ) || 'wpml-string-translation/menu/string-translation.php' !== $_GET['page'] ) {
61 return;
62 }
63
64 foreach ( $this->storage->find_all() as $list_screen ) {
65 foreach ( $list_screen->get_columns() as $column ) {
66 do_action( 'wpml_register_single_string', 'Admin Columns', $column->get_custom_label(), $column->get_custom_label() );
67 }
68 }
69
70 }
71
72 /**
73 * @param string $label
74 *
75 * @return string
76 */
77 public function register_translated_label( $label ) {
78 if ( defined( 'ICL_LANGUAGE_CODE' ) ) {
79 $label = apply_filters( 'wpml_translate_single_string', $label, 'Admin Columns', $label, ICL_LANGUAGE_CODE );
80 }
81
82 return $label;
83 }
84
85 }