plugin_basename = $plugin_basename;
add_filter( 'plugin_row_meta', array( $this, 'meta_links' ), 10, 2 );
add_filter( "plugin_action_links_{$this->plugin_basename}", array( $this, 'action_links' ) );
}
/**
* Add additional helpful links to the plugin’s metadata.
*
* @since 1.0.0
*
* @param array $links An array of the plugin’s metadata.
* @param string $file Path to the plugin file relative to the plugins' directory.
*
* @return array
*/
public function meta_links( $links, $file ) {
// Return early if not on the plugin page.
if ( $this->plugin_basename !== $file ) {
return $links;
}
$plugin_links = array(
sprintf( /* translators: 1: Open anchor tag, 2: Close anchor tag. */
esc_html_x( '%1$sDocs%2$s', 'plugin link', 'woo-additional-terms' ),
sprintf(
'',
esc_url( Helper\Links::docs_uri() )
),
''
),
sprintf( /* translators: 1: Open anchor tag, 2: Close anchor tag. */
esc_html_x( '%1$sCommunity support%2$s', 'plugin link', 'woo-additional-terms' ),
sprintf(
'',
esc_attr( woo_additional_terms()->get_slug() )
),
''
),
);
return array_merge( $links, $plugin_links );
}
/**
* Display additional links in the plugin table page.
* Filters the list of action links displayed for a specific plugin in the Plugins list table.
*
* @since 1.0.0
*
* @param array $links Plugin table/item action links.
*
* @return array
*/
public function action_links( $links ) {
$plugin_links = array();
$plugin_links[] = sprintf( /* translators: 1: Open anchor tag, 2: Close anchor tag. */
esc_html_x( '%1$sGet PRO%2$s', 'plugin link', 'woo-additional-terms' ),
sprintf(
'✅ ',
esc_url( Helper\Links::pro_uri() )
),
''
);
$plugin_links[] = sprintf( /* translators: 1: Open anchor tag, 2: Close anchor tag. */
esc_html_x( '%1$sSettings%2$s', 'plugin settings page', 'woo-additional-terms' ),
sprintf(
'',
esc_url( Helper\Settings::page_uri() )
),
''
);
return array_merge( $plugin_links, $links );
}
}