Skip to content

Commit 97b513c

Browse files
Merge pull request #1051 from equalizedigital/steve/pro-190-plugin-action-links-add-get-accessibility-checker-pro-and
added: plugin action links class to add Settings and Get Pro links
2 parents 38692d0 + f72d9ca commit 97b513c

5 files changed

Lines changed: 426 additions & 117 deletions

File tree

admin/class-admin.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ public function init(): void {
4949
add_action( 'wp_trash_post', [ Purge_Post_Data::class, 'delete_post' ] );
5050
add_action( 'save_post', [ Post_Save::class, 'delete_issue_data_on_post_trashing' ], 10, 3 );
5151

52+
$plugin_action_links = new Plugin_Action_Links();
53+
$plugin_action_links->init_hooks();
54+
5255
$admin_notices = new Admin_Notices();
5356
$admin_notices->init_hooks();
5457

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?php
2+
/**
3+
* Plugin Action Links class file for the Accessibility Checker plugin.
4+
*
5+
* @package Accessibility_Checker
6+
*/
7+
8+
namespace EDAC\Admin;
9+
10+
/**
11+
* Plugin Action Links handling class.
12+
*
13+
* @since 1.27.0
14+
*/
15+
class Plugin_Action_Links {
16+
17+
/**
18+
* Initialize hooks.
19+
*
20+
* @since 1.27.0
21+
*
22+
* @return void
23+
*/
24+
public function init_hooks(): void {
25+
if ( defined( 'EDAC_PLUGIN_FILE' ) ) {
26+
add_filter( 'plugin_action_links_' . plugin_basename( EDAC_PLUGIN_FILE ), [ $this, 'add_plugin_action_links' ] );
27+
}
28+
}
29+
30+
/**
31+
* Add plugin action links.
32+
*
33+
* Adds action links to the plugin list table
34+
*
35+
* Fired by `plugin_action_links` filter.
36+
*
37+
* @since 1.27.0
38+
* @access public
39+
*
40+
* @param array $links An array of plugin action links.
41+
*
42+
* @return array An array of plugin action links.
43+
*/
44+
public function add_plugin_action_links( $links ): array {
45+
$settings_link = sprintf(
46+
'<a href="%1$s">%2$s</a>',
47+
esc_url( admin_url( 'admin.php?page=accessibility_checker_settings' ) ),
48+
esc_html__( 'Settings', 'accessibility-checker' )
49+
);
50+
51+
array_unshift( $links, $settings_link );
52+
53+
// Add Pro link if not already pro version.
54+
if ( ! defined( 'EDACP_VERSION' ) || ! EDAC_KEY_VALID ) {
55+
$go_pro_text = esc_html__( 'Get Pro', 'accessibility-checker' );
56+
57+
$links['go_pro'] = sprintf(
58+
'<a href="%1$s" target="_blank" class="edac-plugin-action-links__go-pro" aria-label="%2$s">%3$s</a>',
59+
esc_url( edac_link_wrapper( 'https://equalizedigital.com/accessibility-checker/pricing/', 'plugin-action-links', 'get-pro-link', false ) ),
60+
esc_attr__( 'Get Accessibility Checker Pro, opens in new window', 'accessibility-checker' ),
61+
$go_pro_text
62+
);
63+
}
64+
65+
return $links;
66+
}
67+
}

0 commit comments

Comments
 (0)