init(); $plugin_file = plugin_basename( WPMUDEV_BLC_PLUGIN_FILE ); add_filter( "plugin_action_links_{$plugin_file}", array( $this, 'action_links' ), 10, 4 ); add_filter( "network_admin_plugin_action_links_{$plugin_file}", array( $this, 'action_links' ), 10, 4 ); } /** * Sets the plugin action links in plugins page. * * @param array $actions * @param string $plugin_file * @param array $plugin_data * @param string $context * * @return array */ public function action_links( $actions = array(), $plugin_file = '', $plugin_data = null, $context = '' ) { if ( ! is_array( $actions ) ) { $actions = array(); } $new_actions = $this->get_action_links(); return apply_filters( 'wpmudev_blc_plugin_action_links', wp_parse_args( $actions, $new_actions ), $new_actions, $actions, $plugin_file, $plugin_data, $context ); } /** * Returns the plugin's action links. * * @return array */ public function get_action_links() { $actions = array(); $dashboard_url = menu_page_url( 'blc_dash', false ); $dashboard_label = esc_html__( 'Find & Fix Broken Links', 'broken-link-checker' ); $local_url = menu_page_url( 'blc_local', false ); $local_label = esc_html__( 'Local', 'broken-link-checker' ); $docs_url = 'https://wpmudev.com/docs/wpmu-dev-plugins/broken-link-checker'; $docs_label = esc_html__( 'Docs', 'broken-link-checker' ); if ( ! Utilities::is_subsite() ) { $admin_url = get_admin_url( get_main_site_id(), 'admin.php' ); $dashboard_url = add_query_arg( array( 'page' => 'blc_dash', ), $admin_url ); $actions['cloud'] = "{$dashboard_label}"; } else { $local_label = esc_html__( 'Broken Links', 'broken-link-checker' ); $local_url = add_query_arg( array( 'page' => 'blc_local', ), get_admin_url() ); $actions['local'] = "{$local_label}"; } $actions['docs'] = "{$docs_label}"; return $actions; } }