Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/wp-rocket/inc/Engine/Common/Head/ElementTrait.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + declare(strict_types=1);
3 + namespace WP_Rocket\Engine\Common\Head;
4 +
5 + /**
6 + * Element trait.
7 + */
8 + trait ElementTrait {
9 + /**
10 + * Preload link.
11 + *
12 + * @param array $args Element args.
13 + * @return array|string[]
14 + */
15 + protected function preload_link( array $args = [] ) {
16 + $args['rel'] = 'preload';
17 + $args[] = 'data-rocket-preload';
18 + return $this->link( $args );
19 + }
20 +
21 + /**
22 + * Preconnect link.
23 + *
24 + * @param array $args Element args.
25 + * @return array|string[]
26 + */
27 + protected function preconnect_link( array $args = [] ) {
28 + $args['rel'] = 'preconnect';
29 + return $this->link( $args );
30 + }
31 +
32 + /**
33 + * Dns_prefetch link.
34 + *
35 + * @param array $args Element args.
36 + * @return array|string[]
37 + */
38 + protected function dns_prefetch_link( array $args = [] ) {
39 + $args['rel'] = 'dns-prefetch';
40 + return $this->link( $args );
41 + }
42 +
43 + /**
44 + * Prefetch link.
45 + *
46 + * @param array $args Element args.
47 + * @return array|string[]
48 + */
49 + protected function prefetch_link( array $args = [] ) {
50 + $args['rel'] = 'prefetch';
51 + return $this->link( $args );
52 + }
53 +
54 + /**
55 + * Prerender link.
56 + *
57 + * @param array $args Element args.
58 + * @return array|string[]
59 + */
60 + protected function prerender_link( array $args = [] ) {
61 + $args['rel'] = 'prerender';
62 + return $this->link( $args );
63 + }
64 +
65 + /**
66 + * Stylesheet link.
67 + *
68 + * @param array $args Element args.
69 + * @return array|string[]
70 + */
71 + protected function stylesheet_link( array $args = [] ) {
72 + $args['rel'] = 'stylesheet';
73 + return $this->link( $args );
74 + }
75 +
76 + /**
77 + * Style tag.
78 + *
79 + * @param string $css CSS content.
80 + * @param array $args Element args.
81 + * @return array|string[]
82 + */
83 + protected function style_tag( string $css = '', array $args = [] ) {
84 + $element = [
85 + 'open_tag' => '<style',
86 + ];
87 + $element += wp_parse_args(
88 + $args,
89 + [
90 + 'inner_content' => $css,
91 + ]
92 + );
93 + $element['close_tag'] = '</style>';
94 +
95 + return $element;
96 + }
97 +
98 + /**
99 + * Noscript tag.
100 + *
101 + * @param string $content Element contents.
102 + * @param array $args Element args.
103 + * @return array|string[]
104 + */
105 + protected function noscript_tag( string $content = '', array $args = [] ) {
106 + $element = [
107 + 'open_tag' => '<noscript',
108 + ];
109 + $element += wp_parse_args(
110 + $args,
111 + [
112 + 'inner_content' => $content,
113 + ]
114 + );
115 + $element['close_tag'] = '</noscript>';
116 +
117 + return $element;
118 + }
119 +
120 + /**
121 + * Generic link tag.
122 + *
123 + * @param array $args Element args.
124 + * @return array|string[]
125 + */
126 + private function link( array $args = [] ) {
127 + $element = [
128 + 'open_tag' => '<link',
129 + ];
130 + $element += wp_parse_args(
131 + $args,
132 + [
133 + 'href' => '',
134 + ]
135 + );
136 +
137 + return $element;
138 + }
139 + }
140 +