: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
namespace Yoast\WP\SEO\Integrations\Admin;
use Yoast\WP\SEO\Conditionals\No_Conditionals;
use Yoast\WP\SEO\Helpers\Options_Helper;
use Yoast\WP\SEO\Integrations\Cleanup_Integration;
use Yoast\WP\SEO\Integrations\Integration_Interface;
* This integration registers a run of the cleanup routine whenever the plugin is activated.
class Activation_Cleanup_Integration implements Integration_Interface {
* Activation_Cleanup_Integration constructor.
* @param Options_Helper $options_helper The options helper.
public function __construct(
Options_Helper $options_helper
$this->options_helper = $options_helper;
* Registers the action to register a cleanup routine run after the plugin is activated.
public function register_hooks() {
\add_action( 'wpseo_activate', [ $this, 'register_cleanup_routine' ], 11 );
* Registers a run of the cleanup routine if this has not happened yet.
public function register_cleanup_routine() {
$first_activated_on = $this->options_helper->get( 'first_activated_on', false );
if ( ! $first_activated_on || \time() > ( $first_activated_on + ( \MINUTE_IN_SECONDS * 5 ) ) ) {
if ( ! \wp_next_scheduled( Cleanup_Integration::START_HOOK ) ) {
\wp_schedule_single_event( ( \time() + \DAY_IN_SECONDS ), Cleanup_Integration::START_HOOK );