Version Description
- Tested with WordPress 4.7.2
- cleaned up code
Download this release
Release Info
| Developer | deb255 |
| Plugin | |
| Version | 1.4 |
| Comparing to | |
| See all releases | |
Code changes from version 1.3.3 to 1.4
- _modules/dashboard/css/admin.css +0 -4
- _modules/dashboard/dashboard.php +0 -61
- _modules/dashboard/views/dashboard-nodata.php +0 -8
- _modules/dashboard/views/dashboard.php +0 -28
- _modules/dashboard/views/sidebar-donate.php +0 -44
- ihaf.php +121 -51
- readme.txt +62 -20
- views/dashboard-notices.php +20 -0
- views/settings.php +23 -41
- views/sidebar.php +78 -0
_modules/dashboard/css/admin.css
DELETED
|
@@ -1,4 +0,0 @@
|
|
| 1 |
-
#wpbeginner a { text-decoration: none; }
|
| 2 |
-
#wpbeginner a.rss { background: url(http://cdn.wpbeginner.com/pluginimages/feed.png) 0 50% no-repeat; padding: 0 15px 0 20px; }
|
| 3 |
-
#wpbeginner a.email { background: url(http://cdn.wpbeginner.com/pluginimages/email.gif) 0 50% no-repeat; padding: 0 15px 0 20px; }
|
| 4 |
-
#wpbeginner a.facebook { background: url(http://cdn.wpbeginner.com/pluginimages/facebook.png) 0 50% no-repeat; padding: 0 0 0 20px; }
|
|
|
|
|
|
|
|
|
|
|
|
_modules/dashboard/dashboard.php
DELETED
|
@@ -1,61 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Dashboard Widget
|
| 4 |
-
*/
|
| 5 |
-
class WPBeginnerDashboardWidget {
|
| 6 |
-
/**
|
| 7 |
-
* Constructor
|
| 8 |
-
*
|
| 9 |
-
* @param object $plugin Plugin Object (name, displayName, version, folder, url)
|
| 10 |
-
*/
|
| 11 |
-
function __construct($plugin) {
|
| 12 |
-
// Plugin Details
|
| 13 |
-
$this->dashboard = $plugin;
|
| 14 |
-
$this->dashboardURL = WP_PLUGIN_URL.'/'.str_replace(basename( __FILE__),"",plugin_basename(__FILE__));
|
| 15 |
-
|
| 16 |
-
// Hooks
|
| 17 |
-
add_action('admin_enqueue_scripts', array(&$this, 'adminScriptsAndCSS'));
|
| 18 |
-
add_action('wp_dashboard_setup', array(&$this, 'dashboardWidget'));
|
| 19 |
-
add_action('wp_network_dashboard_setup', array(&$this, 'dashboardWidget'));
|
| 20 |
-
}
|
| 21 |
-
|
| 22 |
-
/**
|
| 23 |
-
* Register and enqueue dashboard CSS
|
| 24 |
-
*/
|
| 25 |
-
function adminScriptsAndCSS() {
|
| 26 |
-
// CSS
|
| 27 |
-
// This will only enqueue once, despite this hook being called by up to several plugins,
|
| 28 |
-
// as we have set a single, distinct name
|
| 29 |
-
wp_enqueue_style('wpbeginner', $this->dashboardURL.'css/admin.css');
|
| 30 |
-
}
|
| 31 |
-
|
| 32 |
-
/**
|
| 33 |
-
* Adds a dashboard widget to output WPBeginner RSS
|
| 34 |
-
*
|
| 35 |
-
* Checks if another WPBeginner plugin has already created this widget - if so, doesn't duplicate it
|
| 36 |
-
*/
|
| 37 |
-
function dashboardWidget() {
|
| 38 |
-
global $wp_meta_boxes;
|
| 39 |
-
|
| 40 |
-
if (isset($wp_meta_boxes['dashboard']['normal']['core']['wpbeginner'])) return; // Another plugin has already registered this widget
|
| 41 |
-
wp_add_dashboard_widget('wpbeginner', __('Latest from WPBeginner', $this->dashboard->name), array(&$this, 'outputDashboardWidget'));
|
| 42 |
-
}
|
| 43 |
-
|
| 44 |
-
/**
|
| 45 |
-
* Called by dashboardWidget(), includes dashboard.php to output the Dashboard Widget
|
| 46 |
-
*/
|
| 47 |
-
function outputDashboardWidget() {
|
| 48 |
-
$result = wp_remote_get('http://wpbeginner.com/feed/');
|
| 49 |
-
if (!is_wp_error($result)) {
|
| 50 |
-
if ($result['response']['code'] == 200) {
|
| 51 |
-
$xml = simplexml_load_string($result['body']);
|
| 52 |
-
$rssPosts = $xml->channel;
|
| 53 |
-
}
|
| 54 |
-
|
| 55 |
-
include_once(WP_PLUGIN_DIR.'/'.$this->dashboard->name.'/_modules/dashboard/views/dashboard.php');
|
| 56 |
-
} else {
|
| 57 |
-
include_once(WP_PLUGIN_DIR.'/'.$this->dashboard->name.'/_modules/dashboard/views/dashboard-nodata.php');
|
| 58 |
-
}
|
| 59 |
-
}
|
| 60 |
-
}
|
| 61 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_modules/dashboard/views/dashboard-nodata.php
DELETED
|
@@ -1,8 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Dashboard Widget (no RSS data available)
|
| 4 |
-
*/
|
| 5 |
-
?>
|
| 6 |
-
<div class="rss-widget">
|
| 7 |
-
<img src="http://cdn.wpbeginner.com/pluginimages/wpbeginner.gif" class="alignright" />
|
| 8 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_modules/dashboard/views/dashboard.php
DELETED
|
@@ -1,28 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Dashboard RSS Feed Widget
|
| 4 |
-
*/
|
| 5 |
-
?>
|
| 6 |
-
<div class="rss-widget">
|
| 7 |
-
<img src="http://cdn.wpbeginner.com/pluginimages/wpbeginner.gif" class="alignright" />
|
| 8 |
-
|
| 9 |
-
<ul>
|
| 10 |
-
<?php
|
| 11 |
-
foreach ($rssPosts->item as $key=>$rssPost) {
|
| 12 |
-
?>
|
| 13 |
-
<li>
|
| 14 |
-
<a href="<?php echo (string) $rssPost->link; ?>" target="_blank" class="rsswidget"><?php echo (string) $rssPost->title; ?></a>
|
| 15 |
-
<span class="rss-date"><?php echo date('F j, Y', strtotime($rssPost->pubDate)); ?></span>
|
| 16 |
-
</li>
|
| 17 |
-
<?php
|
| 18 |
-
}
|
| 19 |
-
?>
|
| 20 |
-
|
| 21 |
-
<li>
|
| 22 |
-
<hr />
|
| 23 |
-
<a href="http://feeds2.feedburner.com/wpbeginner" class="rss" target="_blank"><?php _e('Subscribe with RSS', $this->dashboard->name); ?></a>
|
| 24 |
-
<a href="http://www.wpbeginner.com/wordpress-newsletter/" class="email" target="_blank"><?php _e('Subscribe by email', $this->dashboard->name); ?></a>
|
| 25 |
-
<a href="http://facebook.com/wpbeginner/" class="facebook" target="_blank"><?php _e('Join us on Facebook', $this->dashboard->name); ?></a>
|
| 26 |
-
</li>
|
| 27 |
-
</ul>
|
| 28 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_modules/dashboard/views/sidebar-donate.php
DELETED
|
@@ -1,44 +0,0 @@
|
|
| 1 |
-
<?php
|
| 2 |
-
/**
|
| 3 |
-
* Donations Sidebar
|
| 4 |
-
*/
|
| 5 |
-
?>
|
| 6 |
-
<!-- Improve Your Site -->
|
| 7 |
-
<div class="postbox">
|
| 8 |
-
<h3 class="hndle">
|
| 9 |
-
<span><?php _e('Improve Your Site', $this->plugin->name); ?></span>
|
| 10 |
-
</h3>
|
| 11 |
-
|
| 12 |
-
<div class="inside">
|
| 13 |
-
<p>
|
| 14 |
-
<?php _e('Want to take your site to the next level? Look behind the scenes of WPBeginner to see what you can do!', $this->plugin->name); ?>
|
| 15 |
-
</p>
|
| 16 |
-
|
| 17 |
-
<a href="http://www.wpbeginner.com/blueprint/" class="button" target="_blank">
|
| 18 |
-
<?php _e('WPBeginner\'s Blueprint »', $this->plugin->name); ?>
|
| 19 |
-
</a>
|
| 20 |
-
</div>
|
| 21 |
-
</div>
|
| 22 |
-
|
| 23 |
-
<!-- Donate -->
|
| 24 |
-
<div class="postbox">
|
| 25 |
-
<h3 class="hndle">
|
| 26 |
-
<span><?php _e('Spread The Word', $this->plugin->name); ?></span>
|
| 27 |
-
</h3>
|
| 28 |
-
|
| 29 |
-
<div class="inside">
|
| 30 |
-
<p>
|
| 31 |
-
<?php _e('Want to help make this plugin even better? All donations are used to improve this plugin, so donate $10, $20 or $50 now!', $this->plugin->name); ?>
|
| 32 |
-
</p>
|
| 33 |
-
<p>
|
| 34 |
-
<a href="#" target="_blank">
|
| 35 |
-
<?php _e('Find out more.', $this->plugin->name); ?>
|
| 36 |
-
</a>
|
| 37 |
-
</p>
|
| 38 |
-
<p>
|
| 39 |
-
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RK3BGVNS5L4ZW" target="_blank">
|
| 40 |
-
<img src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" alt="<?php _e('Donate to WPBeginner', $this->plugin->name); ?>">
|
| 41 |
-
</a>
|
| 42 |
-
</p>
|
| 43 |
-
</div>
|
| 44 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ihaf.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
/**
|
| 3 |
* Plugin Name: Insert Headers and Footers
|
| 4 |
* Plugin URI: http://www.wpbeginner.com/
|
| 5 |
-
* Version: 1.
|
| 6 |
* Author: WPBeginner
|
| 7 |
* Author URI: http://www.wpbeginner.com/
|
| 8 |
* Description: Allows you to insert code or text in the header or footer of your WordPress blog
|
|
@@ -12,7 +12,7 @@
|
|
| 12 |
/* Copyright 2014 WPBeginner
|
| 13 |
|
| 14 |
This program is free software; you can redistribute it and/or modify
|
| 15 |
-
it under the terms of the GNU General Public License, version 2, as
|
| 16 |
published by the Free Software Foundation.
|
| 17 |
|
| 18 |
This program is distributed in the hope that it will be useful,
|
|
@@ -41,115 +41,185 @@ class InsertHeadersAndFooters {
|
|
| 41 |
$this->plugin->version = '1.3.3';
|
| 42 |
$this->plugin->folder = plugin_dir_path( __FILE__ );
|
| 43 |
$this->plugin->url = plugin_dir_url( __FILE__ );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
|
| 45 |
-
// Dashboard Submodule
|
| 46 |
-
if (!class_exists('WPBeginnerDashboardWidget')) {
|
| 47 |
-
require_once($this->plugin->folder.'/_modules/dashboard/dashboard.php');
|
| 48 |
-
}
|
| 49 |
-
$this->dashboard = new WPBeginnerDashboardWidget($this->plugin);
|
| 50 |
-
|
| 51 |
// Hooks
|
| 52 |
-
add_action('admin_init', array(&$this, 'registerSettings'));
|
| 53 |
-
add_action('admin_menu', array(&$this, 'adminPanelsAndMetaBoxes'));
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
| 55 |
// Frontend Hooks
|
| 56 |
-
add_action('wp_head', array(&$this, 'frontendHeader'));
|
| 57 |
-
add_action('wp_footer', array(&$this, 'frontendFooter'));
|
|
|
|
|
|
|
|
|
|
| 58 |
}
|
| 59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
/**
|
| 61 |
* Register Settings
|
| 62 |
*/
|
| 63 |
function registerSettings() {
|
| 64 |
-
register_setting($this->plugin->name, 'ihaf_insert_header', 'trim');
|
| 65 |
-
register_setting($this->plugin->name, 'ihaf_insert_footer', 'trim');
|
| 66 |
}
|
| 67 |
-
|
| 68 |
/**
|
| 69 |
* Register the plugin settings panel
|
| 70 |
*/
|
| 71 |
function adminPanelsAndMetaBoxes() {
|
| 72 |
-
add_submenu_page('options-general.php', $this->plugin->displayName, $this->plugin->displayName, 'manage_options', $this->plugin->name, array(&$this, 'adminPanel'));
|
| 73 |
}
|
| 74 |
-
|
| 75 |
/**
|
| 76 |
* Output the Administration Panel
|
| 77 |
* Save POSTed data from the Administration Panel into a WordPress option
|
| 78 |
*/
|
| 79 |
function adminPanel() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
// Save Settings
|
| 81 |
-
if (isset($
|
| 82 |
// Check nonce
|
| 83 |
-
|
| 84 |
-
// Missing nonce
|
| 85 |
-
$this->errorMessage = __('nonce field is missing. Settings NOT saved.', $this->plugin->name);
|
| 86 |
-
} elseif (!wp_verify_nonce($
|
| 87 |
// Invalid nonce
|
| 88 |
-
$this->errorMessage = __('Invalid nonce specified. Settings NOT saved.', $this->plugin->name);
|
| 89 |
-
} else {
|
| 90 |
// Save
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
|
|
|
|
|
|
|
|
|
| 94 |
}
|
| 95 |
}
|
| 96 |
-
|
| 97 |
// Get latest settings
|
| 98 |
$this->settings = array(
|
| 99 |
-
|
| 100 |
-
|
| 101 |
);
|
| 102 |
-
|
| 103 |
// Load Settings Form
|
| 104 |
-
include_once(WP_PLUGIN_DIR.'/'
|
| 105 |
}
|
| 106 |
-
|
| 107 |
/**
|
| 108 |
* Loads plugin textdomain
|
| 109 |
*/
|
| 110 |
function loadLanguageFiles() {
|
| 111 |
-
load_plugin_textdomain($this->plugin->name, false, $this->plugin->name.'/languages/');
|
| 112 |
}
|
| 113 |
-
|
| 114 |
/**
|
| 115 |
* Outputs script / CSS to the frontend header
|
| 116 |
*/
|
| 117 |
function frontendHeader() {
|
| 118 |
-
$this->output('ihaf_insert_header');
|
| 119 |
}
|
| 120 |
-
|
| 121 |
/**
|
| 122 |
* Outputs script / CSS to the frontend footer
|
| 123 |
*/
|
| 124 |
function frontendFooter() {
|
| 125 |
-
$this->output('ihaf_insert_footer');
|
| 126 |
}
|
| 127 |
-
|
| 128 |
/**
|
| 129 |
* Outputs the given setting, if conditions are met
|
| 130 |
*
|
| 131 |
* @param string $setting Setting Name
|
| 132 |
* @return output
|
| 133 |
*/
|
| 134 |
-
function output($setting) {
|
| 135 |
// Ignore admin, feed, robots or trackbacks
|
| 136 |
-
if (is_admin()
|
| 137 |
return;
|
| 138 |
}
|
| 139 |
-
|
| 140 |
// Get meta
|
| 141 |
-
$meta = get_option($setting);
|
| 142 |
-
if (empty($meta)) {
|
| 143 |
return;
|
| 144 |
-
}
|
| 145 |
-
if (trim($meta) == '') {
|
| 146 |
return;
|
| 147 |
}
|
| 148 |
-
|
| 149 |
// Output
|
| 150 |
-
echo
|
| 151 |
}
|
| 152 |
}
|
| 153 |
-
|
| 154 |
$ihaf = new InsertHeadersAndFooters();
|
| 155 |
?>
|
| 2 |
/**
|
| 3 |
* Plugin Name: Insert Headers and Footers
|
| 4 |
* Plugin URI: http://www.wpbeginner.com/
|
| 5 |
+
* Version: 1.4
|
| 6 |
* Author: WPBeginner
|
| 7 |
* Author URI: http://www.wpbeginner.com/
|
| 8 |
* Description: Allows you to insert code or text in the header or footer of your WordPress blog
|
| 12 |
/* Copyright 2014 WPBeginner
|
| 13 |
|
| 14 |
This program is free software; you can redistribute it and/or modify
|
| 15 |
+
it under the terms of the GNU General Public License, version 2, as
|
| 16 |
published by the Free Software Foundation.
|
| 17 |
|
| 18 |
This program is distributed in the hope that it will be useful,
|
| 41 |
$this->plugin->version = '1.3.3';
|
| 42 |
$this->plugin->folder = plugin_dir_path( __FILE__ );
|
| 43 |
$this->plugin->url = plugin_dir_url( __FILE__ );
|
| 44 |
+
$this->plugin->db_welcome_dismissed_key = $this->plugin->name . '_welcome_dismissed_key';
|
| 45 |
+
|
| 46 |
+
// Check if the global wpb_feed_append variable exists. If not, set it.
|
| 47 |
+
if ( ! array_key_exists( 'wpb_feed_append', $GLOBALS ) ) {
|
| 48 |
+
$GLOBALS['wpb_feed_append'] = false;
|
| 49 |
+
}
|
| 50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
// Hooks
|
| 52 |
+
add_action( 'admin_init', array( &$this, 'registerSettings' ) );
|
| 53 |
+
add_action( 'admin_menu', array( &$this, 'adminPanelsAndMetaBoxes' ) );
|
| 54 |
+
add_action( 'wp_feed_options', array( &$this, 'dashBoardRss' ), 10, 2 );
|
| 55 |
+
add_action( 'admin_notices', array( &$this, 'dashboardNotices' ) );
|
| 56 |
+
add_action( 'wp_ajax_' . $this->plugin->name . '_dismiss_dashboard_notices', array( &$this, 'dismissDashboardNotices' ) );
|
| 57 |
+
|
| 58 |
// Frontend Hooks
|
| 59 |
+
add_action( 'wp_head', array( &$this, 'frontendHeader' ) );
|
| 60 |
+
add_action( 'wp_footer', array( &$this, 'frontendFooter' ) );
|
| 61 |
+
|
| 62 |
+
// Filters
|
| 63 |
+
add_filter( 'dashboard_secondary_items', array( &$this, 'dashboardSecondaryItems' ) );
|
| 64 |
}
|
| 65 |
+
|
| 66 |
+
/**
|
| 67 |
+
* Number of Secondary feed items to show
|
| 68 |
+
*/
|
| 69 |
+
function dashboardSecondaryItems() {
|
| 70 |
+
return 6;
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
/**
|
| 74 |
+
* Update the planet feed to add the WPB feed
|
| 75 |
+
*/
|
| 76 |
+
function dashboardRss( $feed, $url ) {
|
| 77 |
+
// Return early if not on the right page.
|
| 78 |
+
global $pagenow;
|
| 79 |
+
if ( 'admin-ajax.php' !== $pagenow ) {
|
| 80 |
+
return;
|
| 81 |
+
}
|
| 82 |
+
|
| 83 |
+
// Return early if not on the right feed.
|
| 84 |
+
if ( strpos( $url, 'planet.wordpress.org' ) === false ) {
|
| 85 |
+
return;
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
// Only move forward if this action hasn't been done already.
|
| 89 |
+
if ( ! $GLOBALS['wpb_feed_append'] ) {
|
| 90 |
+
$GLOBALS['wpb_feed_append'] = true;
|
| 91 |
+
$urls = array( 'http://www.wpbeginner.com/feed/', $url );
|
| 92 |
+
$feed->set_feed_url( $urls );
|
| 93 |
+
}
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
/**
|
| 97 |
+
* Show relevant notices for the plugin
|
| 98 |
+
*/
|
| 99 |
+
function dashboardNotices() {
|
| 100 |
+
global $pagenow;
|
| 101 |
+
|
| 102 |
+
if ( empty( get_option( $this->plugin->db_welcome_dismissed_key ) ) ) {
|
| 103 |
+
if ( ! ( $pagenow == 'options-general.php' && isset( $_GET['page'] ) && $_GET['page'] == 'insert-headers-and-footers' ) ) {
|
| 104 |
+
$setting_page = admin_url( 'options-general.php?page=' . $this->plugin->name );
|
| 105 |
+
// load the notices view
|
| 106 |
+
include_once( WP_PLUGIN_DIR . '/' . $this->plugin->name . '/views/dashboard-notices.php' );
|
| 107 |
+
}
|
| 108 |
+
}
|
| 109 |
+
}
|
| 110 |
+
|
| 111 |
+
/**
|
| 112 |
+
* Dismiss the welcome notice for the plugin
|
| 113 |
+
*/
|
| 114 |
+
function dismissDashboardNotices() {
|
| 115 |
+
check_ajax_referer( $this->plugin->name . '-nonce', 'nonce' );
|
| 116 |
+
// user has dismissed the welcome notice
|
| 117 |
+
update_option( $this->plugin->db_welcome_dismissed_key, 1 );
|
| 118 |
+
exit;
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
/**
|
| 122 |
* Register Settings
|
| 123 |
*/
|
| 124 |
function registerSettings() {
|
| 125 |
+
register_setting( $this->plugin->name, 'ihaf_insert_header', 'trim' );
|
| 126 |
+
register_setting( $this->plugin->name, 'ihaf_insert_footer', 'trim' );
|
| 127 |
}
|
| 128 |
+
|
| 129 |
/**
|
| 130 |
* Register the plugin settings panel
|
| 131 |
*/
|
| 132 |
function adminPanelsAndMetaBoxes() {
|
| 133 |
+
add_submenu_page( 'options-general.php', $this->plugin->displayName, $this->plugin->displayName, 'manage_options', $this->plugin->name, array( &$this, 'adminPanel' ) );
|
| 134 |
}
|
| 135 |
+
|
| 136 |
/**
|
| 137 |
* Output the Administration Panel
|
| 138 |
* Save POSTed data from the Administration Panel into a WordPress option
|
| 139 |
*/
|
| 140 |
function adminPanel() {
|
| 141 |
+
// only admin user can access this page
|
| 142 |
+
if ( !current_user_can( 'administrator' ) ) {
|
| 143 |
+
echo '<p>' . __( 'Sorry, you are not allowed to access this page.', $this->plugin->name ) . '</p>';
|
| 144 |
+
return;
|
| 145 |
+
}
|
| 146 |
+
|
| 147 |
// Save Settings
|
| 148 |
+
if ( isset( $_REQUEST['submit'] ) ) {
|
| 149 |
// Check nonce
|
| 150 |
+
if ( !isset( $_REQUEST[$this->plugin->name.'_nonce'] ) ) {
|
| 151 |
+
// Missing nonce
|
| 152 |
+
$this->errorMessage = __( 'nonce field is missing. Settings NOT saved.', $this->plugin->name );
|
| 153 |
+
} elseif ( !wp_verify_nonce( $_REQUEST[$this->plugin->name.'_nonce'], $this->plugin->name ) ) {
|
| 154 |
// Invalid nonce
|
| 155 |
+
$this->errorMessage = __( 'Invalid nonce specified. Settings NOT saved.', $this->plugin->name );
|
| 156 |
+
} else {
|
| 157 |
// Save
|
| 158 |
+
// $_REQUEST has already been slashed by wp_magic_quotes in wp-settings
|
| 159 |
+
// so do nothing before saving
|
| 160 |
+
update_option( 'ihaf_insert_header', $_REQUEST['ihaf_insert_header'] );
|
| 161 |
+
update_option( 'ihaf_insert_footer', $_REQUEST['ihaf_insert_footer'] );
|
| 162 |
+
update_option( $this->plugin->db_welcome_dismissed_key, 1 );
|
| 163 |
+
$this->message = __( 'Settings Saved.', $this->plugin->name );
|
| 164 |
}
|
| 165 |
}
|
| 166 |
+
|
| 167 |
// Get latest settings
|
| 168 |
$this->settings = array(
|
| 169 |
+
'ihaf_insert_header' => esc_html( wp_unslash( get_option( 'ihaf_insert_header' ) ) ),
|
| 170 |
+
'ihaf_insert_footer' => esc_html( wp_unslash( get_option( 'ihaf_insert_footer' ) ) ),
|
| 171 |
);
|
| 172 |
+
|
| 173 |
// Load Settings Form
|
| 174 |
+
include_once( WP_PLUGIN_DIR . '/' . $this->plugin->name . '/views/settings.php' );
|
| 175 |
}
|
| 176 |
+
|
| 177 |
/**
|
| 178 |
* Loads plugin textdomain
|
| 179 |
*/
|
| 180 |
function loadLanguageFiles() {
|
| 181 |
+
load_plugin_textdomain( $this->plugin->name, false, $this->plugin->name . '/languages/' );
|
| 182 |
}
|
| 183 |
+
|
| 184 |
/**
|
| 185 |
* Outputs script / CSS to the frontend header
|
| 186 |
*/
|
| 187 |
function frontendHeader() {
|
| 188 |
+
$this->output( 'ihaf_insert_header' );
|
| 189 |
}
|
| 190 |
+
|
| 191 |
/**
|
| 192 |
* Outputs script / CSS to the frontend footer
|
| 193 |
*/
|
| 194 |
function frontendFooter() {
|
| 195 |
+
$this->output( 'ihaf_insert_footer' );
|
| 196 |
}
|
| 197 |
+
|
| 198 |
/**
|
| 199 |
* Outputs the given setting, if conditions are met
|
| 200 |
*
|
| 201 |
* @param string $setting Setting Name
|
| 202 |
* @return output
|
| 203 |
*/
|
| 204 |
+
function output( $setting ) {
|
| 205 |
// Ignore admin, feed, robots or trackbacks
|
| 206 |
+
if ( is_admin() || is_feed() || is_robots() || is_trackback() ) {
|
| 207 |
return;
|
| 208 |
}
|
| 209 |
+
|
| 210 |
// Get meta
|
| 211 |
+
$meta = get_option( $setting );
|
| 212 |
+
if ( empty( $meta ) ) {
|
| 213 |
return;
|
| 214 |
+
}
|
| 215 |
+
if ( trim( $meta ) == '' ) {
|
| 216 |
return;
|
| 217 |
}
|
| 218 |
+
|
| 219 |
// Output
|
| 220 |
+
echo wp_unslash( $meta );
|
| 221 |
}
|
| 222 |
}
|
| 223 |
+
|
| 224 |
$ihaf = new InsertHeadersAndFooters();
|
| 225 |
?>
|
readme.txt
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
=== Insert Headers and Footers ===
|
| 2 |
-
Contributors: WPbeginner,
|
| 3 |
-
Tags:
|
| 4 |
Requires at least: 3.6
|
| 5 |
-
Tested up to: 4.
|
| 6 |
Stable tag: trunk
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
@@ -11,31 +11,76 @@ This plugin allows you to add extra scripts to the header and footer of your blo
|
|
| 11 |
|
| 12 |
== Description ==
|
| 13 |
|
| 14 |
-
Insert
|
| 15 |
|
| 16 |
-
|
| 17 |
|
| 18 |
-
|
| 19 |
|
| 20 |
-
|
| 21 |
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
|
| 24 |
-
|
| 25 |
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
== Installation ==
|
| 32 |
|
| 33 |
-
1.
|
| 34 |
-
2. Activate
|
| 35 |
-
3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
== Changelog ==
|
| 38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
= 1.3.3 =
|
| 40 |
* Tested with WordPress 4.3
|
| 41 |
* Fix: plugin_dir_path() and plugin_dir_url() used for Multisite / symlink support
|
|
@@ -59,7 +104,4 @@ Lastly, if you like this plugin then follow WPBeginner on:
|
|
| 59 |
* fixed unecessary CSS loading
|
| 60 |
|
| 61 |
= 1.0 =
|
| 62 |
-
* Initial version
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 1 |
=== Insert Headers and Footers ===
|
| 2 |
+
Contributors: WPbeginner, smub, deb255
|
| 3 |
+
Tags: code, content, css, footer, footer code, footer scripts, footers, google analytics, head, header, header code, header scripts, headers, insert, insert code, insert scripts, js, meta, meta tags, scripts, wpmu
|
| 4 |
Requires at least: 3.6
|
| 5 |
+
Tested up to: 4.7.2
|
| 6 |
Stable tag: trunk
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
| 12 |
== Description ==
|
| 13 |
|
| 14 |
+
= Easily Insert Header and Footer Code =
|
| 15 |
|
| 16 |
+
Insert Headers and Footers is a simple plugin that lets you insert code like Google Analytics to your WordPress site header and footer. No need to edit your theme files!
|
| 17 |
|
| 18 |
+
The simple interface of the Insert Headers and Footers plugin gives you one place where you can insert scripts, rather than dealing with dozens of different plugins.
|
| 19 |
|
| 20 |
+
= Features of Insert Headers and Footers =
|
| 21 |
|
| 22 |
+
* Quick to set up
|
| 23 |
+
* Simple to insert scripts
|
| 24 |
+
* Insert header code and/or footer code
|
| 25 |
+
* Add Google Analytics code to any theme
|
| 26 |
+
* Insert any code or script, including HTML and Javascript
|
| 27 |
|
| 28 |
+
= Credits =
|
| 29 |
|
| 30 |
+
This plugin is created by <a href="https://syedbalkhi.com/" rel="friend" title="Syed Balkhi">Syed Balkhi</a> and the <a href="http://www.wpbeginner.com/" rel="friend" title="WPBeginner">WPBeginner</a> team.
|
| 31 |
+
|
| 32 |
+
= What's Next =
|
| 33 |
+
|
| 34 |
+
If you find this plugin useful to insert header and footer scripts, please leave a good rating and consider checking out our other projects:
|
| 35 |
+
|
| 36 |
+
* <a href="http://optinmonster.com/" rel="friend" title="OptinMonster">OptinMonster</a> - Get More Email Subscribers
|
| 37 |
+
* <a href="http://wpforms.com/" rel="friend" title="WPForms">WPForms</a> - Best Contact Form Builder Plugin
|
| 38 |
+
* <a href="http://soliloquywp.com/" rel="friend" title="Soliloquy">Soliloquy</a> - Best WordPress Slider Plugin
|
| 39 |
+
* <a href="http://enviragallery.com/" rel="friend" title="Envira Gallery">Envira Gallery</a> - Best WordPress Gallery Plugin
|
| 40 |
+
* <a href="http://monsterinsights.com/" rel="friend" title="MonsterInsights">MonsterInsights</a> - Best Google Analytics Plugin
|
| 41 |
+
|
| 42 |
+
To learn more about WordPress, you can also visit <a href="http://www.wpbeginner.com/" rel="friend" title="WPBeginner">WPBeginner</a> for tutorials on topics like:
|
| 43 |
+
|
| 44 |
+
* <a href="http://www.wpbeginner.com/wordpress-performance-speed/" rel="friend" title="Ultimate Guide to WordPress Speed and Performance">WordPress Speed and Performance</a>
|
| 45 |
+
* <a href="http://www.wpbeginner.com/wordpress-security/" rel="friend" title="Ultimate WordPress Security Guide">WordPress Security</a>
|
| 46 |
+
* <a href="http://www.wpbeginner.com/wordpress-seo/" rel="friend" title="Ultimate WordPress SEO Guide for Beginners">WordPress Security</a>WordPress SEO</a>
|
| 47 |
+
|
| 48 |
+
...and many more <a href="http://www.wpbeginner.com/category/wp-tutorials/" rel="friend" title="WordPress Tutorials">WordPress tutorials</a>.
|
| 49 |
|
| 50 |
== Installation ==
|
| 51 |
|
| 52 |
+
1. Install Insert Headers and Footers by uploading the `insert-headers-and-footers` directory to the `/wp-content/plugins/` directory. (See instructions on <a href="http://www.wpbeginner.com/beginners-guide/step-by-step-guide-to-install-a-wordpress-plugin-for-beginners/" rel="friend">how to install a WordPress plugin</a>.)
|
| 53 |
+
2. Activate Insert Headers and Footers through the `Plugins` menu in WordPress.
|
| 54 |
+
3. Insert code in your header or footer by going to the `Settings > Insert Headers and Footers` menu.
|
| 55 |
+
|
| 56 |
+
[youtube https://www.youtube.com/watch?v=AXM1QgMODW0]
|
| 57 |
+
|
| 58 |
+
== Screenshots ==
|
| 59 |
+
|
| 60 |
+
1. Settings Screen
|
| 61 |
+
|
| 62 |
+
== Frequently Asked Questions ==
|
| 63 |
+
|
| 64 |
+
= Can I use Insert Headers and Footers to install Google Analytics? =
|
| 65 |
+
|
| 66 |
+
Yes, you can insert your Google Analytics code in the `Scripts in Header` field.
|
| 67 |
+
|
| 68 |
+
== Notes ==
|
| 69 |
+
Insert Headers and Footers is the easiest way to insert code in your WordPress headers and footers.
|
| 70 |
+
|
| 71 |
+
Our goal is to make using WordPress easy, both with our <a href="http://www.wpbeginner.com/wordpress-plugins/" rel="friend" title="WordPress Plugins">WordPress plugins</a> and resources like <a href="http://www.wpbeginner.com/" rel="friend">WPBeginner</a>, the largest WordPress resource site for beginners.
|
| 72 |
+
|
| 73 |
+
I feel that we have done that here. I hope find Insert Headers and Footers useful to insert scripts on your site.
|
| 74 |
+
|
| 75 |
+
Thank you
|
| 76 |
+
Syed Balkhi
|
| 77 |
|
| 78 |
== Changelog ==
|
| 79 |
|
| 80 |
+
= 1.4 =
|
| 81 |
+
* Tested with WordPress 4.7.2
|
| 82 |
+
* cleaned up code
|
| 83 |
+
|
| 84 |
= 1.3.3 =
|
| 85 |
* Tested with WordPress 4.3
|
| 86 |
* Fix: plugin_dir_path() and plugin_dir_url() used for Multisite / symlink support
|
| 104 |
* fixed unecessary CSS loading
|
| 105 |
|
| 106 |
= 1.0 =
|
| 107 |
+
* Initial version
|
|
|
|
|
|
|
|
|
views/dashboard-notices.php
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Notices template
|
| 4 |
+
*/
|
| 5 |
+
?>
|
| 6 |
+
<div class="notice notice-success is-dismissible <?= $this->plugin->name ?>-notice-welcome">
|
| 7 |
+
<p>Thank you for installing <?= $this->plugin->displayName ?>! <a href="<?= $setting_page ?>">Click here</a> to configure the plugin.</p>
|
| 8 |
+
</div>
|
| 9 |
+
<script type="text/javascript">
|
| 10 |
+
jQuery(document).ready( function($) {
|
| 11 |
+
$(document).on( 'click', '.<?= $this->plugin->name ?>-notice-welcome button.notice-dismiss', function( event ) {
|
| 12 |
+
event.preventDefault();
|
| 13 |
+
$.post( ajaxurl, {
|
| 14 |
+
action: '<?= $this->plugin->name . '_dismiss_dashboard_notices' ?>',
|
| 15 |
+
nonce: '<?= wp_create_nonce( $this->plugin->name . '-nonce' ) ?>'
|
| 16 |
+
});
|
| 17 |
+
$('.<?= $this->plugin->name ?>-notice-welcome').remove();
|
| 18 |
+
});
|
| 19 |
+
});
|
| 20 |
+
</script>
|
views/settings.php
CHANGED
|
@@ -1,75 +1,57 @@
|
|
| 1 |
<div class="wrap">
|
| 2 |
-
<h2><?php echo $this->plugin->displayName; ?> » <?php _e('Settings', $this->plugin->name); ?></h2>
|
| 3 |
-
|
| 4 |
-
<?php
|
| 5 |
-
if (isset($this->message)) {
|
| 6 |
?>
|
| 7 |
-
<div class="updated fade"><p><?php echo $this->message; ?></p></div>
|
| 8 |
<?php
|
| 9 |
}
|
| 10 |
-
if (isset($this->errorMessage)) {
|
| 11 |
?>
|
| 12 |
-
<div class="error fade"><p><?php echo $this->errorMessage; ?></p></div>
|
| 13 |
<?php
|
| 14 |
}
|
| 15 |
-
?>
|
| 16 |
-
|
| 17 |
<div id="poststuff">
|
| 18 |
<div id="post-body" class="metabox-holder columns-2">
|
| 19 |
<!-- Content -->
|
| 20 |
<div id="post-body-content">
|
| 21 |
-
<div id="normal-sortables" class="meta-box-sortables ui-sortable">
|
| 22 |
<div class="postbox">
|
| 23 |
-
<h3 class="hndle"><?php _e('Settings', $this->plugin->name); ?></h3>
|
| 24 |
-
|
| 25 |
<div class="inside">
|
| 26 |
<form action="options-general.php?page=<?php echo $this->plugin->name; ?>" method="post">
|
| 27 |
<p>
|
| 28 |
-
<label for="ihaf_insert_header"><strong><?php _e('Scripts in Header', $this->plugin->name); ?></strong></label>
|
| 29 |
-
<textarea name="ihaf_insert_header" id="ihaf_insert_header" class="widefat" rows="8" style="font-family:Courier New;"><?php echo $this->settings['ihaf_insert_header']; ?></textarea>
|
| 30 |
-
<?php _e('These scripts will be printed in the <code><head></code> section.', $this->plugin->name); ?>
|
| 31 |
</p>
|
| 32 |
<p>
|
| 33 |
-
<label for="ihaf_insert_footer"><strong><?php _e('Scripts in Footer', $this->plugin->name); ?></strong></label>
|
| 34 |
-
<textarea name="ihaf_insert_footer" id="ihaf_insert_footer" class="widefat" rows="8" style="font-family:Courier New;"><?php echo $this->settings['ihaf_insert_footer']; ?></textarea>
|
| 35 |
-
<?php _e('These scripts will be printed above the <code></body></code> tag.', $this->plugin->name); ?>
|
| 36 |
</p>
|
| 37 |
-
<?php wp_nonce_field($this->plugin->name, $this->plugin->name.'_nonce'); ?>
|
| 38 |
<p>
|
| 39 |
-
<input name="submit" type="submit" name="Submit" class="button button-primary" value="<?php _e('Save', $this->plugin->name); ?>" />
|
| 40 |
</p>
|
| 41 |
</form>
|
| 42 |
</div>
|
| 43 |
</div>
|
| 44 |
<!-- /postbox -->
|
| 45 |
-
|
| 46 |
-
<?php
|
| 47 |
-
// RSS Feed
|
| 48 |
-
if (isset($this->dashboard)) {
|
| 49 |
-
?>
|
| 50 |
-
<div id="wpbeginner" class="postbox">
|
| 51 |
-
<h3 class="hndle"><?php _e('Latest from WPBeginner', $this->plugin->name); ?></h3>
|
| 52 |
-
|
| 53 |
-
<div class="inside">
|
| 54 |
-
<?php
|
| 55 |
-
$this->dashboard->outputDashboardWidget();
|
| 56 |
-
?>
|
| 57 |
-
</div>
|
| 58 |
-
</div>
|
| 59 |
-
<!-- /postbox -->
|
| 60 |
-
<?php
|
| 61 |
-
}
|
| 62 |
-
?>
|
| 63 |
</div>
|
| 64 |
<!-- /normal-sortables -->
|
| 65 |
</div>
|
| 66 |
<!-- /post-body-content -->
|
| 67 |
-
|
| 68 |
<!-- Sidebar -->
|
| 69 |
<div id="postbox-container-1" class="postbox-container">
|
| 70 |
-
<?php require_once($this->plugin->folder.'/
|
| 71 |
</div>
|
| 72 |
<!-- /postbox-container -->
|
| 73 |
</div>
|
| 74 |
-
</div>
|
| 75 |
</div>
|
| 1 |
<div class="wrap">
|
| 2 |
+
<h2><?php echo $this->plugin->displayName; ?> » <?php _e( 'Settings', $this->plugin->name ); ?></h2>
|
| 3 |
+
|
| 4 |
+
<?php
|
| 5 |
+
if ( isset( $this->message ) ) {
|
| 6 |
?>
|
| 7 |
+
<div class="updated fade"><p><?php echo $this->message; ?></p></div>
|
| 8 |
<?php
|
| 9 |
}
|
| 10 |
+
if ( isset( $this->errorMessage ) ) {
|
| 11 |
?>
|
| 12 |
+
<div class="error fade"><p><?php echo $this->errorMessage; ?></p></div>
|
| 13 |
<?php
|
| 14 |
}
|
| 15 |
+
?>
|
| 16 |
+
|
| 17 |
<div id="poststuff">
|
| 18 |
<div id="post-body" class="metabox-holder columns-2">
|
| 19 |
<!-- Content -->
|
| 20 |
<div id="post-body-content">
|
| 21 |
+
<div id="normal-sortables" class="meta-box-sortables ui-sortable">
|
| 22 |
<div class="postbox">
|
| 23 |
+
<h3 class="hndle"><?php _e( 'Settings', $this->plugin->name ); ?></h3>
|
| 24 |
+
|
| 25 |
<div class="inside">
|
| 26 |
<form action="options-general.php?page=<?php echo $this->plugin->name; ?>" method="post">
|
| 27 |
<p>
|
| 28 |
+
<label for="ihaf_insert_header"><strong><?php _e( 'Scripts in Header', $this->plugin->name ); ?></strong></label>
|
| 29 |
+
<textarea name="ihaf_insert_header" id="ihaf_insert_header" class="widefat" rows="8" style="font-family:Courier New;"><?php echo $this->settings['ihaf_insert_header']; ?></textarea>
|
| 30 |
+
<?php _e( 'These scripts will be printed in the <code><head></code> section.', $this->plugin->name ); ?>
|
| 31 |
</p>
|
| 32 |
<p>
|
| 33 |
+
<label for="ihaf_insert_footer"><strong><?php _e( 'Scripts in Footer', $this->plugin->name ); ?></strong></label>
|
| 34 |
+
<textarea name="ihaf_insert_footer" id="ihaf_insert_footer" class="widefat" rows="8" style="font-family:Courier New;"><?php echo $this->settings['ihaf_insert_footer']; ?></textarea>
|
| 35 |
+
<?php _e( 'These scripts will be printed above the <code></body></code> tag.', $this->plugin->name ); ?>
|
| 36 |
</p>
|
| 37 |
+
<?php wp_nonce_field( $this->plugin->name, $this->plugin->name.'_nonce' ); ?>
|
| 38 |
<p>
|
| 39 |
+
<input name="submit" type="submit" name="Submit" class="button button-primary" value="<?php _e( 'Save', $this->plugin->name ); ?>" />
|
| 40 |
</p>
|
| 41 |
</form>
|
| 42 |
</div>
|
| 43 |
</div>
|
| 44 |
<!-- /postbox -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
</div>
|
| 46 |
<!-- /normal-sortables -->
|
| 47 |
</div>
|
| 48 |
<!-- /post-body-content -->
|
| 49 |
+
|
| 50 |
<!-- Sidebar -->
|
| 51 |
<div id="postbox-container-1" class="postbox-container">
|
| 52 |
+
<?php require_once( $this->plugin->folder . '/views/sidebar.php' ); ?>
|
| 53 |
</div>
|
| 54 |
<!-- /postbox-container -->
|
| 55 |
</div>
|
| 56 |
+
</div>
|
| 57 |
</div>
|
views/sidebar.php
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Donations Sidebar
|
| 4 |
+
*/
|
| 5 |
+
?>
|
| 6 |
+
<!-- Improve Your Site -->
|
| 7 |
+
<div class="postbox">
|
| 8 |
+
<h3 class="hndle">
|
| 9 |
+
<span><?php _e('Improve Your Site', $this->plugin->name); ?></span>
|
| 10 |
+
</h3>
|
| 11 |
+
|
| 12 |
+
<div class="inside">
|
| 13 |
+
<p>
|
| 14 |
+
<?php _e( 'Want to take your site to the next level? Check out our daily free WordPress tutorials on ', $this->plugin->name ); ?>
|
| 15 |
+
<a href="http://www.wpbeginner.com/?utm_source=wpadmin&utm_campaign=freeplugins"><?php _e( 'WPBeginner blog' ); ?></a>.
|
| 16 |
+
</p>
|
| 17 |
+
|
| 18 |
+
<p>
|
| 19 |
+
<?php _e( 'Some of our popular guides:', $this->plugin->name ); ?>
|
| 20 |
+
</p>
|
| 21 |
+
|
| 22 |
+
<ul>
|
| 23 |
+
<li><a href="http://www.wpbeginner.com/wordpress-performance-speed/?utm_source=wpadmin&utm_campaign=freeplugins" target="_blank">
|
| 24 |
+
<?php _e( 'Speed Up WordPress', $this->plugin->name ); ?>
|
| 25 |
+
</a></li>
|
| 26 |
+
<li><a href="http://www.wpbeginner.com/wordpress-security/?utm_source=wpadmin&utm_campaign=freeplugins" target="_blank">
|
| 27 |
+
<?php _e( 'Improve WordPress Security', $this->plugin->name ); ?>
|
| 28 |
+
</a></li>
|
| 29 |
+
|
| 30 |
+
<li><a href="http://www.wpbeginner.com/wordpress-seo/?utm_source=wpadmin&utm_campaign=freeplugins" target="_blank">
|
| 31 |
+
<?php _e( 'Boost Your WordPress SEO', $this->plugin->name ); ?>
|
| 32 |
+
</a></li>
|
| 33 |
+
</ul>
|
| 34 |
+
|
| 35 |
+
</div>
|
| 36 |
+
</div>
|
| 37 |
+
|
| 38 |
+
<!-- Donate -->
|
| 39 |
+
<div class="postbox">
|
| 40 |
+
<h3 class="hndle">
|
| 41 |
+
<span><?php _e( 'Our WordPress Plugins', $this->plugin->name); ?></span>
|
| 42 |
+
</h3>
|
| 43 |
+
<div class="inside">
|
| 44 |
+
<p>
|
| 45 |
+
<?php _e( 'Like this plugin? Check out our other WordPress plugins:', $this->plugin->name ); ?>
|
| 46 |
+
</p>
|
| 47 |
+
<p>
|
| 48 |
+
<a href="https://wordpress.org/plugins/wpforms-lite/" target="_blank">
|
| 49 |
+
<?php _e( 'WPForms', $this->plugin->name ); ?>
|
| 50 |
+
</a>
|
| 51 |
+
<?php _e( ' - Drag & Drop WordPress Form Builder', $this->plugin->name ); ?>
|
| 52 |
+
</p>
|
| 53 |
+
<p>
|
| 54 |
+
<a href="https://wordpress.org/plugins/envira-gallery-lite/" target="_blank">
|
| 55 |
+
<?php _e( 'Envira Gallery', $this->plugin->name ); ?>
|
| 56 |
+
</a>
|
| 57 |
+
<?php _e( ' - Responsive WordPress Gallery plugin', $this->plugin->name ); ?>
|
| 58 |
+
</p>
|
| 59 |
+
<p>
|
| 60 |
+
<a href="https://wordpress.org/plugins/google-analytics-for-wordpress/" target="_blank">
|
| 61 |
+
<?php _e( 'MonsterInsights', $this->plugin->name ); ?>
|
| 62 |
+
</a>
|
| 63 |
+
<?php _e( ' - Google Analytics Made Easy for WordPress', $this->plugin->name ); ?>
|
| 64 |
+
</p>
|
| 65 |
+
<p>
|
| 66 |
+
<a href="https://wordpress.org/plugins/soliloquy-lite/" target="_blank">
|
| 67 |
+
<?php _e( 'Soliloquy', $this->plugin->name ); ?>
|
| 68 |
+
</a>
|
| 69 |
+
<?php _e( ' - Responsive WordPress Slider Plugin', $this->plugin->name ); ?>
|
| 70 |
+
</p>
|
| 71 |
+
<p>
|
| 72 |
+
<a href="http://optinmonster.com/" target="_blank">
|
| 73 |
+
<?php _e( 'OptinMonster', $this->plugin->name ); ?>
|
| 74 |
+
</a>
|
| 75 |
+
<?php _e( ' - Best WordPress Lead Generation Plugin', $this->plugin->name ); ?>
|
| 76 |
+
</p>
|
| 77 |
+
</div>
|
| 78 |
+
</div>
|
