: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* File with the class to handle data from WooThemes SEO.
* @package WPSEO\Admin\Import\Plugins
* Class WPSEO_Import_WooThemes_SEO
* Class with functionality to import & clean WooThemes SEO post metadata.
class WPSEO_Import_WooThemes_SEO extends WPSEO_Plugin_Importer {
protected $plugin_name = 'WooThemes SEO';
* Meta key, used in SQL LIKE clause for delete query.
protected $meta_key = 'seo_title';
* Array of meta keys to detect and import.
protected $clone_keys = [
'old_key' => 'seo_description',
'old_key' => 'seo_title',
'old_key' => 'seo_noindex',
'new_key' => 'meta-robots-noindex',
'old_key' => 'seo_follow',
'new_key' => 'meta-robots-nofollow',
* Holds the meta fields we can delete after import.
protected $cleanup_metas = [
* Holds the options we can delete after import.
protected $cleanup_options = [
'seo_woo_archive_layout',
'seo_woo_meta_single_desc',
'seo_woo_meta_single_key',
* Cleans up the WooThemes SEO settings.
* @return bool Cleanup status.
protected function cleanup() {
$result = $this->cleanup_meta();
$this->cleanup_options();
* Removes the Woo Options from the database.
private function cleanup_options() {
foreach ( $this->cleanup_options as $option ) {
delete_option( $option );
* Removes the post meta fields from the database.
* @return bool Cleanup status.
private function cleanup_meta() {
foreach ( $this->cleanup_metas as $key ) {
$result = $this->cleanup_meta_key( $key );
* Removes a single meta field from the postmeta table in the database.
* @param string $key The meta_key to delete.
* @return bool Cleanup status.
private function cleanup_meta_key( $key ) {
"DELETE FROM {$wpdb->postmeta} WHERE meta_key = %s",
return $wpdb->__get( 'result' );