From da67bd52ddd70654e3d5fe755043613eef81b887 Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Wed, 4 Mar 2026 11:49:21 +0100 Subject: [PATCH 1/2] Make filter callbacks private --- src/Media_Command.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Media_Command.php b/src/Media_Command.php index cee309be..92ac0db1 100644 --- a/src/Media_Command.php +++ b/src/Media_Command.php @@ -312,6 +312,12 @@ public function import( $args, $assoc_args = array() ) { $assoc_args['post_id'] = false; } + $destdir = Utils\get_flag_value( $assoc_args, 'destination-dir' ); + + $filter_upload_dir = function ( $uploads ) { + return $this->filter_upload_dir( $uploads ); + }; + $number = 0; $successes = 0; $errors = 0; @@ -424,10 +430,9 @@ public function import( $args, $assoc_args = array() ) { wp_update_attachment_metadata( $success, wp_generate_attachment_metadata( $success, $file ) ); } else { - $destdir = Utils\get_flag_value( $assoc_args, 'destination-dir' ); if ( ! empty( $destdir ) ) { $this->destination_dir = $destdir; - add_filter( 'upload_dir', [ $this, 'filter_upload_dir' ], PHP_INT_MAX ); + add_filter( 'upload_dir', $filter_upload_dir, PHP_INT_MAX ); } // Deletes the temporary file. @@ -487,7 +492,7 @@ public function import( $args, $assoc_args = array() ) { ++$successes; } - remove_filter( 'upload_dir', [ $this, 'filter_upload_dir' ], PHP_INT_MAX ); + remove_filter( 'upload_dir', $filter_upload_dir, PHP_INT_MAX ); // Report the result of the operation if ( ! Utils\get_flag_value( $assoc_args, 'porcelain' ) ) { @@ -999,7 +1004,7 @@ private function add_site_icon_filter( $id ) { return $filter; } - public function filter_upload_dir( $uploads ) { + private function filter_upload_dir( $uploads ) { if ( ! $this->destination_dir ) { return $uploads; } From df41b0224c58b28ab3e176280a34932260b2c1fa Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Wed, 4 Mar 2026 11:56:04 +0100 Subject: [PATCH 2/2] Move call up --- src/Media_Command.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Media_Command.php b/src/Media_Command.php index 92ac0db1..27af120e 100644 --- a/src/Media_Command.php +++ b/src/Media_Command.php @@ -312,9 +312,9 @@ public function import( $args, $assoc_args = array() ) { $assoc_args['post_id'] = false; } - $destdir = Utils\get_flag_value( $assoc_args, 'destination-dir' ); - - $filter_upload_dir = function ( $uploads ) { + $destdir = Utils\get_flag_value( $assoc_args, 'destination-dir' ); + $this->destination_dir = $destdir; + $filter_upload_dir = function ( $uploads ) { return $this->filter_upload_dir( $uploads ); }; @@ -431,7 +431,6 @@ public function import( $args, $assoc_args = array() ) { } else { if ( ! empty( $destdir ) ) { - $this->destination_dir = $destdir; add_filter( 'upload_dir', $filter_upload_dir, PHP_INT_MAX ); }