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 ); } }