PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.24
Advanced Ads – Ad Manager & AdSense v2.0.24
2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / includes / compatibility / class-admin-compatibility.php
advanced-ads / includes / compatibility Last commit date
class-aawp-ad.php 1 week ago class-aawp.php 1 year ago class-admin-compatibility.php 1 week ago class-capability-manager.php 1 year ago class-compatibility.php 1 week ago class-inline-js.php 1 year ago class-peepso-ad.php 1 week ago class-peepso.php 1 week ago
class-admin-compatibility.php
127 lines
1 <?php
2 /**
3 * This class is responsible for fixing compatibility issues in admin area.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.48.2
8 */
9
10 namespace AdvancedAds\Compatibility;
11
12 use AdvancedAds\Constants;
13 use AdvancedAds\Utilities\Conditional;
14 use AdvancedAds\Framework\Interfaces\Integration_Interface;
15
16 defined( 'ABSPATH' ) || exit;
17
18 /**
19 * Admin Compatibility.
20 */
21 class Admin_Compatibility implements Integration_Interface {
22
23 /**
24 * Hook into WordPress.
25 *
26 * @return void
27 */
28 public function hooks(): void {
29 add_action( 'admin_enqueue_scripts', [ $this, 'dequeue_jnews_style' ], 100 );
30 add_action( 'quads_meta_box_post_types', [ $this, 'fix_wpquadspro_issue' ], 11 );
31 add_filter( 'wpml_admin_language_switcher_active_languages', [ $this, 'wpml_language_switcher' ] );
32
33 // Hide from WPML translation settings.
34 if ( defined( 'ICL_SITEPRESS_VERSION' ) ) {
35 add_filter( 'get_translatable_documents', [ $this, 'wpml_hide_from_translation' ], 10, 1 );
36 }
37
38 add_filter( 'admin_body_class', [ $this, 'add_advads_admin_body_class_wp7' ] );
39 }
40
41 /**
42 * Adds a new class to admin body to fix CSS on version 7.0+
43 *
44 * @param string $classes Space-separated string of admin body classes.
45 *
46 * @return string
47 */
48 public function add_advads_admin_body_class_wp7( ?string $classes ): string {
49 global $wp_version;
50
51 // Catch null values passed by 3rd party plugins to prevent TypeError on return.
52 $classes = $classes ?? '';
53
54 // Check if WordPress version is 7.0 or greater.
55 if ( version_compare( $wp_version, '7.0-alpha', '>=' ) && Conditional::is_screen_advanced_ads() ) {
56 $classes .= ' advads-wp-7-plus';
57 }
58
59 return $classes;
60 }
61
62 /**
63 * Fixes a WP QUADS PRO compatibility issue
64 * they inject their ad optimization meta box into our ad page, even though it is not a public post type
65 * using they filter, we remove AA from the list of post types they inject this box into
66 *
67 * @param array $allowed_post_types Array of allowed post types.
68 *
69 * @return array
70 */
71 public function fix_wpquadspro_issue( $allowed_post_types ): array {
72 unset( $allowed_post_types['advanced_ads'] );
73
74 return $allowed_post_types;
75 }
76
77 /**
78 * Dequeue J-NEWS styles to prevent layout issues.
79 *
80 * @return void
81 */
82 public function dequeue_jnews_style(): void {
83 if ( ! Conditional::is_screen_advanced_ads() || ! defined( 'JNEWS_THEME_URL' ) ) {
84 return;
85 }
86
87 wp_dequeue_style( 'jnews-admin' );
88 }
89
90 /**
91 * Show only all languages in language switcher on Advanced Ads pages if ads and groups are translated
92 *
93 * @param array $active_languages languages that can be used in language switcher.
94 *
95 * @return array
96 */
97 public function wpml_language_switcher( $active_languages ): array {
98 global $sitepress;
99
100 $screen = get_current_screen();
101
102 // If ad post type is translatable.
103 if ( isset( $screen->id ) && in_array( $screen->id, [ 'edit-advanced_ads', 'advanced_ads' ], true ) ) {
104 $translatable_documents = $sitepress->get_translatable_documents();
105 if ( empty( $translatable_documents['advanced_ads'] ) ) {
106 return [];
107 }
108 }
109
110 return $active_languages;
111 }
112
113 /**
114 * Hide post type from WPML translatable documents.
115 *
116 * @param array $documents Array of translatable documents.
117 *
118 * @return array Modified array.
119 */
120 public function wpml_hide_from_translation( $documents ): array {
121 if ( isset( $documents[ Constants::POST_TYPE_PLACEMENT ] ) ) {
122 unset( $documents[ Constants::POST_TYPE_PLACEMENT ] );
123 }
124 return $documents;
125 }
126 }
127