1 | <?php |
||||||
2 | /** |
||||||
3 | * Plugin Name: PageSpeed Purge Button |
||||||
4 | * Plugin URI: https://github.com/salaros/wp-purge-pagespeed-button |
||||||
5 | * Description: One-click PageSpeed cache purging using an admin bar button |
||||||
6 | * Version: 0.0.0 |
||||||
7 | * Author: Zhmayev Yaroslav aka Salaros |
||||||
8 | * Author URI: https://salaros.com |
||||||
9 | * License: MIT |
||||||
10 | * License URI: https://opensource.org/licenses/MIT |
||||||
11 | * Text Domain: wp-purge-pagespeed-button |
||||||
12 | * Domain Path: /languages/ |
||||||
13 | */ |
||||||
14 | |||||||
15 | if ( ! defined( 'ABSPATH' ) ) { |
||||||
16 | exit; // Exit if accessed directly. |
||||||
17 | } |
||||||
18 | |||||||
19 | class PageSpeedPurge { |
||||||
20 | |||||||
21 | public function __construct() { |
||||||
22 | // Enqueue css and js files |
||||||
23 | $action = ( ! is_admin() && is_admin_bar_showing() ) |
||||||
0 ignored issues
–
show
Bug
introduced
by
![]() The function
is_admin_bar_showing was not found. Maybe you did not declare it correctly or list all dependencies?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||||
24 | ? 'wp_enqueue_scripts' |
||||||
25 | : 'admin_enqueue_scripts'; |
||||||
26 | add_action( $action, array( $this, 'embed_admin_assets' ), 101 ); |
||||||
0 ignored issues
–
show
The function
add_action was not found. Maybe you did not declare it correctly or list all dependencies?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||||
27 | |||||||
28 | // Add 'Clear Redis cache' button to the admin bar |
||||||
29 | add_action( 'admin_bar_menu', array( $this, 'add_admin_bar_button' ), 101 ); |
||||||
30 | |||||||
31 | // Load plugin textdomain |
||||||
32 | add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) ); |
||||||
33 | } |
||||||
34 | |||||||
35 | public function embed_admin_assets() { |
||||||
36 | // This is where you can add your CSS/JS entries for wp-admin UI |
||||||
37 | $plugin_url = plugin_dir_url( __FILE__ ); |
||||||
38 | $asset_suffix = ( defined( SCRIPT_DEBUG ) && ! empty( SCRIPT_DEBUG ) ) ? '.min' : ''; |
||||||
39 | wp_enqueue_style( 'admin-styles', sprintf( '%s/assets/wp-purge-pagespeed-button%s.css', $plugin_url, $asset_suffix ) ); |
||||||
40 | wp_enqueue_script( 'admin-styles', sprintf( '%s/assets/wp-purge-pagespeed-button%s.js', $plugin_url, $asset_suffix ), array( 'jquery' ) ); |
||||||
41 | } |
||||||
42 | |||||||
43 | public function add_admin_bar_button( $wp_admin_bar ) { |
||||||
44 | $args = [ |
||||||
45 | 'id' => 'pagespeed_purge', |
||||||
46 | 'href' => '#pagespeed_purge', |
||||||
47 | 'title' => __( 'Purge Pagespeed Cache', 'wp-purge-pagespeed-button' ), |
||||||
48 | ]; |
||||||
49 | |||||||
50 | $wp_admin_bar->add_menu( $args ); |
||||||
51 | } |
||||||
52 | |||||||
53 | public function load_plugin_textdomain() { |
||||||
54 | $textdomain = 'wp-purge-pagespeed-button'; |
||||||
55 | $plugin_locale = apply_filters( 'plugin_locale', get_locale(), $textdomain ); |
||||||
56 | $plugin_dir = dirname( __FILE__ ); |
||||||
57 | |||||||
58 | // wp-content/languages/plugin-name/plugin-name-ru_RU.mo |
||||||
59 | load_textdomain( $textdomain, sprintf( '%s/plugins/%s-%s.mo', WP_LANG_DIR, $textdomain, $plugin_locale ) ); |
||||||
60 | |||||||
61 | // wp-content/plugins/plugin-name/languages/plugin-name-ru_RU.mo |
||||||
62 | load_textdomain( $textdomain, sprintf( '%s/languages/%s-%s.mo', $plugin_dir, $textdomain, $plugin_locale ) ); |
||||||
63 | } |
||||||
64 | } |
||||||
65 | |||||||
66 | add_action( 'plugins_loaded', function () { |
||||||
67 | new PageSpeedPurge(); |
||||||
68 | } ); |
||||||
69 |