1

I'm having an issue with making a website GDPR ready. It is loading a javascript file for InstraGram that is setting a cookie.

I was able to locate where this file is loaded in the plug-in directory but I dont want to edit this file because after that I cant update anymore.

So I was able to dequeue the script so it wont be loaded.

After that I tried everything to load the file conditionaly after the page is loaded. So when you accept the Cookies then the script wil be loaded.

This is the if statement and last thing I tried:

<script type="text/javascript">
    function CookiebotCallback_OnAccept() {
        if (Cookiebot.consent.marketing)
        {
        $('head').append('<script type="text/javascript" src="/wp-content/plugins/instagram-feed/js/sb-instagram.min.js"><\/script>');
        };
}
</script>

But I am starting to wonder more and more whether it is possible to load afterwards?

Somebody has done something like this before?

3
  • It would depend on how the original JS was built. If it's set to trigger at a certain point that has already passed, nothing will happen. Regardless this is really a JS question, so you might be better off asking at stackoverflow.com Commented May 23, 2018 at 8:17
  • You should probably also raise this with the developer of the plugin, as something they might be able to address. Commented May 23, 2018 at 8:18
  • I'd hope whatever cookie plugin would handle this: add a new after-cookies-accepted scripts queue, generate your cookies accepted block themselves, and provide functions to move scripts over to that queue from the regular queue. Commented Apr 7, 2024 at 22:34

1 Answer 1

0

try now this code

<script type="text/javascript">
function CookiebotCallback_OnAccept() 
{
    if (Cookiebot.consent.marketing)
    {
        var script = document.createElement('script');
        script.src = "/wp-content/plugins/instagram-feed/js/sb-instagram.min.js";
        document.body.appendChild(script);
    }
}

2
  • Hello, thanks for you example. I tried this but nothing happens. For your reference, I'm placing this code in the footer.php of my child theme so maybe the path to the file is not correct? Commented May 23, 2018 at 9:31
  • put a full path such as "<?php echo get_site_url();?>/wp-content/plugins/instagram-feed/js/sb-instagram.min.js" Commented May 24, 2018 at 6:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.