Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
39c1cbd522 | ||
|
0b7deb3bf6 | ||
|
74bd81a9be | ||
|
f2128c6482 | ||
|
16f648e649 | ||
|
fc95c38368 | ||
|
81d5626519 | ||
|
6b73263aac | ||
|
0c16b76f17 |
38
README.md
38
README.md
@ -1,4 +1,4 @@
|
|||||||
# Plugin Last Updated Redux
|
# PLU Redux
|
||||||
|
|
||||||
Displays a "Last Updated" date for all of your plugins installed by way of the WordPress Plugin Directory.
|
Displays a "Last Updated" date for all of your plugins installed by way of the WordPress Plugin Directory.
|
||||||
|
|
||||||
@ -10,7 +10,19 @@ On plugins that have not been updated in over two years, a warning emoji is disp
|
|||||||
2. Activate the plugin through the 'Plugins' screen in WordPress.
|
2. Activate the plugin through the 'Plugins' screen in WordPress.
|
||||||
3. That's it! The plugin will automatically display the last updated date for installed plugins available in the WordPress Plugin Directory.
|
3. That's it! The plugin will automatically display the last updated date for installed plugins available in the WordPress Plugin Directory.
|
||||||
|
|
||||||
Sure, here's an example section that you can add to the `README.md` file to document the new WP-CLI command:
|
## Usage
|
||||||
|
|
||||||
|
Once activated, the plugin will automatically display the last updated date for each plugin in your site's list of installed plugins.
|
||||||
|
|
||||||
|
For the Site Health check, navigate to "Tools → Site Health" in your WordPress dashboard.
|
||||||
|
|
||||||
|
## Site Health Check
|
||||||
|
|
||||||
|
The custom Site Health check will list any installed plugins that have not been updated in 2 years.
|
||||||
|
|
||||||
|
* If it finds any such plugins, it will return a "critical" status with the names of the old plugins.
|
||||||
|
* If it doesn't find any, it will return a "good" status, indicating that all installed plugins have been updated within the last 2 years.
|
||||||
|
|
||||||
|
|
||||||
## WP-CLI Command
|
## WP-CLI Command
|
||||||
|
|
||||||
@ -52,6 +64,28 @@ Sadly, no. PLU Redux only works with plugins that are available in the WordPress
|
|||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
### 2.2.3
|
||||||
|
|
||||||
|
* Added `aria-label` to warning emoji to improve accessability. Special thanks to Dale Reardon for letting me know about this!
|
||||||
|
|
||||||
|
### 2.2.2
|
||||||
|
|
||||||
|
* Making an attempt to meet WP Plugin Directory requirements.
|
||||||
|
* Added some documentation around the site health check to the README.
|
||||||
|
|
||||||
|
### 2.2.1
|
||||||
|
|
||||||
|
* Plugin now uses site's preferred date format.
|
||||||
|
* Also cleaned up some wonky formatting. 😅
|
||||||
|
|
||||||
|
### 2.2.0
|
||||||
|
|
||||||
|
* Added a Site Health check that lists any outdated plugins.
|
||||||
|
|
||||||
|
### 2.1.1
|
||||||
|
* Fixed bug that would prevent plugin from being installable when WP-CLI is not available.
|
||||||
|
* Added Git Updater header.
|
||||||
|
|
||||||
### 2.1.0
|
### 2.1.0
|
||||||
* Added a WP-CLI command.
|
* Added a WP-CLI command.
|
||||||
|
|
||||||
|
@ -9,14 +9,14 @@
|
|||||||
* been updated in over two years, a warning emoji is displayed
|
* been updated in over two years, a warning emoji is displayed
|
||||||
* next to the "Last Updated" datestamp.
|
* next to the "Last Updated" datestamp.
|
||||||
*
|
*
|
||||||
* @package Plugin Last Updated Redux
|
* @package PLU Redux
|
||||||
* @author Jason Cosper <boogah@gmail.com>
|
* @author Jason Cosper <boogah@gmail.com>
|
||||||
* @license https://www.gnu.org/licenses/gpl-2.0.txt GPL-2.0+
|
* @license https://www.gnu.org/licenses/gpl-2.0.txt GPL-2.0+
|
||||||
* @link https://github.com/boogah/plu-redux
|
* @link https://github.com/boogah/plu-redux
|
||||||
*
|
*
|
||||||
* @wordpress-plugin
|
* @wordpress-plugin
|
||||||
* Plugin Name: Plugin Last Updated Redux
|
* Plugin Name: PLU Redux
|
||||||
* Version: 2.1.0
|
* Version: 2.2.3
|
||||||
* Requires at least: 6.0
|
* Requires at least: 6.0
|
||||||
* Requires PHP: 7.4
|
* Requires PHP: 7.4
|
||||||
* Author: Jason Cosper
|
* Author: Jason Cosper
|
||||||
@ -24,6 +24,7 @@
|
|||||||
* License: GPL-2.0+
|
* License: GPL-2.0+
|
||||||
* License URI: https://www.gnu.org/licenses/gpl-2.0.txt
|
* License URI: https://www.gnu.org/licenses/gpl-2.0.txt
|
||||||
* Description: Display the last updated date for plugins in the <a href="http://wordpress.org/plugins/">WordPress Plugin Directory</a>.
|
* Description: Display the last updated date for plugins in the <a href="http://wordpress.org/plugins/">WordPress Plugin Directory</a>.
|
||||||
|
* GitHub Plugin URI: boogah/plu-redux
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// If this file is called directly, abort.
|
// If this file is called directly, abort.
|
||||||
@ -58,8 +59,8 @@ function plu_redux_plugin_meta( $plugin_meta, $plugin_file ) {
|
|||||||
$two_years_ago = strtotime('-2 years'); // get a Unix timestamp for 2 years ago
|
$two_years_ago = strtotime('-2 years'); // get a Unix timestamp for 2 years ago
|
||||||
$last_updated_timestamp = strtotime($last_updated); // get a Unix timestamp for the last updated date
|
$last_updated_timestamp = strtotime($last_updated); // get a Unix timestamp for the last updated date
|
||||||
$is_old = $last_updated_timestamp < $two_years_ago; // check if the last updated date is older than 2 years
|
$is_old = $last_updated_timestamp < $two_years_ago; // check if the last updated date is older than 2 years
|
||||||
$warning = $is_old ? '⚠️ ' : ''; // if the last updated date is older than 2 years, add a warning symbol
|
$warning = $is_old ? '<span role="img" aria-label="warning">⚠️</span> ' : ''; // if the last updated date is older than 2 years, add a warning symbol
|
||||||
$plugin_meta['last_updated'] = $warning . 'Last Updated: ' . esc_html( $last_updated ); // add the last updated date to the plugin meta array
|
$plugin_meta['last_updated'] = $warning . 'Last Updated: ' . date_i18n( get_option( 'date_format' ), strtotime($last_updated)); // add the last updated date to the plugin meta array
|
||||||
}
|
}
|
||||||
|
|
||||||
return $plugin_meta; // return the modified plugin meta array
|
return $plugin_meta; // return the modified plugin meta array
|
||||||
@ -131,4 +132,77 @@ function plu_redux_last_updated_command() {
|
|||||||
|
|
||||||
$table->display();
|
$table->display();
|
||||||
}
|
}
|
||||||
\WP_CLI::add_command('plu list', 'plu_redux_last_updated_command');
|
if ( class_exists( 'WP_CLI' ) ) {
|
||||||
|
\WP_CLI::add_command('plu list', 'plu_redux_last_updated_command');
|
||||||
|
}
|
||||||
|
|
||||||
|
// This filter hook is used to add a custom Site Health check
|
||||||
|
add_filter( 'site_status_tests', 'plu_redux_health_check' );
|
||||||
|
|
||||||
|
function plu_redux_health_check( $tests ) {
|
||||||
|
$tests['direct']['plugin_health_check'] = array(
|
||||||
|
'label' => __( 'Check for any plugins that have not been updated in 2 years' ),
|
||||||
|
'test' => 'perform_plugin_health_check',
|
||||||
|
);
|
||||||
|
|
||||||
|
return $tests;
|
||||||
|
}
|
||||||
|
|
||||||
|
function perform_plugin_health_check() {
|
||||||
|
$plugins = get_plugins();
|
||||||
|
$old_plugins = array();
|
||||||
|
|
||||||
|
foreach ($plugins as $plugin_file => $plugin_info) {
|
||||||
|
list($slug) = explode('/', $plugin_file);
|
||||||
|
$slug_hash = md5($slug);
|
||||||
|
$last_updated = get_transient("plu_redux_{$slug_hash}");
|
||||||
|
|
||||||
|
if (false === $last_updated) {
|
||||||
|
$last_updated = plu_redux_get_last_updated($slug);
|
||||||
|
set_transient("plu_redux_{$slug_hash}", $last_updated, 86400);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($last_updated) {
|
||||||
|
$two_years_ago = strtotime('-2 years');
|
||||||
|
$last_updated_timestamp = strtotime($last_updated);
|
||||||
|
$is_old = $last_updated_timestamp < $two_years_ago;
|
||||||
|
|
||||||
|
if ($is_old) {
|
||||||
|
$old_plugins[] = $plugin_info['Name'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($old_plugins)) {
|
||||||
|
$result = array(
|
||||||
|
'label' => __( 'All plugins have been updated within the last 2 years' ),
|
||||||
|
'status' => 'good',
|
||||||
|
'badge' => array(
|
||||||
|
'label' => __( 'Plugins' ),
|
||||||
|
'color' => 'blue',
|
||||||
|
),
|
||||||
|
'description' => sprintf(
|
||||||
|
'<p>' . __( 'All plugins have been updated within the last 2 years.' ) . '</p>'
|
||||||
|
),
|
||||||
|
'actions' => '',
|
||||||
|
'test' => 'perform_plugin_health_check',
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$result = array(
|
||||||
|
'label' => __( 'Some of your plugins have not been updated in over 2 years' ),
|
||||||
|
'status' => 'critical',
|
||||||
|
'badge' => array(
|
||||||
|
'label' => __( 'Plugins' ),
|
||||||
|
'color' => 'red',
|
||||||
|
),
|
||||||
|
'description' => sprintf(
|
||||||
|
'<p>' . __( 'The following plugins have not been updated in over 2 years: <em>%s.</em> It is highly suggested you look for <a href="http://wordpress.org/plugins/">actively developed alternatives</a>.' ) . '</p>',
|
||||||
|
implode(", ", $old_plugins)
|
||||||
|
),
|
||||||
|
'actions' => '',
|
||||||
|
'test' => 'perform_plugin_health_check',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user