check_plugin_state( $slug ); if ( empty( $slug ) ) { return ''; } $additional = ''; if ( 'deactivate' === $state ) { $additional = ' action_button active'; } $button .= '
'; $plugin_link_suffix = self::get_plugin_path( $slug ); $nonce = add_query_arg( array( 'action' => 'activate', 'plugin' => rawurlencode( $plugin_link_suffix ), 'plugin_status' => 'all', 'paged' => '1', '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_link_suffix ), ), network_admin_url( 'plugins.php' ) ); switch ( $state ) { case 'install': $button .= '' . __( 'Install and Activate', 'zakra' ) . ''; break; case 'activate': $button .= '' . esc_html__( 'Activate', 'zakra' ) . ''; break; case 'deactivate': $nonce = add_query_arg( array( 'action' => 'deactivate', 'plugin' => rawurlencode( $plugin_link_suffix ), 'plugin_status' => 'all', 'paged' => '1', '_wpnonce' => wp_create_nonce( 'deactivate-plugin_' . $plugin_link_suffix ), ), network_admin_url( 'plugins.php' ) ); break; }// End switch(). $button .= '
'; return $button; } /** * Check plugin state. * * @param string $slug plugin slug. * * @return bool */ private function check_plugin_state( $slug ) { $plugin_link_suffix = self::get_plugin_path( $slug ); if ( file_exists( ABSPATH . 'wp-content/plugins/' . $plugin_link_suffix ) ) { $needs = is_plugin_active( $plugin_link_suffix ) ? 'deactivate' : 'activate'; return $needs; } else { return 'install'; } } /** * Get plugin state * * @param string $slug Plugin slug. * * @return string */ public function get_plugin_state( $slug ) { return $this->check_plugin_state( $slug ); } /** * Enqueue Function. */ public function enqueue_scripts() { wp_enqueue_script( 'plugin-install' ); wp_enqueue_script( 'updates' ); wp_enqueue_script( 'zakra-plugin-install-helper', ZAKRA_PARENT_INC_URI . '/admin/js/plugin-handle.js', array( 'jquery' ), ZAKRA_THEME_VERSION, true ); wp_localize_script( 'zakra-plugin-install-helper', 'zakra_plugin_helper', array( 'activating' => esc_html__( 'Activating ', 'zakra' ), ) ); } }