/** * Filters an array of action links to add an activation or deactivation link. * * @param array $actions Existing actions. * @param string $plugin Plugin slug to generate the link for. * @return array List of actions, including the new one. */ public function add_activate_or_deactive_action_link($actions, $plugin) { $is_active = WPcom_VIP_Plugins_UI()->is_plugin_active($plugin); if ($is_active) { if ('option' == $is_active) { $actions['deactivate'] = '<a href="' . esc_url(WPcom_VIP_Plugins_UI()->get_plugin_deactivation_link($plugin)) . '" title="' . esc_attr__('Deactivate this plugin') . '">' . __('Deactivate') . '</a>'; } elseif ('manual' == $is_active) { $actions['deactivate-manually'] = '<span title="To deactivate this particular plugin, edit your theme\'s functions.php file">' . __("Enabled via your theme's code") . '</span>'; } } elseif (!$this->activation_disabled) { $actions['activate'] = '<a href="' . esc_url(WPcom_VIP_Plugins_UI()->get_plugin_activation_link($plugin)) . '" title="' . esc_attr__('Activate this plugin') . '" class="edit">' . __('Activate') . '</a>'; } return $actions; }
/** * Returns the content for a row in the list table. * * @param array $item Plugin slug * @param string $column_name Name of the table column * @return string */ public function column_default($slug, $column_name) { if (!isset($slug)) { return; } if (!isset(WPcom_VIP_Plugins_UI()->fpp_plugins[$slug])) { return; } // only show inactive if (WPcom_VIP_Plugins_UI()->is_plugin_active($slug) && $this->filter == 'inactive') { return; } // only show active if (!WPcom_VIP_Plugins_UI()->is_plugin_active($slug) && $this->filter == 'active') { return; } $image_src = plugins_url('images/featured-plugins/' . $slug . '-2x.png', __FILE__); $lobby_url = '//vip.wordpress.com/plugins/' . $slug . '/'; $is_active = WPcom_VIP_Plugins_UI()->is_plugin_active($slug); ob_start(); ?> <div class="plugin <?php if ($is_active) { ?> active<?php } ?> "> <img src="<?php echo esc_url($image_src); ?> " width="48" height="48" class="fp-icon" /> <div class="fp-content"> <h3 class="fp-title"><?php echo WPcom_VIP_Plugins_UI()->fpp_plugins[$slug]['name']; ?> </h3> <p class="fp-description"><?php echo WPcom_VIP_Plugins_UI()->fpp_plugins[$slug]['description']; ?> </p> </div> <div class="interstitial"> <div class="interstitial-inner"> <h3 class="fp-title"><?php echo WPcom_VIP_Plugins_UI()->fpp_plugins[$slug]['name']; ?> </h3> <?php if ($is_active) { if ('option' == $is_active) { echo '<a href="' . esc_url(WPcom_VIP_Plugins_UI()->get_plugin_deactivation_link($slug)) . '" class="fp-button" title="' . esc_attr__('Deactivate this plugin') . '">' . __('Deactivate Plugin') . '</a>'; echo '<span class="fp-text">' . __('Deactivating Plugin') . '</span>'; } elseif ('manual' == $is_active) { echo '<span title="To deactivate this particular plugin, edit your theme\'s functions.php file" class="fp-text">' . __("Enabled via your theme's code") . '</span>'; } } elseif (!$this->activation_disabled) { echo '<a href="' . esc_url(WPcom_VIP_Plugins_UI()->get_plugin_activation_link($slug)) . '" class="fp-button" title="' . esc_attr__('Activate this plugin') . '" class="edit">' . __('Activate Plugin') . '</a>'; echo '<span class="fp-text">' . __('Activating Plugin') . '</span>'; } ?> </div> <div class="more-info"> <a href="<?php echo esc_url($lobby_url); ?> " target="_blank" title="Learn More"> <div class="icon"></div> </a> </div> </div> </div> <?php return ob_get_clean(); }
/** * If you don't want people (de)activating plugins via this UI * and only want to enable plugins via wpcom_vip_load_plugin() * calls in your theme's functions.php file, then call this * function to disable this plugin's (de)activation links. */ function wpcom_vip_plugins_ui_disable_activation() { //The Class is not loaded on local environments if (class_exists("WPcom_VIP_Plugins_UI")) { WPcom_VIP_Plugins_UI()->activation_disabled = true; } }