_class extends basic_plugin_class { var $currentPlugin = __FILE__; function getPluginBaseName() { return plugin_basename($this->currentPlugin); } function getChildClassName() { return get_class($this); } function pluginInfo($info) { $this->defaultPluginInfo($info); } // default, but you can print your own info too. public function __construct() { parent::__construct(); // ... plugin stuff ... } function pluginInfo($info) { funsite_ $this->defaultPluginInfo($info); // Show the default description. Can be replaced with personalized description } const FS_TEXTDOMAIN = 'image-to-postlist'; // textdomain as used by this plugin const FS_PLUGINNAME = 'image-to-postlist'; // Slug on wordpress plugin site } ------------------------------------------------------------------------------------------------------------------ */ abstract class basic_plugin_class { // Change this if you want to use this code for your own plugins! // The SHARED_GLOBAL is used as key in the $GLOBALS array // the SHARED_NAME is used as the name in titles and the like. const SHARED_GLOBAL = 'funsite_plugins'; const SHARED_NAME = 'Funsite plugins'; // Some basic url's const API_URL = 'http://api.wordpress.org/plugins/info/1.0/'; const REVIEW_URL = 'https://wordpress.org/support/view/plugin-reviews/'; const PLUGIN_URL = 'https://wordpress.org/plugins/'; // The basics. private $PLUGIN_URL; private $PLUGIN_PATH; function __construct() { $usedByClass = $this->getChildClassName(); $this->FS_TEXTDOMAIN = $usedByClass::FS_TEXTDOMAIN; $this->FS_PLUGINNAME = $usedByClass::FS_PLUGINNAME; $this->PLUGIN_URL = dirname(plugins_url().'/'.$this->getPluginBaseName()); $this->PLUGIN_PATH = dirname(WP_PLUGIN_DIR .'/'.$this->getPluginBaseName()); add_action('init', array($this,'initialize')); add_action('admin_init', array($this,'basic_plugin_headercode'),false,false,true); add_action('admin_menu', array($this,'plugins_menu')); add_filter('plugin_row_meta', array($this,'PluginLinks'),10,2); } abstract function getPluginBaseName(); // needed to refer to the child class. abstract function getChildClassName(); // needed to refer to the child class. // abstract function pluginInfoRight($info); function initialize() { $GLOBALS[self::SHARED_GLOBAL][$this->FS_PLUGINNAME]=$this; $pluginRelPath = substr($this->PLUGIN_PATH,strlen(WP_PLUGIN_DIR)+1); $ok = load_plugin_textdomain( $this->FS_TEXTDOMAIN, false, $pluginRelPath.'/languages/' ); $langFile = $this->PLUGIN_PATH.'/languages/'.$this->FS_TEXTDOMAIN.'-'.get_locale().'.po'; } function pluginInfo($info) { $logoSrc = $this->PLUGIN_URL.'/basics/icon-128x128.png'; $logoPath = $this->PLUGIN_PATH.'/basics/icon-128x128.png'; $aUrl = admin_url(); ?>

pluginInfoRight($info); ?>
getPluginBaseName(); if ($file == $base) { $links[]=''.__('Local plugins info page',$this->FS_TEXTDOMAIN).''; } return $links; } function pluginInfoRight($info,$added = false) { print !$added?'