diff --git a/src/wp-admin/includes/class-wp-plugin-install-list-table.php b/src/wp-admin/includes/class-wp-plugin-install-list-table.php
index bdba99344a..d47b388466 100644
--- a/src/wp-admin/includes/class-wp-plugin-install-list-table.php
+++ b/src/wp-admin/includes/class-wp-plugin-install-list-table.php
@@ -537,16 +537,23 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
case 'update_available':
if ( $status['url'] ) {
- $action_links[] = sprintf(
- '%s',
- esc_attr( $status['file'] ),
- esc_attr( $plugin['slug'] ),
- esc_url( $status['url'] ),
- /* translators: %s: plugin name and version */
- esc_attr( sprintf( __( 'Update %s now' ), $name ) ),
- esc_attr( $name ),
- __( 'Update Now' )
- );
+ if ( $compatible_php && $compatible_wp ) {
+ $action_links[] = sprintf(
+ '%s',
+ esc_attr( $status['file'] ),
+ esc_attr( $plugin['slug'] ),
+ esc_url( $status['url'] ),
+ /* translators: %s: plugin name and version */
+ esc_attr( sprintf( __( 'Update %s now' ), $name ) ),
+ esc_attr( $name ),
+ __( 'Update Now' )
+ );
+ } else {
+ $action_links[] = sprintf(
+ '',
+ _x( 'Cannot Update', 'plugin' )
+ );
+ }
}
break;