PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.3
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.3
4.7.3 4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 All 93 releases
cookiebot / src / shortcode / Cookiebot_Declaration_Shortcode.php

Cookiebot_Declaration_Shortcode.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 4.7.3, at src/shortcode/Cookiebot_Declaration_Shortcode.php

59 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace cybot\cookiebot\shortcode;
4
5 use cybot\cookiebot\lib\Cookiebot_WP;
6 use InvalidArgumentException;
7 use function cybot\cookiebot\lib\cookiebot_get_language_from_setting;
8 use function cybot\cookiebot\lib\get_view_html;
9
10 class Cookiebot_Declaration_Shortcode {
11
12
13 public function register_hooks() {
14 add_shortcode( 'cookie_declaration', array( static::class, 'show_declaration' ) );
15 }
16
17 /**
18 * Cookiebot_WP Output declation shortcode [cookie_declaration]
19 * Support attribute lang="LANGUAGE_CODE". Eg. lang="en".
20 *
21 * @throws InvalidArgumentException
22 * @since 1.0.0
23 * @version 2.2.0
24 */
25 public static function show_declaration( $shortcode_attributes = array() ) {
26 $cbid = Cookiebot_WP::get_cbid();
27
28 if ( ! empty( $cbid ) ) {
29 $url = 'https://consent.cookiebot.com/' . $cbid . '/cd.js';
30 $shortcode_attributes = shortcode_atts(
31 array(
32 'lang' => cookiebot_get_language_from_setting(),
33 ),
34 $shortcode_attributes,
35 'cookie_declaration'
36 );
37
38 $lang = empty( $shortcode_attributes['lang'] ) ? '' : strtoupper( $shortcode_attributes['lang'] );
39
40 if ( ! is_multisite() || get_site_option( 'cookiebot-script-tag-cd-attribute', 'custom' ) === 'custom' ) {
41 $tag_attr = get_option( 'cookiebot-script-tag-cd-attribute', 'async' );
42 } else {
43 $tag_attr = get_site_option( 'cookiebot-script-tag-cd-attribute' );
44 }
45
46 return get_view_html(
47 'frontend/shortcodes/cookie-declaration.php',
48 array(
49 'url' => $url,
50 'lang' => $lang,
51 'tag_attr' => $tag_attr,
52 )
53 );
54 } else {
55 return esc_html__( 'Please add your Cookiebot ID to show Cookie Declarations', 'cookiebot' );
56 }
57 }
58 }
59