Title: Make plugin language aware
Last modified: September 5, 2018

---

# Make plugin language aware

 *  [anou](https://wordpress.org/support/users/anou/)
 * (@anou)
 * [7 years, 8 months ago](https://wordpress.org/support/topic/make-plugin-language-aware/)
 * Hello,
 * I have made a patch to make your plugin language (WPML) aware. What I did is 
   adding the option to select in which languages the popup will appear.
 * It is maybe not perfect but it’s a start. I cannot attach a file here so I’va
   copied and paste my patch below:
 *     ```
       From 692892927647731fd4d56fa1af4c2e7a9d3dcd05 Mon Sep 17 00:00:00 2001
       From: anou
       Date: Wed, 5 Sep 2018 12:17:36 +0200
       Subject: [PATCH] Patch exit popup plugin to be WPML language aware
   
       ---
        app/wp-content/plugins/exit-popup/exit-popup.php | 32 +++++++++++++++++++++---
        1 file changed, 29 insertions(+), 3 deletions(-)
   
       diff --git a/app/wp-content/plugins/exit-popup/exit-popup.php b/app/wp-content/plugins/exit-popup/exit-popup.php
       index 45fd71a..a1d2bc1 100644
       --- a/app/wp-content/plugins/exit-popup/exit-popup.php
       +++ b/app/wp-content/plugins/exit-popup/exit-popup.php
       @@ -103,6 +103,20 @@ function exit_popup_settings_page() { ?>
        				</small>
        			</td>
        		</tr>
       +
       +    <?php if( array_key_exists( 'wpml_object_id' , $GLOBALS['wp_filter']) ): // check for WPML ?>
       +      <tr valign="top">
       +        <th scope="row"><?php _e('Enabled language','exitpp');?></th>
       +        <td>
       +          <?php $languages = apply_filters( 'wpml_active_languages', NULL, 'orderby=id&order=desc' );
       +                $enabled_languages = get_option('exit_popup_languages');
       +          foreach ($languages as $key => $value) : ?>
       +            <label style="padding-right: 15px;"><input type="checkbox" name="exit_popup_languages[<?php echo $key;?>]" value="<?php echo $key; ?>" <?php checked( $key, $enabled_languages[$key], true); ?> />&nbsp;<?php echo $value['native_name']; ?></label>
       +          <?php endforeach; ?>
       +        </td>
       +      </tr>
       +    <?php endif; ?>
       +
        		<tr valign="top">
        			<th scope="row"><label for="exit_popup_powered_by">Show 'Powered by' Link</label></th>
        			<td>
       @@ -127,6 +141,7 @@ function exit_popup_settings() {
        	register_setting( 'exit-popup-settings', 'exit_popup_popup_title' );
        	register_setting( 'exit-popup-settings', 'exit_popup_popup_body' );
        	register_setting( 'exit-popup-settings', 'exit_popup_popup_footer' );
       +  register_setting( 'exit-popup-settings', 'exit_popup_languages' );
        	register_setting( 'exit-popup-settings', 'exit_popup_powered_by' );
        }
        add_action( 'admin_init', 'exit_popup_settings' );
       @@ -140,6 +155,7 @@ function exit_popup_deactivation() {
            delete_option( 'exit_popup_popup_title' );
            delete_option( 'exit_popup_popup_body' );
            delete_option( 'exit_popup_popup_footer' );
       +    delete_option( 'exit_popup_languages' );
            delete_option( 'exit_popup_powered_by' );
        }
        register_deactivation_hook( __FILE__, 'exit_popup_deactivation' );
       @@ -153,9 +169,19 @@ function exit_popup_dependencies() {
        add_action( 'wp_enqueue_scripts', 'exit_popup_dependencies' );
   
        function exit_popup() {
       -	
       -	if(!isset($_COOKIE['viewedExitPopupWP']) && $_COOKIE['viewedExitPopupWP'] != 'true') {
       -		
       +  // Check for language
       +  $epp_lg = get_option('exit_popup_languages');
       +  $check_lg = false;
       +  if( array_key_exists( 'wpml_object_id' , $GLOBALS['wp_filter']) ) {
       +    $current_lg = ICL_LANGUAGE_CODE;
       +    if( in_array($current_lg, $epp_lg) ) $check_lg = true;
       +  }
       +  else {
       +    $check_lg = true;
       +  }
       +
       +	if($check_lg && !isset($_COOKIE['viewedExitPopupWP']) && $_COOKIE['viewedExitPopupWP'] != 'true') {
       +
        	if(esc_attr( get_option('exit_popup_click_outside') ) == "true") {
        		$exit_popup_click_outside = "";
        	} else {
       -- 
       2.10.1
       ```
   

The topic ‘Make plugin language aware’ is closed to new replies.

 * ![](https://ps.w.org/exit-popup/assets/icon-128x128.png?rev=1443992)
 * [Exit Popup](https://wordpress.org/plugins/exit-popup/)
 * [Support Threads](https://wordpress.org/support/plugin/exit-popup/)
 * [Active Topics](https://wordpress.org/support/plugin/exit-popup/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/exit-popup/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/exit-popup/reviews/)

## Tags

 * [i18n](https://wordpress.org/support/topic-tag/i18n/)

 * 0 replies
 * 1 participant
 * Last reply from: [anou](https://wordpress.org/support/users/anou/)
 * Last activity: [7 years, 8 months ago](https://wordpress.org/support/topic/make-plugin-language-aware/)
 * Status: not a support question