: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* Abstract for settings upgrade
* @copyright Copyright (c) 2023, Code Atlantic LLC
if ( ! defined( 'ABSPATH' ) ) {
* Implements a batch processor for updating settings after new version.
* @see PUM_Abstract_Upgrade
abstract class PUM_Abstract_Upgrade_Settings extends PUM_Abstract_Upgrade {
* Executes a single step in the batch process.
* @return int|string|WP_Error Next step number, 'done', or a WP_Error object.
public function process_step() {
// Allows sending a start & success message separately.
$settings = pum_get_options();
$this->process_settings( $settings );
* Retrieves a message for the given code.
* @param string $code Message code.
* @return string Message.
public function get_message( $code ) {
$message = sprintf( __( 'Updating settings for v%s compatibility.', 'popup-maker' ), '1.7' );
$message = __( 'Settings updated successfully.', 'popup-maker' );
* Process needed upgrades on Popup Maker settings
* You need to handle saving!!!
abstract public function process_settings( $settings = [] );