Skip to content

Instantly share code, notes, and snippets.

  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save danieliser/07e71479187150721afec430ae8c9775 to your computer and use it in GitHub Desktop.
Custom function to pass in a jQuery script to set a cookie via manual JS during 'on_click' trigger event and on form close.
@Samuroid
Copy link

Hi

I am having issues with this. I have followed the popupmaker documentations with the same code but to no avail.

I have 2 images in my popup that are language flags. On clicking them, they link to the website's url for that language.

I have set the class in both a tags elements and tried it in the img tags. When clicking the image it loads the page but the popup shows again.

Anything you think I might be missing?

@danieliser
Copy link
Author

@Samuroid
Copy link

@Samuroid - Try this newer method which provides more control: https://github.com/PopupMaker/Popup-Maker/wiki/Popup-Maker-JavaScript-&-jQuery-API#pumsetcookie-function-el-settings

Thank you. I have it working now. With my implementation of using the user select a language from the banner. I have thought of a bit of a stumbling block.
If they come to the site from google search and it's not the homepage. Then when they select the language flag, it's taking them to the homepage, which would not be the page they had been initially looking for. I do have the WPLM plugin to deal with translation but now I'll need to work out a solution for providing current URL of the page they entered the website on.

@danieliser
Copy link
Author

@Samuroid - Doesn't WPML have a language switcher shortcode? It uses cookies & URL's to save state already and changes the current URL. Could that not do the trick?

Alternatively, you will have to remap the URL to the new language when they choose it via JavaScript string manipulations before redirecting.

@strarsis
Copy link

strarsis commented Dec 8, 2022

With current Popup Maker plugin I had to use this:

const popupElement = document.querySelector('#pum-<id> or .pum class');
PUM.setCookie(popupElement);
// (or window.PUM)

@danieliser
Copy link
Author

@strarsis the the popupElement you pass in gets passed to PUM.getPopup(). That is a magic function of sorts and will accept an element, a numeric ID #, or a selector. So you could probably shortcut and just do PUM.setCookie(<id>) similar to the example aboves PUM.close(1483)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment