Skip to content

Commit

Permalink
Issue wp-cli#356 : Change variables and labels
Browse files Browse the repository at this point in the history
  • Loading branch information
buntybuddyboss committed Aug 31, 2022
1 parent 2f2332f commit afc3aec
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 20 deletions.
8 changes: 4 additions & 4 deletions features/post-meta.feature
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,7 @@ Feature: Manage post custom fields
# Check for contains only, as the string contains a trailing space.
Then STDOUT should contain:
"""
Are you sure you want to delete 2 duplicate enclosures and keep 1 valid enclosures? [y/n]
Are you sure you want to delete 2 duplicate meta values and keep 1 valid meta value? [y/n]
"""
When I run `wp post meta list 1 --keys=foo --format=count`
Expand All @@ -535,18 +535,18 @@ Feature: Manage post custom fields
When I run `wp post meta clean-duplicates 1 foo < session_yes`
Then STDOUT should contain:
"""
Success: Cleaned up duplicate enclosures.
Cleaned up duplicate 'foo' meta values.
"""
When I try the previous command again
Then STDOUT should contain:
"""
Success: Nothing to clean up: found 1 valid enclosures and 0 duplicate enclosures.
Success: Nothing to clean up: found 1 valid meta value and 0 duplicates.
"""
When I try `wp post meta clean-duplicates 1 food`
Then STDERR should be:
"""
Error: No enclosures found.
Error: No meta data found.
"""
And the return code should be 1
32 changes: 16 additions & 16 deletions src/Post_Meta_Command.php
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ protected function delete_metadata( $object_id, $meta_key, $meta_value = '' ) {
*
* # Delete dulpicate post meta.
* wp post meta clean-duplicates 1234 enclosure
* Success: Cleaned up duplicate enclosures.
* Success: Cleaned up duplicate 'enclosure' meta values.
*
* @subcommand clean-duplicates
*/
Expand All @@ -145,38 +145,38 @@ public function clean_duplicates( $args, $assoc_args ) {
);

if ( empty( $metas ) ) {
WP_CLI::error( 'No enclosures found.' );
WP_CLI::error( 'No meta data found.' );
}

$uniq_enclosures = array();
$dupe_enclosures = array();
$uniq_metas = [];
$dupe_metas = [];
foreach ( $metas as $meta ) {
if ( ! isset( $uniq_enclosures[ $meta->meta_value ] ) ) {
$uniq_enclosures[ $meta->meta_value ] = (int) $meta->meta_id;
if ( ! isset( $uniq_metas[ $meta->meta_value ] ) ) {
$uniq_metas[ $meta->meta_value ] = (int) $meta->meta_id;
} else {
$dupe_enclosures[] = (int) $meta->meta_id;
$dupe_metas[] = (int) $meta->meta_id;
}
}

if ( count( $dupe_enclosures ) ) {
if ( count( $dupe_metas ) ) {
WP_CLI::confirm(
sprintf(
'Are you sure you want to delete %d duplicate enclosures and keep %d valid enclosures?',
count( $dupe_enclosures ),
count( $uniq_enclosures )
'Are you sure you want to delete %d duplicate meta values and keep %d valid meta value?',
count( $dupe_metas ),
count( $uniq_metas )
)
);
foreach ( $dupe_enclosures as $meta_id ) {
foreach( $dupe_metas as $meta_id ) {
delete_metadata_by_mid( 'post', $meta_id );
WP_CLI::log( sprintf( 'Deleted meta id %d.', $meta_id ) );
}
WP_CLI::success( 'Cleaned up duplicate enclosures.' );
WP_CLI::success( sprintf( 'Cleaned up duplicate \'%s\' meta values.', $key ) );
} else {
WP_CLI::success(
sprintf(
'Nothing to clean up: found %d valid enclosures and %d duplicate enclosures.',
count( $uniq_enclosures ),
count( $dupe_enclosures )
'Nothing to clean up: found %d valid meta value and %d duplicates.',
count( $uniq_metas ),
count( $dupe_metas )
)
);
}
Expand Down

0 comments on commit afc3aec

Please sign in to comment.