alleyinteractive / alleyinteractive/wordpress-fieldmanager

Default value is ignored with term datasource and `only_save_to_taxonomy`

Offen
#711 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug scope:datasource scope:field
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

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.