plugin_file, [ $this, 'settings_link' ] );
add_filter( 'plugin_row_meta', [ $this, 'meta_links' ], 10, 2 );
} // End __construct()
/**
* Add a "Settings" link to the plugin's action links on the Plugins page.
*
* @param array $links Existing action links for the plugin.
* @return array Modified action links with the "Settings" link added.
*/
public function settings_link( $links ) {
$url = Bootstrap::tab_url( 'settings' );
$settings_link = sprintf(
'%s',
esc_url( $url ),
esc_html__( 'Settings', 'admin-help-docs' )
);
array_unshift( $links, $settings_link );
return $links;
} // End settings_link()
/**
* Add links to plugin row
*
* @param array $links
* @return array
*/
public function meta_links( $links, $file ) {
if ( $this->plugin_file == $file ) {
$text_domain = Bootstrap::textdomain();
$plugin_name = Bootstrap::name();
$base_url = Bootstrap::author_uri();
$our_links = [
'guide' => [
'label' => __( 'How-To Guide', 'admin-help-docs' ),
'url' => "{$base_url}guide/plugin/{$text_domain}",
],
'docs' => [
'label' => __( 'Developer Docs', 'admin-help-docs' ),
'url' => "{$base_url}docs/plugin/{$text_domain}",
],
'support' => [
'label' => __( 'Support', 'admin-help-docs' ),
'url' => "{$base_url}support/plugin/{$text_domain}",
],
];
foreach ( $our_links as $key => $link ) {
$aria_label = sprintf(
// translators: %1$s: Link label, %2$s: Plugin name
__( '%1$s for %2$s', 'admin-help-docs' ),
$link[ 'label' ],
$plugin_name
);
$links[ $key ] = '' . esc_html( $link[ 'label' ] ) . '';
}
}
return (array) $links;
} // End meta()
}
new PluginsPage();