alleyinteractive / alleyinteractive/wordpress-fieldmanager
Default value is ignored with term datasource and `only_save_to_taxonomy`
- Vorherrschende Sprache
- PHP
- Sterne
- 563
- Forks
- 99
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
When a field uses a `Fieldmanager_Datasource_Term` with `'only_save_to_taxonomy' => true`, the field's `default_value` is ignored.
For example, in this field intended to replace the default category selection meta box, the first option in the `` element will always be selected when creating a post:
```php
'category',
'datasource' => new \Fieldmanager_Datasource_Term ( [
'taxonomy' => 'category',
'only_save_to_taxonomy' => true,
] ),
'default_value' => get_option( 'default_category' ),
] );
```
I think this happens because of logic in `Fieldmanager_Datasource_Term`.
A field's `default_value` is used only when the current value is `null`: https://github.com/alleyinteractive/wordpress-fieldmanager/blob/10080e822affeea0a71ec717746e153f9a4406ec/php/class-fieldmanager-field.php#L700-L702
However, when `only_save_to_taxonomy` is used, `Fieldmanager_Datasource_Term:: preload_alter_values()` will ensure the current value is an array: https://github.com/alleyinteractive/wordpress-fieldmanager/blob/10080e822affeea0a71ec717746e153f9a4406ec/php/datasource/class-fieldmanager-datasource-term.php#L141-L168.
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.