PluginProbe
Hide/Remove Metadata / 1.2
Hide/Remove Metadata v1.2
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 +139 -134 2.01.2 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: 2.0
8 + * Version: 1.2
9 9 * License: GPL2
10 10 * Text Domain: hide-metadata
11 11 * Domain Path: /languages
12 12 */
@@ -27,81 +27,57 @@
27 27 along with this program; if not, write to the Free Software
28 28 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 29 */
30 30
31 -if (! defined('ABSPATH')) {
32 - exit; // Exit if accessed directly
33 -}
31 +define( 'HIDE_METADATA_VERSION', '1.2' );
34 32
35 -// Define Version
36 -if ( ! defined( 'HIDE_METADATA_VERSION' ) ) {
37 - define( 'HIDE_METADATA_VERSION', '2.0' );
38 -}
39 -
40 -if ( ! defined( 'HIDE_METADATA_BASENAME' ) ) {
41 - define('HIDE_METADATA_BASENAME', plugin_basename(__FILE__));
42 -}
43 -
44 -class Hide_Metadata
45 -{
33 +class Hide_Metadata {
46 34 private $plugin_name;
47 35 private $version;
48 36 private $options;
49 37
50 - function __construct()
51 - {
38 + function __construct() {
52 39 $this->plugin_name = 'hide-metadata';
53 40 $this->version = HIDE_METADATA_VERSION;
54 41 $this->options = hide_metadata_get_options();
55 42
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'));
43 + add_action( 'admin_init', array( $this, 'register_settings' ) );
44 + add_action( 'admin_menu', array( $this, 'add_plugin_settings_menu' ) );
45 + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_styles' ) );
46 + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
62 47
63 - add_filter('plugin_row_meta', array($this, 'add_plugin_meta_links'), 10, 2);
48 + add_filter( 'plugin_row_meta', array( $this, 'add_plugin_meta_links' ), 10, 2 );
64 49
65 - add_filter('plugin_action_links', array($this, 'action_links'), 10, 2);
50 + add_filter( 'plugin_action_links', array( $this, 'action_links' ), 10, 2 );
66 51
67 - if ('php' === $this->options['hide_by']) {
68 - add_action('loop_start', array($this, 'remove_php'));
69 - add_action('init', array($this, 'remove_php'));
52 + if ( 'php' === $this->options['hide_by'] ) {
53 + add_action( 'loop_start', array( $this, 'remove_php' ) );
70 54 }
55 + add_action( 'wp_head', array( $this, 'css_filter_option' ) );
71 56 }
72 57
73 -
74 58 /**
75 59 * Register the stylesheets for the admin area.
76 60 *
77 61 * @since 1.0.0
78 62 */
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');
63 + function enqueue_styles() {
64 + if ( isset( $_GET['page'] ) && 'hide-metadata' === $_GET['page'] ) {
65 + wp_enqueue_style( $this->plugin_name . '-display-dashboard', plugin_dir_url( __FILE__ ) . 'css/admin-dashboard.css', array(), $this->version, 'all' );
83 66 }
84 67 }
85 68
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 -
93 69 /**
94 70 * Register the scripts for the admin area.
95 71 *
96 72 * @since 1.0.0
97 73 */
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);
74 + function enqueue_scripts() {
75 + if ( isset( $_GET['page'] ) && 'hide-metadata' === $_GET['page'] ) {
76 + wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/hide-metadata-admin.js', array( 'jquery', 'matchHeight', 'jquery-ui-tooltip' ), $this->version, false );
102 77
103 - wp_enqueue_script('matchHeight', plugin_dir_url(__FILE__) . 'js/jquery-matchHeight.min.js', array('jquery'), $this->version, false);
78 + wp_enqueue_script( 'matchHeight', plugin_dir_url( __FILE__ ) . 'js/jquery-matchHeight.min.js', array( 'jquery' ), $this->version, false );
79 +
104 80 }
105 81 }
106 82
107 83 /**
@@ -111,14 +87,13 @@
111 87 * @param arrray $links Link url.
112 88 *
113 89 * @param arrray $file File name.
114 90 */
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>';
91 + function action_links( $links, $file ) {
92 + if ( $file === $this->plugin_name . '/' . $this->plugin_name . '.php' ) {
93 + $settings_link = '<a href="' . esc_url( admin_url( 'admin.php?page=hide-metadata' ) ) . '">' . esc_html__( 'Settings', 'hide-metadata' ) . '</a>';
119 94
120 - array_unshift($links, $settings_link);
95 + array_unshift( $links, $settings_link );
121 96 }
122 97 return $links;
123 98 }
124 99
@@ -124,18 +99,18 @@
124 99
125 100 /**
126 101 * Add settings menu
127 102 */
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'),
103 + function add_plugin_settings_menu() {
104 + // Add Main Menu
105 + add_menu_page(
106 + esc_html__( 'Hide/Remove Metadata', 'hide-metadata' ),
107 + esc_html__( 'Hide/Remove Metadata', 'hide-metadata' ),
135 108 'manage_options',
136 109 'hide-metadata',
137 - array($this, 'settings_page')
110 + array( $this, 'settings_page' ),
111 + 'dashicons-visibility',
112 + '99.01564'
138 113 );
139 114 }
140 115
141 116 /**
@@ -141,31 +116,27 @@
141 116 /**
142 117 * Hide/Remove MetaData: settings_page
143 118 * Hide/Remove MetaData Setting function
144 119 */
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'));
120 + function settings_page() {
121 + if ( ! current_user_can( 'manage_options' ) ) {
122 + wp_die( esc_html__( 'You do not have sufficient permissions to access this page.' ) );
149 123 }
150 124
151 - require plugin_dir_path(__FILE__) . 'partials/admin-display.php';
125 + require plugin_dir_path( __FILE__ ) . 'partials/admin-display.php';
152 126 }
153 127
154 - function register_settings()
155 - {
128 + function register_settings() {
156 129 register_setting(
157 130 'hide-metadata-group',
158 131 'hide_metadata_options',
159 - array($this, 'sanitize_callback')
132 + array( $this, 'sanitize_callback' )
160 133 );
161 134 }
162 135
163 - public function sanitize_callback($input)
164 - {
165 -
166 - if (isset($input['reset']) && $input['reset']) {
167 - // If reset, restore defaults
136 + public function sanitize_callback( $input ) {
137 + if ( isset( $input['reset'] ) && $input['reset'] ) {
138 + //If reset, restore defaults
168 139 return hide_metadata_default_options();
169 140 }
170 141 $message = null;
171 142 $type = null;
@@ -170,95 +141,130 @@
170 141 $message = null;
171 142 $type = null;
172 143
173 144 // Verify the nonce before proceeding.
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 - ) {
145 + if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
146 + || ( ! isset( $_POST['hide_metadata_nounce'] )
147 + || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['hide_metadata_nounce'] ) ), basename( __FILE__ ) ) )
148 + || ( ! check_admin_referer( basename( __FILE__ ), 'hide_metadata_nounce' ) ) ) {
149 + if ( null !== $input ) {
179 150
180 - return esc_html__('Invalid Nonce', 'hide-metadata');
181 - } else {
182 - if (null !== $input) {
151 + $input['hide_by'] = sanitize_key( $input['hide_by'] );
152 + $input['hide_author'] = ( isset( $input['hide_author'] ) && 'on' == $input['hide_author'] ) ? '1' : '0';
153 + $input['hide_date'] = ( isset( $input['hide_date'] ) && 'on' == $input['hide_date'] ) ? '1' : '0';
183 154
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';
155 + return $input;
187 156 }
188 - return $input;
157 + return 'Invalid Nonce';
189 158 }
190 159 }
191 160
161 + function hide_by_css() {
192 162
193 - // Removal using css
194 -
195 - public function hide_metadata_body_class($classes)
196 - {
197 -
163 + $css = '';
198 164 $options = hide_metadata_get_options();
199 165
200 - if ('1' === $options['hide_author'] && 'css' === $options['hide_by']) {
201 - $classes[] = 'hide-meta-author';
166 + // Hide author CSS
167 + if ( 1 == $options['hide_author'] && 'css' === $options['hide_by'] ) {
168 + $css .= ".entry-meta .byline,
169 +.entry-header .entry-meta > span.byline {
170 + display: none;
171 +}\n";
202 172 }
203 - if ('1' === $options['hide_date'] && 'css' === $options['hide_by']) {
204 - $classes[] = 'hide-meta-date';
173 +
174 + // Hide date CSS
175 + if ( 1 == $options['hide_date'] && 'css' === $options['hide_by'] ) {
176 + $css .= ".entry-meta .posted-on,
177 +.entry-header .entry-meta > span.posted-on {
178 + display: none;
179 +}\n";
205 180 }
206 - if ('1' === $options['hide_date'] && 'php' === $options['hide_by']) {
207 - $classes[] = 'hide-meta-date-php';
181 +
182 + // Hide author
183 + if ( 1 == $options['hide_author'] && 'php' === $options['hide_by'] ) {
184 + $css .= ".entry-meta .byline:before,
185 +.entry-header .entry-meta span.byline:before,
186 +.entry-meta .byline:after,
187 +.entry-header .entry-meta span.byline:after,
188 +.single .byline, .group-blog .byline,
189 +.entry-meta .byline,
190 +.entry-header .entry-meta > span.byline {
191 + content: '';
192 + display: none;
193 + margin: 0;
194 +}\n";
208 195 }
209 - if ('1' === $options['hide_author'] && 'php' === $options['hide_by']) {
210 - $classes[] = 'hide-meta-author-php';
196 +
197 + // Hide date
198 + if ( 1 == $options['hide_date'] && 'php' === $options['hide_by'] ) {
199 + $css .= ".entry-meta .posted-on:before,
200 +.entry-header .entry-meta > span.posted-on:before,
201 +.entry-meta .posted-on:after,
202 +.entry-header .entry-meta > span.posted-on:after,
203 +.entry-meta .posted-on,
204 +.entry-header .entry-meta > span.posted-on {
205 + content: '';
206 + display: none;
207 + margin: 0;
208 +}\n";
211 209 }
212 210
213 - return $classes;
211 + return $css;
214 212 }
215 213
214 + //Removal using css
216 215
216 + function inline_style() {
217 + $css = $this->hide_by_css();
218 + if ( ! empty( $css ) ) {
219 + echo "<style>\n\n/* CSS added by Hide Metadata Plugin */\n\n" . wp_strip_all_tags( $css ) . "</style>\n";
220 + }
221 + }
217 222
218 - function remove_php()
219 - {
223 + function remove_php() {
220 224 $options = hide_metadata_get_options();
221 225
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');
226 + if ( 1 == $options['hide_author'] ) {
227 + add_filter( 'the_author', '__return_false' );
228 + add_filter( 'get_the_author', '__return_false' );
229 + add_filter( 'author_link', '__return_false' );
226 230 }
227 231
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');
232 + if ( 1 == $options['hide_date'] ) {
233 + add_filter( 'the_date', '__return_false' );
234 + add_filter( 'the_time', '__return_false' );
235 + add_filter( 'the_modified_date', '__return_false' );
236 + add_filter( 'get_the_date', '__return_false' );
237 + add_filter( 'get_the_title', '__return_false' );
238 + add_filter( 'get_the_time', '__return_false' );
239 + add_filter( 'get_the_modified_date', '__return_false' );
236 240 }
237 241 }
238 242
243 + function css_filter_option() {
244 + $this->inline_style();
245 + }
239 246
240 - function add_plugin_meta_links($meta_fields, $file)
241 - {
247 + function add_plugin_meta_links( $meta_fields, $file ) {
242 248
243 - if (plugin_basename(__FILE__) === $file) {
249 + if ( $file === plugin_basename( __FILE__ ) ) {
244 250
245 251 $meta_fields[] = "<a href='https://catchplugins.com/support-forum/forum/hide-metadata/' target='_blank'>Support Forum</a>";
246 252 $meta_fields[] = "<a href='https://wordpress.org/support/plugin/hide-metadata/reviews#new-post' target='_blank' title='Rate'>
247 253 <i class='ct-rate-stars'>"
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>';
254 + . "<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>"
255 + . "<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>"
256 + . "<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>"
257 + . "<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>"
258 + . "<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>"
259 + . '</i></a>';
254 260
255 261 $stars_color = '#ffb900';
256 262
257 263 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) . '}'
264 + . '.ct-rate-stars{display:inline-block;color:' . $stars_color . ';position:relative;top:3px;}'
265 + . '.ct-rate-stars svg{fill:' . $stars_color . ';}'
266 + . '.ct-rate-stars svg:hover{fill:' . $stars_color . '}'
261 267 . '.ct-rate-stars svg:hover ~ svg{fill:none;}'
262 268 . '</style>';
263 269 }
264 270
@@ -263,31 +269,30 @@
263 269 }
264 270
265 271 return $meta_fields;
266 272 }
273 +
267 274 }
268 275
269 276 new Hide_Metadata();
270 277
271 278
272 -function hide_metadata_default_options($option = null)
273 -{
279 +function hide_metadata_default_options( $option = null ) {
274 280 $default_options = array(
275 281 'hide_by' => 'css',
276 - 'hide_author' => '0',
277 - 'hide_date' => '0',
282 + 'hide_author' => 0,
283 + 'hide_date' => 0,
278 284 );
279 285
280 - if (null === $option) {
281 - return apply_filters('hide_metadata_options', $default_options);
286 + if ( null === $option ) {
287 + return apply_filters( 'hide_metadata_options', $default_options );
282 288 } else {
283 - return $default_options[$option];
289 + return $default_options[ $option ];
284 290 }
285 291 }
286 292
287 -function hide_metadata_get_options()
288 -{
293 +function hide_metadata_get_options() {
289 294 $defaults = hide_metadata_default_options();
290 - $options = get_option('hide_metadata_options', $defaults);
295 + $options = get_option( 'hide_metadata_options', $defaults );
291 296
292 - return wp_parse_args($options, $defaults);
297 + return wp_parse_args( $options, $defaults );
293 298 }