Skip to content

Commit eeba2f7

Browse files
Render: Make registration optional, stop throwing a warning if rendering a field/element that isn't registered
1 parent ddc82a8 commit eeba2f7

5 files changed

Lines changed: 0 additions & 31 deletions

File tree

elements/index.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@
5757
) use($fields) : string {
5858

5959
if ( ! $field = $fields->get_element( $name ) ) {
60-
$caller = current( debug_backtrace() );
61-
trigger_error("Element {$name} is not registered, called from <b>{$caller['file']}</b> in <b>{$caller['line']}</b>. Permissions, storage, validation callbacks are inert.", E_USER_WARNING);
62-
6360
$fields->register_element( $name, $args );
6461
return $fields->render_element( $name );
6562
}

example/templates/registration/usage.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#### Description
22

3-
Registration is required if you render your field from `php`.
4-
53
To register a field, the `$fields->register_field()` function is used. It takes 2 arguments:
64
- The field name
75
- An array with the configuration of the field that can contain:
@@ -20,5 +18,3 @@ echo $fields->render_field('field-name');
2018
```
2119

2220
More information on the save/load configuration in the next page.
23-
24-

fields/index.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@
5757
) use($fields) : string {
5858

5959
if ( ! $field = $fields->get_field( $name ) ) {
60-
$caller = current( debug_backtrace() );
61-
trigger_error("Field {$name} is not registered, called from <b>{$caller['file']}</b> in <b>{$caller['line']}</b>. Permissions, storage, validation callbacks are inert.", E_USER_WARNING);
62-
6360
$fields->register_field( $name, $args );
6461
return $fields->render_field( $name );
6562
}

tests/phpunit/cases/elements/render.php

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,21 +59,10 @@ public function test_elements_render_enqueues_element() {
5959
}
6060

6161
public function test_elements_render_compat() {
62-
$errored = null;
63-
set_error_handler(function($errno, $errstr, ...$args) use (&$errored) {
64-
$errored = [$errno, $errstr, $args];
65-
restore_error_handler();
66-
});
67-
6862
$html = tangible_fields()->render_element('test', [
6963
'type' => 'button',
7064
]);
7165

72-
$this->assertNotNull($errored, 'calling render_element without register_element did not trigger a warning');
73-
[$errno, $errstr, $args] = $errored;
74-
75-
$this->assertEquals(E_USER_WARNING, $errno, 'calling render_element without register_element did not trigger an E_USER_WARNING');
76-
7766
preg_match('#tangible-element-test-[^"]+#', $html, $matches);
7867
[$element] = $matches;
7968

tests/phpunit/cases/fields/render.php

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,11 @@ public function test_fields_render_enqueues_field() {
3333
}
3434

3535
public function test_fields_render_compat() {
36-
$errored = null;
37-
set_error_handler(function($errno, $errstr, ...$args) use (&$errored) {
38-
$errored = [$errno, $errstr, $args];
39-
restore_error_handler();
40-
});
4136

4237
$html = tangible_fields()->render_field('test', [
4338
'type' => 'switch',
4439
]);
4540

46-
$this->assertNotNull($errored, 'calling render_field without register_field did not trigger a warning');
47-
[$errno, $errstr, $args] = $errored;
48-
49-
$this->assertEquals(E_USER_WARNING, $errno, 'calling render_field without register_field did not trigger an E_USER_WARNING');
50-
5141
preg_match('#tangible-field-test-[^"]+#', $html, $matches);
5242
[$element] = $matches;
5343

0 commit comments

Comments
 (0)