{"id":733,"date":"2021-01-29T16:00:01","date_gmt":"2021-01-29T15:00:01","guid":{"rendered":"https:\/\/devowl.io\/?post_type=knowledge-base&#038;p=733"},"modified":"2025-05-02T17:44:53","modified_gmt":"2025-05-02T15:44:53","slug":"real-cookie-banner-individuellen-content-blocker-erstellen","status":"publish","type":"knowledge-base","link":"https:\/\/devowl.io\/de\/knowledge-base\/real-cookie-banner-create-individual-content-blocker\/","title":{"rendered":"Wie erstelle ich einen individuellen Content Blocker?"},"content":{"rendered":"<section class=\"l-section wpb_row height_medium\"><div class=\"l-section-h i-cf\"><div class=\"g-cols vc_row via_flex valign_top type_default stacking_default\"><div class=\"vc_col-sm-12 wpb_column vc_column_container\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><div class=\"wpb_text_column\"><div class=\"wpb_wrapper\"><p>You use a WordPress plugin or service for which there is no content blocker template in Real Cookie Banner? You can always <a href=\"\/knowledge-base\/real-cookie-banner-request-new-cookie-template\/\" target=\"_blank\" rel=\"noopener\">request a new cookie and content blocker template for free<\/a>, and we will try to implement it for you in a reasonable time. Alternatively, you can always create a custom content blocker by yourself. This article shows you step by step how to find all the necessary information.<\/p>\n<\/div><\/div><div class=\"w-iconbox us_custom_8551abba iconpos_left style_outlined color_primary align_left no_title\"><div class=\"w-iconbox-icon\" style=\"font-size:18px;\"><i class=\"fas fa-info\"><\/i><\/div><div class=\"w-iconbox-meta\"><div class=\"w-iconbox-text\"><p>We must point out that the following statements do not constitute legal advice. Therefore, we can only give you evaluations from our intensive experience with the EU legal regulations in practice and a technical assessment of the situation.<\/p>\n<\/div><\/div><\/div><div class=\"wpb_text_column\"><div class=\"wpb_wrapper\"><h2>Where can I create a content blocker?<\/h2>\n<p>Go to your WordPress backend and there in the left sidebar by clicking on <em>Cookies<\/em> in the Real Cookie Banner settings. On this page you will find several tabs. One of them is called <em>Content Blocker<\/em> and is relevant for us. In the tab there is an &#8220;<em>Add content blocker<\/em>&#8221; button in the upper-right corner, which we can use to create a content blocker. In addition to the selection from content blocker templates, we find in this view at the top a &#8220;<em>Create from scratch<\/em>&#8221; button, with which we can create a content blocker.<\/p>\n<p>Please note that each content blocker requires one or multiple services. Once these services are accepted, the content is loaded (instead of the content blocker). Therefore, you should create all required services (with their cookies) before you create your individual content blocker. How to do that you can read in the article <a href=\"\/knowledge-base\/real-cookie-banner-create-individual-cookie\/\" target=\"_blank\" rel=\"noopener\"><em>How do I create an individual cookie (service)?<\/em><\/a>.<\/p>\n<\/div><\/div><div class=\"wpb_text_column\"><div class=\"wpb_wrapper\"><h2>What must be specified in a content blocker?<\/h2>\n<p>To create the content blocker, you will see a number of fields. Under each field you will find a description of what exactly needs to be entered in the field. Please read the description carefully to understand what you need to enter in which field. In the following, we will go into each field in more detail with examples.<\/p>\n<p>There are the following fields to fill:<\/p>\n<h3>Name<\/h3>\n<p>The name of the content blocker is displayed in the headline of a visible content blocker. It should clearly describe which service cannot be loaded so that your visitor can easily decide whether to agree to the cookie (service) to see the current content.<\/p>\n<p><strong>Example:<\/strong> YouTube<\/p>\n<\/div><\/div><div class=\"w-image us_custom_70facfb4 align_none\"><a ref=\"magnificPopup\" href=\"https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/name-of-content-blocker-in-title-of-content-blocker.png\" aria-label=\"Name of content blocker in title of content blocker\" class=\"w-image-h\"><img decoding=\"async\" width=\"890\" height=\"501\" src=\"https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/name-of-content-blocker-in-title-of-content-blocker-890x501.png\" class=\"attachment-large size-large\" alt=\"Name of content blocker in title of content blocker\" loading=\"lazy\" srcset=\"https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/name-of-content-blocker-in-title-of-content-blocker-890x501.png 890w, https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/name-of-content-blocker-in-title-of-content-blocker-326x183.png 326w, https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/name-of-content-blocker-in-title-of-content-blocker-16x9.png 16w, https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/name-of-content-blocker-in-title-of-content-blocker-652x367.png 652w, https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/name-of-content-blocker-in-title-of-content-blocker.png 1200w\" sizes=\"auto, (max-width: 890px) 100vw, 890px\" \/><\/a><\/div><div class=\"wpb_text_column\"><div class=\"wpb_wrapper\"><h3>Description<\/h3>\n<p>The description is a free text field in which you can give your visitors more information about what could not be loaded and for what reason. In particular with e.g. contact forms, this can be helpful to show the user the benefit of agreeing to load the service or to provide them with an email address as an alternative way to contact you.<\/p>\n<p><strong>Example:<\/strong> Video from YouTube has been blocked because you did not allow to load it.<\/p>\n<\/div><\/div><div class=\"w-image us_custom_70facfb4 align_none\"><a ref=\"magnificPopup\" href=\"https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/description-displayed-in-content-blocker.png\" aria-label=\"Description displayed in content blocker\" class=\"w-image-h\"><img decoding=\"async\" width=\"890\" height=\"501\" src=\"https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/description-displayed-in-content-blocker-890x501.png\" class=\"attachment-large size-large\" alt=\"Description displayed in content blocker\" loading=\"lazy\" srcset=\"https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/description-displayed-in-content-blocker-890x501.png 890w, https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/description-displayed-in-content-blocker-326x183.png 326w, https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/description-displayed-in-content-blocker-16x9.png 16w, https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/description-displayed-in-content-blocker-652x367.png 652w, https:\/\/devowl.io\/wp-content\/uploads\/knowledge-base\/description-displayed-in-content-blocker.png 1200w\" sizes=\"auto, (max-width: 890px) 100vw, 890px\" \/><\/a><\/div><div class=\"wpb_text_column\"><div class=\"wpb_wrapper\"><h3>URLs \/ Elements to block<\/h3>\n<p>The most important thing with a content blocker is to correctly specify which elements should be blocked. One rule per line must be specified according to the syntax explained below the input field. To help you understand how it works, we&#8217;ll apply these rules to some examples later.<\/p>\n<p>Below is a brief explanation of each of the syntax elements:<\/p>\n<ul>\n<li><code class=\"\" data-line=\"\">*<\/code>: With an asterisk you can express a wildcard (any character) within a string. You can use the wildcard both inside a string and before and after the string. For a URL, it is recommended to define e.g. only the hostname and a part of the path as fixed, but to define protocol as well as variables (at the end of the path) as wildcard arbitrary. Rules with or without wildcard are applied to all elements within the HTML that your WordPress generates.<\/li>\n<li><code class=\"\" data-line=\"\">div[id=&quot;my-embed-example&quot;]<\/code>: You can block HTML elements by their ID. <strong>You can apply the rule to any HTML element and attribute.<\/strong><\/li>\n<li><code class=\"\" data-line=\"\">p[class*=&quot;my-embed-example&quot;]<\/code>: Just like in the previous rule, you can block an HTML element by its class property. However, an HTML element can have multiple classes. With an asterisk after <code class=\"\" data-line=\"\">class<\/code> you can express a contains-condition, so that this class must be included, but also other classes can be specified for the element.<\/li>\n<li><code class=\"\" data-line=\"\">div[data-href^=&quot;https:\/\/example.com&quot;]<\/code>: The <code class=\"\" data-line=\"\">^=<\/code> selector matches every element whose attribute value begins with a specified value.<\/li>\n<li><code class=\"\" data-line=\"\">div[data-href$=&quot;.pdf&quot;]<\/code>: The <code class=\"\" data-line=\"\">$=<\/code> selector matches every element whose attribute value ends with a specified value.<\/li>\n<li><code class=\"\" data-line=\"\">div[data-gyp-href]<\/code>: This syntax matches all elements with a given attribute, regardless of the value.<\/li>\n<li><code class=\"\" data-line=\"\">div[href\/\/=&quot;^https:\\\/\\\/&quot;]<\/code>: The <code class=\"\" data-line=\"\">\/\/=<\/code> selector matches every element whose attribute value matches a regular expression (supported since v4.4.2).<\/li>\n<li><code class=\"\" data-line=\"\">div[class*=&quot;my-embed-example&quot;][data-gyp-href]<\/code>: With this syntax you can match all elements with two attribute conditions. You can concatenate attribute selectors indefinitely (since version 2.13.0)<\/li>\n<li><code class=\"\" data-line=\"\">div[data-href:myFunction(),anotherFunction(arg1=1&amp;arg2=2)]<\/code>: With this syntax an additional function can be called for matching (since version &gt; 3.4.3). See section &#8220;Selector syntax functions&#8221; for more information.<\/li>\n<li><code class=\"\" data-line=\"\">my-custom-web-component[id=&quot;my-embed-example&quot;]<\/code>: You can block not only native HTML elements, but also <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Web_components\" target=\"_blank\" rel=\"noopener\">Web Components<\/a>.<\/li>\n<li><code class=\"\" data-line=\"\">!*<\/code>: An exclamation mark in front of each rule negates it. This means that if a previous rule has blocked a resource, negating it will undo this (supported since v4.1.3).<\/li>\n<\/ul>\n<p>The rules are abstract, so we would like to give you a few examples of what is blocked in which case.<\/p>\n<h4>Blocking e.g. an iframe based on a URL<\/h4>\n<p>HTML code in your website:<\/p>\n<pre><code class=\"language-markup\" data-line=\"\">&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https:\/\/www.youtube.com\/embed\/XtLWonUXAmO&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;\/iframe&gt;<\/code><\/pre>\n<p>Rule for blocking: <code class=\"\" data-line=\"\">*youtube.com\/embed\/*<\/code><\/p>\n<h4>Blocking e.g. a script based on a URL<\/h4>\n<p>HTML code in your website:<\/p>\n<pre><code class=\"language-markup\" data-line=\"\">&lt;script async src=&quot;https:\/\/www.googletagmanager.com\/gtag\/js?id=UA-123456789-1&quot;&gt;\n&lt;\/script&gt;\n\n&lt;script&gt; window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag(&#039;js&#039;, new Date()); gtag(&#039;config&#039;, &#039;UA-123456789-1&#039;); &lt;\/script&gt;<\/code><\/pre>\n<p>Rules for blocking:<\/p>\n<p><code class=\"\" data-line=\"\">*googletagmanager.com\/gtag\/js?id=*<br \/>\n*window.dataLayer*<\/code><\/p>\n<p>Not only the external script (<code class=\"\" data-line=\"\">googletagmanager.com\/gtag\/js?id=<\/code>) is blocked based on the URL, <strong>but also the inline script<\/strong> (<code class=\"\" data-line=\"\">window.dataLayer<\/code>) based on the specified keyword.<\/p>\n<h4>Blocking an HTML element by its ID<\/h4>\n<p>HTML code in your website:<\/p>\n<pre><code class=\"language-markup\" data-line=\"\">&lt;div id=&quot;addtoany_list&quot; class=&quot;green&quot;&gt;\n   [...]\n&lt;\/div&gt;<\/code><\/pre>\n<p>Rule for blocking: <code class=\"\" data-line=\"\">div[id=&quot;addtoany_list&quot;]<\/code><\/p>\n<h4>Blocking an HTML element by its class name<\/h4>\n<p>HTML code in your website:<\/p>\n<pre><code class=\"language-markup\" data-line=\"\">&lt;div class=&quot;addtoany addtoany_share_save_container addtoany_widget&quot;&gt;\n   [...]\n&lt;\/div&gt;<\/code><\/pre>\n<p>Rule for blocking: <code class=\"\" data-line=\"\">div[class*=&quot;addtoany_share_save_container&quot;]<\/code><\/p>\n<h4>Blocking an HTML element by custom attribute<\/h4>\n<p>HTML code in your website:<\/p>\n<pre><code class=\"language-markup\" data-line=\"\">&lt;div data-youtube-embed=&quot;https:\/\/www.youtube.com\/embed\/XtLWonUXAmO&quot;&gt;\n   [...]\n&lt;\/div&gt;<\/code><\/pre>\n<p>Rule for blocking: <code class=\"\" data-line=\"\">div[data-youtube-embed*=&quot;youtube.com\/embed&quot;]<\/code><\/p>\n<h4>Blocking an HTML element by two custom attributes (since version 2.13.0)<\/h4>\n<p>HTML code in your website:<\/p>\n<pre><code class=\"language-markup\" data-line=\"\">&lt;div data-youtube-embed=&quot;https:\/\/www.youtube.com\/embed\/XtLWonUXAmO&quot; block-this=&quot;1&quot;&gt;\n   [...]\n&lt;\/div&gt;<\/code><\/pre>\n<p>Rule for blocking: <code class=\"\" data-line=\"\">div[data-youtube-embed*=&quot;youtube.com\/embed&quot;][block-this=&quot;1&quot;]<\/code><\/p>\n<h4>Blocking a script from a plugin<\/h4>\n<p>In some cases you want to block a plugin completely because it loads external data (e.g. Contact Form 7 with Google reCAPTCHA).<\/p>\n<p>HTML code in your website:<\/p>\n<pre><code class=\"language-markup\" data-line=\"\">&lt;script src=&quot;https:\/\/your-domain.com\/wp-content\/plugins\/contact-form-7\/js\/script.js&quot; \/&gt;<\/code><\/pre>\n<p>Rule for blocking: <code class=\"\" data-line=\"\">*wp-content\/plugins\/contact-form-7\/*<\/code><\/p>\n<h4>Blocking a link (explicitly)<\/h4>\n<p>You can block any element with a content blocker. However, by default, links (<code class=\"\" data-line=\"\">&lt;a&gt;<\/code> elements) are <strong>only<\/strong> blocked if you explicitly block the element as follows. Rules like blocking by URL (first example) are otherwise not applied to links to prevent the content blocker from over-blocking.<\/p>\n<pre><code class=\"language-markup\" data-line=\"\">&lt;a href=&quot;https:\/\/www.youtube.com\/watch?v=INJ_sS81ua8&quot;&gt;Watch with awesome video&lt;\/a&gt;<\/code><\/pre>\n<p>Rule for blocking: <code class=\"\" data-line=\"\">a[href*=&quot;youtube.com&quot;]<\/code><\/p>\n<h4>Selector syntax functions<\/h4>\n<p>Since Real Cookie Banner &gt; v3.4.3 it supports functions which can be applied on top of selector syntax attributes. This allows more flexibility to solve complex selector rules. The following <a href=\"https:\/\/docs.devowl.io\/real-cookie-banner\/php\/namespaces\/devowl-headlesscontentblocker-plugins-selectorsyntaxfunction.html\" target=\"_blank\" rel=\"noopener\">list of functions is currently implemented<\/a>:<\/p>\n<h5>matchesUrl()<\/h5>\n<ul>\n<li>Example\n<ul>\n<li><code class=\"\" data-line=\"\">div[data-href:matchesUrl()]<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Imagine you have created a Content Blocker with the following rules:<\/p>\n<pre>*youtube.com*\r\n*youtu.be*\r\ndiv[data-href*=\"youtube.com\"]\r\ndiv[data-href*=\"youtu.be\"]<\/pre>\n<p>Instead of writing two rules for the <code class=\"\" data-line=\"\">div<\/code> we can solve this with <code class=\"\" data-line=\"\">div[data-href:matchesUrl()]<\/code>. It automatically takes all non-selector-syntax rules of the Content Blocker and matches with <code class=\"\" data-line=\"\">data-href<\/code>:<\/p>\n<pre>*youtube.com*\r\n*youtu.be*\r\ndiv[data-href:matchesUrl()]<\/pre>\n<h5>keepAttributes() and confirm()<\/h5>\n<ul>\n<li>Example\n<ul>\n<li><code class=\"\" data-line=\"\">a[data-href*=&quot;youtube.com&quot;][class*=&quot;my-lightbox&quot;:keepAttributes(value=class),confirm()]<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Parameters (keepAttributes)\n<ul>\n<li><code class=\"\" data-line=\"\">value<\/code> (string): A comma-separated list of attributes which should not be converted to <code class=\"\" data-line=\"\">consent-original-...<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>In this example you can see two new selector syntax functions. Imagine you use a lightbox plugin that opens all links with a YouTube video in a lightbox. Of course, the click on the link should be blocked here, otherwise the YouTube video will embed itself on the page without consent.<\/p>\n<p>Firstly, <code class=\"\" data-line=\"\">keepAttributes<\/code> can be used to <strong>not<\/strong> block the class name, i.e. <code class=\"\" data-line=\"\">class=&quot;my-lightbox&quot;<\/code> will <strong>not<\/strong> be converted to <code class=\"\" data-line=\"\">consent-original-class_=&quot;my-lightbox&quot;<\/code>. This allows, for example, the lightbox implementation to initialize the lightbox for the respective YouTube videos. <code class=\"\" data-line=\"\">confirm()<\/code> goes the step further and blocks the click on the link until consent is obtained. If there is no consent, the content blocker is displayed in a dialog when clicked. If consent is given, the click is then automatically delegated to the Lightbox plugin and it opens the YouTube video.<\/p>\n<h5>delegateClick()<\/h5>\n<ul>\n<li>Example:\n<ul>\n<li><code class=\"\" data-line=\"\">a[data-href=&quot;youtube.com&quot;:delegateClick(selector=.overlay&amp;hide=true)]<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Parameters:\n<ul>\n<li><code class=\"\" data-line=\"\">selector=&quot;self&quot;<\/code>\u00a0(string): Can be &#8220;self&#8221; or a valid CSS selector which will be executed on the unblocked element and used for the click delegation<\/li>\n<li><code class=\"\" data-line=\"\">hide=false<\/code> (boolean): If true, the clicked element will be hidden<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Real Cookie Banner already tries to automatically forward the click to the right place for unblocked elements. However, this is technically not always possible, which is why there is the function with <code class=\"\" data-line=\"\">delegateClick()<\/code> to click a specific selector after unblocking a content.<\/p>\n<h5>forceVisual()<\/h5>\n<ul>\n<li>Example\n<ul>\n<li><code class=\"\" data-line=\"\">input[class*=&quot;my-hidden-input-field&quot;][type=&quot;hidden&quot;:forceVisual()]<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>When called for an attribute it will mark the individual node to force a visual content blocker. This is the same setting as we know from the &#8220;Force visual content blocker for hidden elements&#8221; for a whole content blocker. This can be useful for hidden elements like <code class=\"\" data-line=\"\">input[type=&quot;hidden&quot;]<\/code> which do usually not get a visual content blocker.<\/p>\n<h5>visualParent()<\/h5>\n<ul>\n<li>Example\n<ul>\n<li><code class=\"\" data-line=\"\">input[name=&quot;_wpcf7_recaptcha_response&quot;:visualParent(value=form)]<\/code><\/li>\n<\/ul>\n<\/li>\n<li><code class=\"\" data-line=\"\">value<\/code> (string|number|true)\n<ul>\n<li><code class=\"\" data-line=\"\">&quot;.my-selector&quot;<\/code>: This allows you to create the visual content blocker on a parent CSS selector<\/li>\n<li><code class=\"\" data-line=\"\">&quot;children:.my-selector&quot;<\/code>: This allows you to create the visual content blocker on a CSS selector target inside the blocked element<\/li>\n<li><code class=\"\" data-line=\"\">number<\/code>: This allows you to create the visual content blocker x elements upwards<\/li>\n<li><code class=\"\" data-line=\"\">true<\/code>: Uses the parent for rendering the visual content blocker (similar to &#8220;1&#8221;)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Real Cookie Banner always creates the visual content blocker in front of the element that was blocked. However, if you want to render the visual content blocker on a different layer of the DOM element relative to the blocked content, you can do this by defining a visual parent. A simple use case would be e.g. blocking a complete form (<code class=\"\" data-line=\"\">&lt;form<\/code>) if an input field for Google reCAPTCHA was found in it.<\/p>\n<h5>transformAttribute()<\/h5>\n<ul>\n<li>Example\n<ul>\n<li><code class=\"\" data-line=\"\">div[class=&quot;my-class&quot;:transformAttribute(name=data-id,target=my-data-id)]<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Parameters\n<ul>\n<li><code class=\"\" data-line=\"\">[name=current attribute]<\/code> (string): Name of the attribute which should be modified<\/li>\n<li><code class=\"\" data-line=\"\">[regexpMatch]<\/code> (string): Match the attribute value by regular expression<\/li>\n<li><code class=\"\" data-line=\"\">[regexpReplace]<\/code> (string): When given, use this new value (use e.g. <code class=\"\" data-line=\"\">$1<\/code> to match the first regexp group of <code class=\"\" data-line=\"\">regexpMatch<\/code>). When no <code class=\"\" data-line=\"\">regexpMatch<\/code> is given, it defaults to the whole value<\/li>\n<li><code class=\"\" data-line=\"\">[target]<\/code> (string): Put the value to this new attribute (does not work in conjunction with <code class=\"\" data-line=\"\">rename<\/code>)<\/li>\n<li><code class=\"\" data-line=\"\">[rename=&quot;new-attribute-name&quot;]<\/code> (string): Rename attribute instead of adding a new one<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h5>style()<\/h5>\n<ul>\n<li>Example\n<ul>\n<li><code class=\"\" data-line=\"\">div[class=&quot;my-div&quot;:style(this=display:block&amp;rule[]=&gt;.my-selector{display:table;width:100%;})]<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Parameters\n<ul>\n<li><code class=\"\" data-line=\"\">[this]<\/code> (string): CSS rules applied to the blocked element<\/li>\n<li><code class=\"\" data-line=\"\">[applyUnblocked=false]<\/code> (boolean): If true, the styles will still be applied after unblocking the element<\/li>\n<li><code class=\"\" data-line=\"\">[rules]<\/code> (string[]): An array of CSS selectors and rules relative to the blocked element<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The above example will result in the following CSS which modifies the style of the blocked element:<\/p>\n<pre>&lt;style&gt;\r\n.my-div{display:block;}\r\n.my-div&gt;.selector{display:table;width:100%;}\r\n&lt;\/style&gt;<\/pre>\n<h5>jQueryHijackEach()<\/h5>\n<ul>\n<li>Example\n<ul>\n<li><code class=\"\" data-line=\"\">div[class=&quot;my-class&quot;:keepAttributes(value=class),jQueryHijackEach()]<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>When you use <code class=\"\" data-line=\"\">jQuery.each()<\/code> on a specific selector (in this case <code class=\"\" data-line=\"\">.my-class<\/code>), using <code class=\"\" data-line=\"\">jQueryHijackEach()<\/code> will &#8220;delay&#8221; the execution of the callback until consent is obtained.<\/p>\n<\/div><\/div><div class=\"wpb_text_column\"><div class=\"wpb_wrapper\"><h3>Connected cookies<\/h3>\n<p>Content is only blocked until your visitor gives consent. You have to define which <a href=\"https:\/\/devowl.io\/cookies\/definition-cookies\/\" target=\"_blank\" rel=\"noopener\">cookies<\/a> have to be accepted for the content blocker so that the content can be loaded. The content will only be loaded if <span style=\"text-decoration: underline;\">all<\/span> defined cookies (services) are accepted.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/section>\n","protected":false},"template":"","topic":[28],"class_list":["post-733","knowledge-base","type-knowledge-base","status-publish","hentry","topic-getting-started-rcb"],"acf":[],"_links":{"self":[{"href":"https:\/\/devowl.io\/de\/wp-json\/wp\/v2\/knowledge-base\/733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devowl.io\/de\/wp-json\/wp\/v2\/knowledge-base"}],"about":[{"href":"https:\/\/devowl.io\/de\/wp-json\/wp\/v2\/types\/knowledge-base"}],"version-history":[{"count":36,"href":"https:\/\/devowl.io\/de\/wp-json\/wp\/v2\/knowledge-base\/733\/revisions"}],"predecessor-version":[{"id":241832,"href":"https:\/\/devowl.io\/de\/wp-json\/wp\/v2\/knowledge-base\/733\/revisions\/241832"}],"wp:attachment":[{"href":"https:\/\/devowl.io\/de\/wp-json\/wp\/v2\/media?parent=733"}],"wp:term":[{"taxonomy":"topic","embeddable":true,"href":"https:\/\/devowl.io\/de\/wp-json\/wp\/v2\/topic?post=733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}