*/ private $utm_args = [ 'utm_source' => 'plugins-page', 'utm_medium' => 'plugin-ui', 'utm_campaign' => '', ]; /** * Register actions. */ public function init() { add_filter( 'plugin_action_links', [ $this, 'plugin_action_links' ], 10, 2 ); add_filter( 'network_admin_plugin_action_links', [ $this, 'plugin_action_links' ], 10, 2 ); add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 ); add_filter( 'network_admin_plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 ); add_action( 'admin_print_footer_scripts', [ $this, 'footer_scripts' ] ); } /** * Render plugin action links. * * @param array $links Existing links. * @param string $file Plugin file path. * * @return array Filtered links. */ public function plugin_action_links( $links, $file ) { if ( plugin_basename( POPMAKE ) === $file ) { $utm_args = wp_parse_args( $this->utm_args, [ 'utm_campaign' => 'action-links', ] ); $settings_url = admin_url( 'edit.php?post_type=popup&page=pum-settings' ); $upgrade_url = add_query_arg( $utm_args, 'https://wppopupmaker.com/pricing/' ); $docs_url = add_query_arg( $utm_args, 'https://wppopupmaker.com/docs/' ); $plugin_action_links = apply_filters( 'pum_plugin_action_links', [ 'settings' => '' . __( 'Settings', 'popup-maker' ) . '', 'docs' => '' . __( 'Docs', 'popup-maker' ) . '', 'upgrade' => '' . __( 'Upgrade to Pro', 'popup-maker' ) . '', ] ); if ( is_plugin_active( 'popup-maker-pro/popup-maker-pro.php' ) ) { unset( $plugin_action_links['upgrade'] ); } // Check if translation link should be shown if ( is_locale_switched() /* && current_user_can( 'install_languages' ) */ ) { $plugin_action_links = array_merge( [ 'translate' => '' . __( 'Translate', 'popup-maker' ) . '' ], $plugin_action_links ); } foreach ( $plugin_action_links as $link ) { array_unshift( $links, $link ); } } return $links; } /** * Filters the array of row meta for each plugin in the Plugins list table. * * @param array $plugin_meta An array of the plugin's metadata. * @param string $plugin_file Path to the plugin file. * * @return array Filtered row meta */ public function plugin_row_meta( $plugin_meta, $plugin_file ) { if ( plugin_basename( POPMAKE ) === $plugin_file ) { $utm_args = wp_parse_args( $this->utm_args, [ 'utm_campaign' => 'row-meta', ] ); $support_url = add_query_arg( $utm_args, 'https://wppopupmaker.com/support/' ); $docs_url = add_query_arg( $utm_args, 'https://wppopupmaker.com/docs/' ); $row_meta = [ // 'review' => '★ ' . __( 'Rate 5 stars', 'popup-maker' ) . ' ★', 'documentation' => '' . __( 'Documentation', 'popup-maker' ) . '', 'support' => '' . __( 'Get Support', 'popup-maker' ) . '', // 'extensions' => '' . __( 'Extensions', 'popup-maker' ) . '', ]; $plugin_meta = array_merge( $plugin_meta, $row_meta ); } return $plugin_meta; } /** * Better branding. * * @return void */ public function footer_scripts() { // If is the plugins page /wp-admin/plugins.php global $pagenow; if ( 'plugins.php' === $pagenow ) { ?>