PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.3
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.3
28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 19.1 All 128 releases
wordpress-seo / admin / menu / class-replacevar-field.php

class-replacevar-field.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.3, at admin/menu/class-replacevar-field.php

89 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Admin\Menu
6 */
7
8 /**
9 * Renders a single replacement variable field.
10 */
11 class WPSEO_Replacevar_Field {
12
13 /**
14 * Forms instance.
15 *
16 * @var Yoast_Form Yoast
17 */
18 private $yform;
19
20 /**
21 * The id for the hidden field.
22 *
23 * @var string
24 */
25 private $field_id;
26
27 /**
28 * The label for the field.
29 *
30 * @var string
31 */
32 private $label;
33
34 /**
35 * The page type for the context of the recommended replace vars.
36 *
37 * @var string
38 */
39 private $page_type_recommended;
40
41 /**
42 * The page type for the context of the editor specific replace vars.
43 *
44 * @var string
45 */
46 private $page_type_specific;
47
48 /**
49 * Constructs the object.
50 *
51 * @param Yoast_Form $yform Yoast forms.
52 * @param string $field_id The field id.
53 * @param string $label The field label.
54 * @param string $page_type_recommended The page type for the context of the recommended replace vars.
55 * @param string $page_type_specific The page type for the context of the editor specific replace vars.
56 */
57 public function __construct( Yoast_Form $yform, $field_id, $label, $page_type_recommended, $page_type_specific ) {
58 $this->yform = $yform;
59 $this->field_id = $field_id;
60 $this->label = $label;
61 $this->page_type_recommended = $page_type_recommended;
62 $this->page_type_specific = $page_type_specific;
63 }
64
65 /**
66 * Renders a div for the react application to mount to, and hidden inputs where
67 * the app should store it's value so they will be properly saved when the form
68 * is submitted.
69 *
70 * @return void
71 */
72 public function render() {
73 $this->yform->hidden( $this->field_id, $this->field_id );
74
75 printf(
76 '<div
77 data-react-replacevar-field
78 data-react-replacevar-field-id="%1$s"
79 data-react-replacevar-field-label="%2$s"
80 data-react-replacevar-page-type-recommended="%3$s"
81 data-react-replacevar-page-type-specific="%4$s"></div>',
82 esc_attr( $this->field_id ),
83 esc_attr( $this->label ),
84 esc_attr( $this->page_type_recommended ),
85 esc_attr( $this->page_type_specific ),
86 );
87 }
88 }
89