Plugins: Ensure wp_get_plugin_action_button() returns a string.

[57545] introduced `wp_get_plugin_action_button()`. This function is documented to return a `string`. However, if the user does not have the appropriate capabilities, it returned `void`, which is unexpected.

Resolves the issue by moving the `return $button` to the bottom of the function to ensure it always returns a `string` type. On success, the button's HTML string is returned; else, an empty string is returned.

Unit tests are included.

Follow-up to [57545].

Reviewed by jorbin.
Merges [58396] to the 6.5 branch.

Props costdev, rajinsharwar, hellofromTonya.
Fixes #61400.
Built from https://develop.svn.wordpress.org/branches/6.5@58445


git-svn-id: http://core.svn.wordpress.org/branches/6.5@57894 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
hellofromTonya 2024-06-20 15:30:11 +00:00
parent 0dbbdc7319
commit 2a8a9110d7
2 changed files with 4 additions and 4 deletions

View File

@ -917,7 +917,7 @@ function install_plugin_information() {
* } * }
* @param bool $compatible_php The result of a PHP compatibility check. * @param bool $compatible_php The result of a PHP compatibility check.
* @param bool $compatible_wp The result of a WP compatibility check. * @param bool $compatible_wp The result of a WP compatibility check.
* @return string $button The markup for the dependency row button. * @return string The markup for the dependency row button. An empty string if the user does not have capabilities.
*/ */
function wp_get_plugin_action_button( $name, $data, $compatible_php, $compatible_wp ) { function wp_get_plugin_action_button( $name, $data, $compatible_php, $compatible_wp ) {
$button = ''; $button = '';
@ -1043,7 +1043,7 @@ function wp_get_plugin_action_button( $name, $data, $compatible_php, $compatible
} }
break; break;
} }
}
return $button; return $button;
} }
}

View File

@ -16,7 +16,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '6.5.5-alpha-58404'; $wp_version = '6.5.5-alpha-58445';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.