PluginProbe
WP Directory Kit / 1.5.9
WP Directory Kit v1.5.9
1.5.9 1.5.7 1.5.6 1.5.5 1.5.4 1.5.3 trunk 1.1.0 1.1.6 1.1.8 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.8 All 37 releases
← All changes | application/views/fields_edit/SEO_INPUTBOX.php +53 -21 1.5.6 → 1.5.9 View file →
@@ -50,10 +50,14 @@
50 50 type="text" id="<?php echo esc_attr($field_id); ?>"
51 51 value="<?php echo esc_attr(!empty(wmvc_show_data($field_id, $db_data, $field->default)) ? wmvc_show_data($field_id, $db_data, $field->default) : $field->empty_default); ?>"
52 52 >
53 53 <span class="suffix"><?php
54 + // Dynamic field values are registered in the translation catalog separately.
55 + // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText
54 56 echo esc_html__($field->prefix, 'wpdirectorykit');
55 57 if(!empty($field->prefix) && !empty($field->suffix)) echo ' / ';
58 + // Dynamic field values are registered in the translation catalog separately.
59 + // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText
56 60 echo esc_html__($field->suffix, 'wpdirectorykit');
57 61 ?></span>
58 62 <?php if(!empty($field->hint)):?>
59 63 <p class="wdk-hint">
@@ -100,31 +104,59 @@
100 104
101 105 <script>
102 106 document.addEventListener('DOMContentLoaded', function() {
103 107 var input = document.getElementById('<?php echo esc_js($field_id); ?>');
104 - if (input) {
105 - var tribute = new Tribute({
106 - trigger: '{',
107 - values: [
108 - <?php
109 - $first = true;
110 - foreach($fields_list as $value => $key) {
111 - if(!$first) echo ",";
112 - ?>{ key: <?php echo json_encode($key); ?>, value: <?php echo json_encode($value); ?> }<?php
113 - $first = false;
114 - }
108 +
109 + if (!input) {
110 + return;
111 + }
112 +
113 + var tribute = new Tribute({
114 + trigger: '{',
115 +
116 + values: [
117 + <?php
118 + $first = true;
119 +
120 + foreach ($fields_list as $value => $key) {
121 + if (!$first) {
122 + echo ',';
123 + }
115 124 ?>
116 - ],
117 -
118 - // Insert with curly braces
119 - selectTemplate: function (item) {
120 - return '{' + item.original.value + '}';
121 - },
122 - menuItemTemplate: function (item) {
123 - return item.string; // show key
125 + {
126 + key: <?php echo json_encode($key); ?>,
127 + value: <?php echo json_encode($value); ?>
128 + }
129 + <?php
130 +
131 + $first = false;
124 132 }
125 - });
126 - tribute.attach(input);
133 + ?>
134 + ],
135 +
136 + // Insert with curly braces
137 + selectTemplate: function(item) {
138 + return '{' + item.original.value + '}';
139 + },
140 +
141 + // Show field name in dropdown
142 + menuItemTemplate: function(item) {
143 + return item.string;
144 + }
145 + });
146 +
147 + tribute.attach(input);
148 +
149 + function openTributeMenu() {
150 + if (!tribute.isActive) {
151 + tribute.showMenuForCollection(input, 0);
152 + }
127 153 }
154 +
155 + // Open on first focus
156 + input.addEventListener('focus', openTributeMenu);
157 +
158 + // Open again when user clicks inside already focused input
159 + input.addEventListener('click', openTributeMenu);
128 160 });
129 161 </script>
130 162