Skip to content

Commit d42fdee

Browse files
Merge pull request #733 from 10up/fix/732
Ensure both arguments passed to `merge_settings` are an `array`
2 parents fd8991c + 50eb0f1 commit d42fdee

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

includes/Classifai/Features/DescriptiveTextGenerator.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ public function get_alt_text_settings(): array {
313313

314314
if ( ! is_array( $settings['descriptive_text_fields'] ) ) {
315315
return array(
316-
'alt' => 'no' === $settings['descriptive_text_fields']['caption'] ? 0 : 'alt',
316+
'alt' => 'no' === $settings['descriptive_text_fields'] ? 0 : 'alt',
317317
'caption' => 0,
318318
'description' => 0,
319319
);

includes/Classifai/Features/Feature.php

+7-3
Original file line numberDiff line numberDiff line change
@@ -311,12 +311,12 @@ public function get_option_name(): string {
311311
* Returns the settings for the feature.
312312
*
313313
* @param string $index The index of the setting to return.
314-
* @return array|string
314+
* @return array|mixed
315315
*/
316316
public function get_settings( $index = false ) {
317317
$defaults = $this->get_default_settings();
318318
$settings = get_option( $this->get_option_name(), [] );
319-
$settings = $this->merge_settings( $settings, $defaults );
319+
$settings = $this->merge_settings( (array) $settings, (array) $defaults );
320320

321321
if ( $index && isset( $settings[ $index ] ) ) {
322322
return $settings[ $index ];
@@ -396,7 +396,11 @@ protected function merge_settings( array $settings = [], array $defaults = [] ):
396396
if ( ! isset( $settings[ $key ] ) ) {
397397
$settings[ $key ] = $defaults[ $key ];
398398
} elseif ( is_array( $value ) ) {
399-
$settings[ $key ] = $this->merge_settings( $settings[ $key ], $defaults[ $key ] );
399+
if ( is_array( $settings[ $key ] ) ) {
400+
$settings[ $key ] = $this->merge_settings( $settings[ $key ], $defaults[ $key ] );
401+
} else {
402+
$settings[ $key ] = $defaults[ $key ];
403+
}
400404
}
401405
}
402406

0 commit comments

Comments
 (0)