PluginProbe
Hide/Remove Metadata / 2.0
Hide/Remove Metadata v2.0
trunk 1.0.0 1.0.1 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.1
← All changes | hide-metadata.php +164 -168 1.0.12.0 View file →
@@ -4,9 +4,9 @@
4 4 * Description: Hide/Remove Metadata is a free, simple yet extremely handy WordPress plugin that helps you hide author and published date either by CSS or PHP from your website effortlessly.
5 5 * Plugin URI: http://catchplugins.com/plugins/hide-metadata
6 6 * Author: Catch Plugins
7 7 * Author URI: http://catchplugins.com/
8 - * Version: 1.0.1
8 + * Version: 2.0
9 9 * License: GPL2
10 10 * Text Domain: hide-metadata
11 11 * Domain Path: /languages
12 12 */
@@ -11,95 +11,97 @@
11 11 * Domain Path: /languages
12 12 */
13 13
14 14 /*
15 - Copyright (C) Year Author Email
15 + Copyright (C) Year Author Email
16 16
17 - This program is free software; you can redistribute it and/or modify
18 - it under the terms of the GNU General Public License, version 2, as
19 - published by the Free Software Foundation.
17 + This program is free software; you can redistribute it and/or modify
18 + it under the terms of the GNU General Public License, version 2, as
19 + published by the Free Software Foundation.
20 20
21 - This program is distributed in the hope that it will be useful,
22 - but WITHOUT ANY WARRANTY; without even the implied warranty of
23 - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 - GNU General Public License for more details.
21 + This program is distributed in the hope that it will be useful,
22 + but WITHOUT ANY WARRANTY; without even the implied warranty of
23 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 + GNU General Public License for more details.
25 25
26 - You should have received a copy of the GNU General Public License
27 - along with this program; if not, write to the Free Software
28 - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 + You should have received a copy of the GNU General Public License
27 + along with this program; if not, write to the Free Software
28 + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 29 */
30 30
31 -define( 'HIDE_METADATA_VERSION', '1.0.1' );
31 +if (! defined('ABSPATH')) {
32 + exit; // Exit if accessed directly
33 +}
32 34
33 -function hide_metadata_default_options( $option = null ) {
34 - $default_options = array(
35 - 'hide_by' => 'css',
36 - 'hide_author' => 0,
37 - 'hide_date' => 0
38 - );
39 -
40 - if ( null == $option ) {
41 - return apply_filters( 'hide_metadata_options', $default_options );
42 - }
43 - else {
44 - return $default_options[ $option ];
45 - }
35 +// Define Version
36 +if ( ! defined( 'HIDE_METADATA_VERSION' ) ) {
37 + define( 'HIDE_METADATA_VERSION', '2.0' );
46 38 }
47 39
48 -function hide_metadata_get_options() {
49 - $defaults = hide_metadata_default_options();
50 - $options = get_option( 'hide_metadata_options', $defaults );
51 -
52 - return wp_parse_args( $options, $defaults ) ;
40 +if ( ! defined( 'HIDE_METADATA_BASENAME' ) ) {
41 + define('HIDE_METADATA_BASENAME', plugin_basename(__FILE__));
53 42 }
54 43
55 -class Hide_Metadata {
44 +class Hide_Metadata
45 +{
56 46 private $plugin_name;
57 47 private $version;
58 48 private $options;
59 49
60 - function __construct() {
50 + function __construct()
51 + {
61 52 $this->plugin_name = 'hide-metadata';
62 - $this->version = HIDE_METADATA_VERSION;
63 - $this->options = hide_metadata_get_options();
53 + $this->version = HIDE_METADATA_VERSION;
54 + $this->options = hide_metadata_get_options();
64 55
65 - add_action( 'admin_init', array( $this, 'register_settings' ) );
66 - add_action( 'admin_menu', array( $this, 'add_plugin_settings_menu' ) );
67 - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_styles' ) );
68 - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
56 + add_filter('body_class', array($this, 'hide_metadata_body_class'));
57 + add_action('admin_init', array($this, 'register_settings'));
58 + add_action('admin_menu', array($this, 'add_plugin_settings_menu'));
59 + add_action('admin_enqueue_scripts', array($this, 'enqueue_styles'));
60 + add_action('wp_enqueue_scripts', array($this, 'plugin_styles'));
61 + add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'));
69 62
70 - add_filter( 'plugin_row_meta', array( $this, 'add_plugin_meta_links' ), 10, 2);
63 + add_filter('plugin_row_meta', array($this, 'add_plugin_meta_links'), 10, 2);
71 64
72 - add_filter( 'plugin_action_links', array( $this, 'action_links' ), 10, 2 );
65 + add_filter('plugin_action_links', array($this, 'action_links'), 10, 2);
73 66
74 - if ( 'php' == $this->options['hide_by'] ) {
75 - add_action( 'loop_start', array( $this, 'remove_php' ) );
67 + if ('php' === $this->options['hide_by']) {
68 + add_action('loop_start', array($this, 'remove_php'));
69 + add_action('init', array($this, 'remove_php'));
76 70 }
77 - add_action( 'wp_head', array( $this, 'css_filter_option' ) ) ;
78 71 }
79 72
73 +
80 74 /**
81 75 * Register the stylesheets for the admin area.
82 76 *
83 77 * @since 1.0.0
84 78 */
85 - function enqueue_styles() {
86 - if( isset( $_GET['page'] ) && 'hide-metadata' == $_GET['page'] ) {
87 - wp_enqueue_style( $this->plugin_name. '-display-dashboard', plugin_dir_url( __FILE__ ) . 'css/admin-dashboard.css', array(), $this->version, 'all' );
79 + function enqueue_styles()
80 + {
81 + if (isset($_GET['page']) && 'hide-metadata' === $_GET['page']) {
82 + wp_enqueue_style($this->plugin_name . '-display-dashboard', plugin_dir_url(__FILE__) . 'css/admin-dashboard.css', array(), $this->version, 'all');
88 83 }
89 84 }
90 85
86 +
87 + function plugin_styles()
88 + {
89 + wp_enqueue_style($this->plugin_name . '-style', plugin_dir_url(__FILE__) . 'css/style.css', array(), $this->version, 'all');
90 + }
91 +
92 +
91 93 /**
92 94 * Register the scripts for the admin area.
93 95 *
94 96 * @since 1.0.0
95 97 */
96 - function enqueue_scripts() {
97 - if ( isset( $_GET['page'] ) && 'hide-metadata' == $_GET['page'] ) {
98 - wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/hide-metadata-admin.js', array( 'jquery','matchHeight','jquery-ui-tooltip' ), $this->version, false );
98 + function enqueue_scripts()
99 + {
100 + if (isset($_GET['page']) && 'hide-metadata' === $_GET['page']) {
101 + wp_enqueue_script($this->plugin_name, plugin_dir_url(__FILE__) . 'js/hide-metadata-admin.js', array('jquery', 'matchHeight', 'jquery-ui-tooltip'), $this->version, false);
99 102
100 - wp_enqueue_script( 'matchHeight', plugin_dir_url( __FILE__ ) . 'js/jquery-matchHeight.min.js', array( 'jquery' ), $this->version, false );
101 -
103 + wp_enqueue_script('matchHeight', plugin_dir_url(__FILE__) . 'js/jquery-matchHeight.min.js', array('jquery'), $this->version, false);
102 104 }
103 105 }
104 106
105 107 /**
@@ -109,13 +111,14 @@
109 111 * @param arrray $links Link url.
110 112 *
111 113 * @param arrray $file File name.
112 114 */
113 - function action_links( $links, $file ) {
114 - if ( $file === $this->plugin_name . '/' . $this->plugin_name . '.php' ) {
115 - $settings_link = '<a href="' . esc_url( admin_url( 'admin.php?page=hide-metadata' ) ) . '">' . esc_html__( 'Settings', 'hide-metadata' ) . '</a>';
115 + function action_links($links, $file)
116 + {
117 + if ($file === $this->plugin_name . '/' . $this->plugin_name . '.php') {
118 + $settings_link = '<a href="' . esc_url(admin_url('admin.php?page=hide-metadata')) . '">' . esc_html__('Settings', 'hide-metadata') . '</a>';
116 119
117 - array_unshift( $links, $settings_link );
120 + array_unshift($links, $settings_link);
118 121 }
119 122 return $links;
120 123 }
121 124
@@ -121,18 +124,18 @@
121 124
122 125 /**
123 126 * Add settings menu
124 127 */
125 - function add_plugin_settings_menu() {
126 - // Add Main Menu
127 - add_menu_page(
128 - esc_html__( 'Hide/Remove Metadata', 'hide-metadata' ),
129 - esc_html__( 'Hide/Remove Metadata', 'hide-metadata' ),
128 + function add_plugin_settings_menu()
129 + {
130 + // Add menu under tools
131 + add_submenu_page(
132 + 'tools.php',
133 + esc_html__('Hide/Remove Metadata', 'hide-metadata'),
134 + esc_html__('Hide/Remove Metadata', 'hide-metadata'),
130 135 'manage_options',
131 136 'hide-metadata',
132 - array( $this, 'settings_page' ),
133 - 'dashicons-visibility',
134 - '99.01564'
137 + array($this, 'settings_page')
135 138 );
136 139 }
137 140
138 141 /**
@@ -138,27 +141,31 @@
138 141 /**
139 142 * Hide/Remove MetaData: settings_page
140 143 * Hide/Remove MetaData Setting function
141 144 */
142 - function settings_page() {
143 - if ( ! current_user_can( 'manage_options' ) ) {
144 - wp_die( esc_html__( 'You do not have sufficient permissions to access this page.' ) );
145 + function settings_page()
146 + {
147 + if (! current_user_can('manage_options')) {
148 + wp_die(esc_html__('You do not have sufficient permissions to access this page.', 'hide-metadata'));
145 149 }
146 150
147 - require plugin_dir_path( __FILE__ ) . 'partials/admin-display.php';
151 + require plugin_dir_path(__FILE__) . 'partials/admin-display.php';
148 152 }
149 153
150 - function register_settings() {
154 + function register_settings()
155 + {
151 156 register_setting(
152 157 'hide-metadata-group',
153 158 'hide_metadata_options',
154 - array( $this, 'sanitize_callback' )
159 + array($this, 'sanitize_callback')
155 160 );
156 161 }
157 162
158 - public function sanitize_callback( $input ) {
159 - if ( isset( $input['reset'] ) && $input['reset'] ) {
160 - //If reset, restore defaults
163 + public function sanitize_callback($input)
164 + {
165 +
166 + if (isset($input['reset']) && $input['reset']) {
167 + // If reset, restore defaults
161 168 return hide_metadata_default_options();
162 169 }
163 170 $message = null;
164 171 $type = null;
@@ -163,135 +170,124 @@
163 170 $message = null;
164 171 $type = null;
165 172
166 173 // Verify the nonce before proceeding.
167 - if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
168 - || ( ! isset( $_POST['hide_metadata_nounce'] )
169 - || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['hide_metadata_nounce'] ) ), basename( __FILE__ ) ) )
170 - || ( ! check_admin_referer( basename( __FILE__ ), 'hide_metadata_nounce' ) ) ) {
171 - if ( null !== $input ) {
174 + if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
175 + || (! isset($_POST['hide_metadata_nonce'])
176 + || ! wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['hide_metadata_nonce'])), HIDE_METADATA_BASENAME))
177 + || (! check_admin_referer(HIDE_METADATA_BASENAME, 'hide_metadata_nonce'))
178 + ) {
172 179
173 - $input['hide_by'] = sanitize_key( $input['hide_by'] );
174 - $input['hide_author'] = ( isset( $input['hide_author'] ) && 'on' == $input['hide_author'] ) ? '1' : '0';
175 - $input['hide_date'] = ( isset( $input['hide_date'] ) && 'on' == $input['hide_date'] ) ? '1' : '0';
176 -
177 - return $input;
178 - }
179 - return 'Invalid Nonce';
180 + return esc_html__('Invalid Nonce', 'hide-metadata');
181 + } else {
182 + if (null !== $input) {
183 +
184 + $input['hide_by'] = sanitize_key($input['hide_by']);
185 + $input['hide_author'] = (isset($input['hide_author']) && '1' === $input['hide_author']) ? '1' : '0';
186 + $input['hide_date'] = (isset($input['hide_date']) && '1' === $input['hide_date']) ? '1' : '0';
187 + }
188 + return $input;
180 189 }
181 190 }
182 191
183 - function hide_by_css() {
184 192
185 - $css = '';
193 + // Removal using css
194 +
195 + public function hide_metadata_body_class($classes)
196 + {
197 +
186 198 $options = hide_metadata_get_options();
187 199
188 - // Hide author CSS
189 - if( 1 == $options['hide_author'] && 'css' == $options['hide_by'] ) {
190 - $css .= '.entry-meta .byline,
191 - .entry-header .entry-meta > span.byline {
192 - display: none;
193 - }';
200 + if ('1' === $options['hide_author'] && 'css' === $options['hide_by']) {
201 + $classes[] = 'hide-meta-author';
194 202 }
195 -
196 - // Hide date CSS
197 - if( 1 == $options['hide_date'] && 'css' == $options['hide_by'] ) {
198 - $css .= '.entry-meta .posted-on,
199 - .entry-header .entry-meta > span.posted-on {
200 - display: none;
201 - }';
203 + if ('1' === $options['hide_date'] && 'css' === $options['hide_by']) {
204 + $classes[] = 'hide-meta-date';
202 205 }
203 -
204 - // Hide author
205 - if( 1 == $options['hide_author'] && 'php' == $options['hide_by'] ) {
206 - $css .= '.entry-meta .byline:before,
207 - .entry-header .entry-meta span.byline:before,
208 - .entry-meta .byline:after,
209 - .entry-header .entry-meta span.byline:after,
210 - .single .byline, .group-blog .byline,
211 - .entry-meta .byline,
212 - .entry-header .entry-meta > span.byline {
213 - content: "";
214 - display: none;
215 - margin: 0;
216 - }';
206 + if ('1' === $options['hide_date'] && 'php' === $options['hide_by']) {
207 + $classes[] = 'hide-meta-date-php';
217 208 }
209 + if ('1' === $options['hide_author'] && 'php' === $options['hide_by']) {
210 + $classes[] = 'hide-meta-author-php';
211 + }
218 212
219 - // Hide date
220 - if( 1 == $options['hide_date'] && 'php' == $options['hide_by'] ) {
221 - $css .= '.entry-meta .posted-on:before,
222 - .entry-header .entry-meta > span.posted-on:before,
223 - .entry-meta .posted-on:after,
224 - .entry-header .entry-meta > span.posted-on:after,
225 - .entry-meta .posted-on,
226 - .entry-header .entry-meta > span.posted-on {
227 - content: "";
228 - display: none;
229 - margin: 0;
230 - }';
231 - }
232 -
233 - return $css;
213 + return $classes;
234 214 }
235 215
236 - //Removal using css
237 216
238 - function inline_style() {
239 - if( !empty( $this->hide_by_css() ) ){
240 - echo "<style>/* CSS added by Hide Metadata Plugin */" . $this->hide_by_css() . '</style>';
241 - }
242 - }
243 217
244 - function remove_php(){
218 + function remove_php()
219 + {
245 220 $options = hide_metadata_get_options();
246 221
247 - if( 1 == $options['hide_author'] ) {
248 - add_filter( 'the_author', '__return_false' );
249 - add_filter( 'get_the_author', '__return_false' );
250 - add_filter( 'author_link', '__return_false' );
222 + if ('1' === $options['hide_author']) {
223 + add_filter('the_author', '__return_false');
224 + add_filter('get_the_author', '__return_false');
225 + add_filter('author_link', '__return_false');
251 226 }
252 227
253 - if( 1 == $options['hide_date'] ) {
254 - add_filter( 'the_date', '__return_false' );
255 - add_filter( 'the_time', '__return_false' );
256 - add_filter( 'the_modified_date', '__return_false' );
257 - add_filter( 'get_the_date', '__return_false' );
258 - add_filter( 'get_the_title', '__return_false' );
259 - add_filter( 'get_the_time', '__return_false' );
260 - add_filter( 'get_the_modified_date', '__return_false' );
228 + if ('1' === $options['hide_date']) {
229 + add_filter('the_date', '__return_false');
230 + add_filter('the_time', '__return_false');
231 + add_filter('the_modified_date', '__return_false');
232 + add_filter('get_the_date', '__return_false');
233 + add_filter('get_the_title', '__return_false');
234 + add_filter('get_the_time', '__return_false');
235 + add_filter('get_the_modified_date', '__return_false');
261 236 }
262 237 }
263 238
264 - function css_filter_option() {
265 - $this->inline_style();
266 - }
267 239
268 - function add_plugin_meta_links( $meta_fields, $file ){
240 + function add_plugin_meta_links($meta_fields, $file)
241 + {
269 242
270 - if( $file == plugin_basename( __FILE__ ) ) {
243 + if (plugin_basename(__FILE__) === $file) {
271 244
272 245 $meta_fields[] = "<a href='https://catchplugins.com/support-forum/forum/hide-metadata/' target='_blank'>Support Forum</a>";
273 246 $meta_fields[] = "<a href='https://wordpress.org/support/plugin/hide-metadata/reviews#new-post' target='_blank' title='Rate'>
274 247 <i class='ct-rate-stars'>"
275 - . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
276 - . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
277 - . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
278 - . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
279 - . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
280 - . "</i></a>";
248 + . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
249 + . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
250 + . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
251 + . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
252 + . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
253 + . '</i></a>';
281 254
282 - $stars_color = "#ffb900";
255 + $stars_color = '#ffb900';
283 256
284 - echo "<style>"
285 - . ".ct-rate-stars{display:inline-block;color:" . $stars_color . ";position:relative;top:3px;}"
286 - . ".ct-rate-stars svg{fill:" . $stars_color . ";}"
287 - . ".ct-rate-stars svg:hover{fill:" . $stars_color . "}"
288 - . ".ct-rate-stars svg:hover ~ svg{fill:none;}"
289 - . "</style>";
257 + echo '<style>'
258 + . '.ct-rate-stars{display:inline-block;color:' . esc_html($stars_color) . ';position:relative;top:3px;}'
259 + . '.ct-rate-stars svg{fill:' . esc_html($stars_color) . ';}'
260 + . '.ct-rate-stars svg:hover{fill:' . esc_html($stars_color) . '}'
261 + . '.ct-rate-stars svg:hover ~ svg{fill:none;}'
262 + . '</style>';
290 263 }
291 264
292 265 return $meta_fields;
293 266 }
294 -
295 267 }
296 268
297 -$plugin_init = new Hide_Metadata();
269 +new Hide_Metadata();
270 +
271 +
272 +function hide_metadata_default_options($option = null)
273 +{
274 + $default_options = array(
275 + 'hide_by' => 'css',
276 + 'hide_author' => '0',
277 + 'hide_date' => '0',
278 + );
279 +
280 + if (null === $option) {
281 + return apply_filters('hide_metadata_options', $default_options);
282 + } else {
283 + return $default_options[$option];
284 + }
285 +}
286 +
287 +function hide_metadata_get_options()
288 +{
289 + $defaults = hide_metadata_default_options();
290 + $options = get_option('hide_metadata_options', $defaults);
291 +
292 + return wp_parse_args($options, $defaults);
293 +}