Version Description
Download this release
Release Info
Developer | simonwheatley |
Plugin | Exclude Pages |
Version | 1.8.2 |
Comparing to | |
See all releases |
Code changes from version 1.8.1 to 1.8.2
- exclude_pages.php +63 -82
- locale/exclude-pages.pot +42 -0
- readme.txt +18 -2
exclude_pages.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Exclude Pages from Navigation
|
4 |
Plugin URI: http://wordpress.org/extend/plugins/exclude-pages/
|
5 |
Description: Provides a checkbox on the editing page which you can check to exclude pages from the primary navigation. IMPORTANT NOTE: This will remove the pages from any "consumer" side page listings, which may not be limited to your page navigation listings.
|
6 |
-
Version: 1.8.
|
7 |
Author: Simon Wheatley
|
8 |
Author URI: http://simonwheatley.co.uk/wordpress/
|
9 |
|
@@ -31,11 +31,12 @@ define('EP_PLUGIN_DIR', dirname(__FILE__));
|
|
31 |
define('EP_OPTION_NAME', 'ep_exclude_pages');
|
32 |
// Separator for the string of IDs stored in the option value
|
33 |
define('EP_OPTION_SEP', ',');
|
|
|
|
|
34 |
|
35 |
// Take the pages array, and return the pages array without the excluded pages
|
36 |
// Doesn't do this when in the admin area
|
37 |
-
function ep_exclude_pages( $pages )
|
38 |
-
{
|
39 |
// If the URL includes "wp-admin", just return the unaltered list
|
40 |
// This constant, WP_ADMIN, only came into WP on 2007-12-19 17:56:16 rev 6412, i.e. not something we can rely upon unfortunately.
|
41 |
// May as well check it though.
|
@@ -80,28 +81,37 @@ function ep_exclude_pages( $pages )
|
|
80 |
return $pages;
|
81 |
}
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
87 |
$parent = & ep_get_page( $page->post_parent, $pages );
|
88 |
// Is there a parent?
|
89 |
-
if ( ! $parent )
|
90 |
-
return;
|
91 |
-
}
|
92 |
// Is it excluded?
|
93 |
-
if ( in_array( $parent->ID, $excluded_ids ) )
|
94 |
-
return $parent->ID;
|
95 |
-
}
|
96 |
// Is it the homepage?
|
97 |
-
if ( $parent->ID == 0 )
|
|
|
98 |
// Otherwise we have another ancestor to check
|
99 |
return ep_ancestor_excluded( $parent, $excluded_ids, $pages );
|
100 |
}
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
// PHP 5 would be much nicer here, we could use foreach by reference, ah well.
|
106 |
$length = count($pages);
|
107 |
for ( $i=0; $i<$length; $i++ ) {
|
@@ -117,8 +127,7 @@ function ep_get_page( $page_id, $pages )
|
|
117 |
// returns true if NOT excluded (i.e. included)
|
118 |
// returns false is it IS excluded.
|
119 |
// (Tricky this upside down flag business.)
|
120 |
-
function ep_this_page_included()
|
121 |
-
{
|
122 |
global $post_ID;
|
123 |
// New post? Must be included then.
|
124 |
if ( ! $post_ID ) return true;
|
@@ -134,8 +143,7 @@ function ep_this_page_included()
|
|
134 |
// Check the ancestors for the page we're editing (defined by
|
135 |
// global $post_ID var), return the ID if the nearest one which
|
136 |
// is excluded (if any);
|
137 |
-
function ep_nearest_excluded_ancestor()
|
138 |
-
{
|
139 |
global $post_ID, $wpdb;
|
140 |
// New post? No problem.
|
141 |
if ( ! $post_ID ) return false;
|
@@ -148,8 +156,7 @@ function ep_nearest_excluded_ancestor()
|
|
148 |
return ep_ancestor_excluded( $parent, $excluded_ids, $pages );
|
149 |
}
|
150 |
|
151 |
-
function ep_get_excluded_ids()
|
152 |
-
{
|
153 |
$exclude_ids_str = get_option( EP_OPTION_NAME );
|
154 |
// No excluded IDs? Return an empty array
|
155 |
if ( empty($exclude_ids_str) ) return array();
|
@@ -163,8 +170,7 @@ function ep_get_excluded_ids()
|
|
163 |
// don't want to have to retrieve meta for every page in order to
|
164 |
// determine if it's to be excluded. Storing all the exclusions in
|
165 |
// one row seems more sensible.
|
166 |
-
function ep_update_exclusions( $post_ID )
|
167 |
-
{
|
168 |
// Bang (!) to reverse the polarity of the boolean, turning include into exclude
|
169 |
$exclude_this_page = ! (bool) $_POST['ep_this_page_included'];
|
170 |
// SWTODO: Also check for a hidden var, which confirms that this checkbox was present
|
@@ -189,48 +195,24 @@ function ep_update_exclusions( $post_ID )
|
|
189 |
if ( $index !== false ) unset( $excluded_ids[$index] );
|
190 |
}
|
191 |
$excluded_ids_str = implode( EP_OPTION_SEP, $excluded_ids );
|
192 |
-
ep_set_option( EP_OPTION_NAME, $excluded_ids_str, "Comma separated list of post and page IDs to exclude when returning pages from the get_pages function." );
|
193 |
}
|
194 |
|
195 |
// Take an option, delete it if it exists, then add it.
|
196 |
-
function ep_set_option( $name, $value, $description )
|
197 |
-
{
|
198 |
// Delete option
|
199 |
delete_option($name);
|
200 |
// Insert option
|
201 |
add_option($name, $value, $description);
|
202 |
}
|
203 |
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
echo ' <div class="dbx-content">';
|
212 |
-
echo ' <label for="ep_this_page_included" class="selectit">';
|
213 |
-
echo ' <input ';
|
214 |
-
echo ' type="checkbox" ';
|
215 |
-
echo ' name="ep_this_page_included" ';
|
216 |
-
echo ' id="ep_this_page_included" ';
|
217 |
-
if ( ep_this_page_included() ) echo 'checked="checked"';
|
218 |
-
echo ' />';
|
219 |
-
echo ' '.__('Include this page in menus').'</label>';
|
220 |
-
echo ' <input type="hidden" name="ep_ctrl_present" value="1" />';
|
221 |
-
if ( $nearest_excluded_ancestor !== false ) {
|
222 |
-
echo '<div class="exclude_alert">';
|
223 |
-
echo __('An ancestor of this page is excluded, so this page is too. ');
|
224 |
-
echo '<a href="page.php?action=edit&post='.$nearest_excluded_ancestor.'"';
|
225 |
-
echo ' title="'.__('edit the excluded ancestor').'">'.__('Edit ancestor').'</a>.</div>';
|
226 |
-
}
|
227 |
-
echo ' </div></fieldset>';
|
228 |
-
}
|
229 |
-
|
230 |
-
// Post WP 2.5
|
231 |
-
// Add some HTML below the submit box
|
232 |
-
function ep_admin_sidebar_wp25()
|
233 |
-
{
|
234 |
$nearest_excluded_ancestor = ep_nearest_excluded_ancestor();
|
235 |
echo ' <div id="excludepagediv" class="new-admin-wp25">';
|
236 |
echo ' <div class="outer"><div class="inner">';
|
@@ -239,23 +221,27 @@ function ep_admin_sidebar_wp25()
|
|
239 |
echo ' type="checkbox" ';
|
240 |
echo ' name="ep_this_page_included" ';
|
241 |
echo ' id="ep_this_page_included" ';
|
242 |
-
if ( ep_this_page_included() )
|
|
|
243 |
echo ' />';
|
244 |
-
echo ' '.__('Include this page in user menus').'</label>';
|
245 |
echo ' <input type="hidden" name="ep_ctrl_present" value="1" />';
|
246 |
if ( $nearest_excluded_ancestor !== false ) {
|
247 |
echo '<div class="exclude_alert"><em>';
|
248 |
-
echo __('N.B. An ancestor of this page is excluded, so this page is too. ');
|
249 |
-
echo '
|
250 |
-
echo ' title="'.__('edit the excluded ancestor').'">'.__('Edit ancestor').'</a>.</em></div>';
|
251 |
}
|
252 |
echo ' </div><!-- .inner --></div><!-- .outer -->';
|
253 |
echo ' </div><!-- #excludepagediv -->';
|
254 |
}
|
255 |
|
256 |
-
|
257 |
-
|
258 |
-
|
|
|
|
|
|
|
|
|
259 |
echo ' <style type="text/css" media="screen">';
|
260 |
echo ' div.exclude_alert { font-size: 11px; }';
|
261 |
echo ' .new-admin-wp25 { font-size: 11px; background-color: #fff; }';
|
@@ -268,45 +254,40 @@ function ep_admin_css()
|
|
268 |
}
|
269 |
|
270 |
// Add our ctrl to the list of controls which AREN'T hidden
|
271 |
-
function ep_hec_show_dbx( $to_show )
|
272 |
-
{
|
273 |
array_push( $to_show, 'excludepagediv' );
|
274 |
return $to_show;
|
275 |
}
|
276 |
|
277 |
// PAUSE & RESUME FUNCTIONS
|
278 |
|
279 |
-
function pause_exclude_pages()
|
280 |
-
{
|
281 |
remove_filter('get_pages','ep_exclude_pages');
|
282 |
}
|
283 |
|
284 |
-
function resume_exclude_pages()
|
285 |
-
{
|
286 |
add_filter('get_pages','ep_exclude_pages');
|
287 |
}
|
288 |
|
289 |
// INIT FUNCTIONS
|
290 |
|
291 |
-
function ep_init()
|
292 |
-
{
|
293 |
// Call this function on the get_pages filter
|
294 |
// (get_pages filter appears to only be called on the "consumer" side of WP,
|
295 |
// the admin side must use another function to get the pages. So we're safe to
|
296 |
// remove these pages every time.)
|
297 |
add_filter('get_pages','ep_exclude_pages');
|
|
|
|
|
|
|
|
|
|
|
298 |
}
|
299 |
|
300 |
-
function ep_admin_init()
|
301 |
-
{
|
302 |
// Add panels into the editing sidebar(s)
|
303 |
global $wp_version;
|
304 |
-
|
305 |
-
add_meta_box('ep_admin_meta_box', __('Exclude Pages'), 'ep_admin_sidebar_wp25', 'page', 'side', 'low');
|
306 |
-
} else {
|
307 |
-
add_action('dbx_page_sidebar', 'ep_admin_sidebar'); // Pre WP2.5
|
308 |
-
add_action('submitpage_box', 'ep_admin_sidebar_wp25'); // Post WP 2.5, pre WP 2.7
|
309 |
-
}
|
310 |
|
311 |
// Set the exclusion when the post is saved
|
312 |
add_action('save_post', 'ep_update_exclusions');
|
3 |
Plugin Name: Exclude Pages from Navigation
|
4 |
Plugin URI: http://wordpress.org/extend/plugins/exclude-pages/
|
5 |
Description: Provides a checkbox on the editing page which you can check to exclude pages from the primary navigation. IMPORTANT NOTE: This will remove the pages from any "consumer" side page listings, which may not be limited to your page navigation listings.
|
6 |
+
Version: 1.8.2
|
7 |
Author: Simon Wheatley
|
8 |
Author URI: http://simonwheatley.co.uk/wordpress/
|
9 |
|
31 |
define('EP_OPTION_NAME', 'ep_exclude_pages');
|
32 |
// Separator for the string of IDs stored in the option value
|
33 |
define('EP_OPTION_SEP', ',');
|
34 |
+
// The textdomain for the WP i18n gear
|
35 |
+
define( 'EP_TD', 'exclude-pages' );
|
36 |
|
37 |
// Take the pages array, and return the pages array without the excluded pages
|
38 |
// Doesn't do this when in the admin area
|
39 |
+
function ep_exclude_pages( $pages ) {
|
|
|
40 |
// If the URL includes "wp-admin", just return the unaltered list
|
41 |
// This constant, WP_ADMIN, only came into WP on 2007-12-19 17:56:16 rev 6412, i.e. not something we can rely upon unfortunately.
|
42 |
// May as well check it though.
|
81 |
return $pages;
|
82 |
}
|
83 |
|
84 |
+
/**
|
85 |
+
* Recurse down an ancestor chain, checking if one is excluded
|
86 |
+
*
|
87 |
+
* @param
|
88 |
+
* @return boolean|int The ID of the "nearest" excluded ancestor, otherwise false
|
89 |
+
* @author Simon Wheatley
|
90 |
+
**/
|
91 |
+
function ep_ancestor_excluded( $page, $excluded_ids, $pages ) {
|
92 |
$parent = & ep_get_page( $page->post_parent, $pages );
|
93 |
// Is there a parent?
|
94 |
+
if ( ! $parent )
|
95 |
+
return false;
|
|
|
96 |
// Is it excluded?
|
97 |
+
if ( in_array( $parent->ID, $excluded_ids ) )
|
98 |
+
return (int) $parent->ID;
|
|
|
99 |
// Is it the homepage?
|
100 |
+
if ( $parent->ID == 0 )
|
101 |
+
return false;
|
102 |
// Otherwise we have another ancestor to check
|
103 |
return ep_ancestor_excluded( $parent, $excluded_ids, $pages );
|
104 |
}
|
105 |
|
106 |
+
/**
|
107 |
+
* {no description}
|
108 |
+
*
|
109 |
+
* @param int $page_id The ID of the WP page to search for
|
110 |
+
* @param array $pages An array of WP page objects
|
111 |
+
* @return boolean|object the page from the $pages array which corresponds to the $page_id
|
112 |
+
* @author Simon Wheatley
|
113 |
+
**/
|
114 |
+
function ep_get_page( $page_id, $pages ) {
|
115 |
// PHP 5 would be much nicer here, we could use foreach by reference, ah well.
|
116 |
$length = count($pages);
|
117 |
for ( $i=0; $i<$length; $i++ ) {
|
127 |
// returns true if NOT excluded (i.e. included)
|
128 |
// returns false is it IS excluded.
|
129 |
// (Tricky this upside down flag business.)
|
130 |
+
function ep_this_page_included() {
|
|
|
131 |
global $post_ID;
|
132 |
// New post? Must be included then.
|
133 |
if ( ! $post_ID ) return true;
|
143 |
// Check the ancestors for the page we're editing (defined by
|
144 |
// global $post_ID var), return the ID if the nearest one which
|
145 |
// is excluded (if any);
|
146 |
+
function ep_nearest_excluded_ancestor() {
|
|
|
147 |
global $post_ID, $wpdb;
|
148 |
// New post? No problem.
|
149 |
if ( ! $post_ID ) return false;
|
156 |
return ep_ancestor_excluded( $parent, $excluded_ids, $pages );
|
157 |
}
|
158 |
|
159 |
+
function ep_get_excluded_ids() {
|
|
|
160 |
$exclude_ids_str = get_option( EP_OPTION_NAME );
|
161 |
// No excluded IDs? Return an empty array
|
162 |
if ( empty($exclude_ids_str) ) return array();
|
170 |
// don't want to have to retrieve meta for every page in order to
|
171 |
// determine if it's to be excluded. Storing all the exclusions in
|
172 |
// one row seems more sensible.
|
173 |
+
function ep_update_exclusions( $post_ID ) {
|
|
|
174 |
// Bang (!) to reverse the polarity of the boolean, turning include into exclude
|
175 |
$exclude_this_page = ! (bool) $_POST['ep_this_page_included'];
|
176 |
// SWTODO: Also check for a hidden var, which confirms that this checkbox was present
|
195 |
if ( $index !== false ) unset( $excluded_ids[$index] );
|
196 |
}
|
197 |
$excluded_ids_str = implode( EP_OPTION_SEP, $excluded_ids );
|
198 |
+
ep_set_option( EP_OPTION_NAME, $excluded_ids_str, __( "Comma separated list of post and page IDs to exclude when returning pages from the get_pages function.", "exclude-pages" ) );
|
199 |
}
|
200 |
|
201 |
// Take an option, delete it if it exists, then add it.
|
202 |
+
function ep_set_option( $name, $value, $description ) {
|
|
|
203 |
// Delete option
|
204 |
delete_option($name);
|
205 |
// Insert option
|
206 |
add_option($name, $value, $description);
|
207 |
}
|
208 |
|
209 |
+
/**
|
210 |
+
* Callback function for the metabox on the page edit screen.
|
211 |
+
*
|
212 |
+
* @return void
|
213 |
+
* @author Simon Wheatley
|
214 |
+
**/
|
215 |
+
function ep_admin_sidebar_wp25() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
$nearest_excluded_ancestor = ep_nearest_excluded_ancestor();
|
217 |
echo ' <div id="excludepagediv" class="new-admin-wp25">';
|
218 |
echo ' <div class="outer"><div class="inner">';
|
221 |
echo ' type="checkbox" ';
|
222 |
echo ' name="ep_this_page_included" ';
|
223 |
echo ' id="ep_this_page_included" ';
|
224 |
+
if ( ep_this_page_included() )
|
225 |
+
echo 'checked="checked"';
|
226 |
echo ' />';
|
227 |
+
echo ' '.__( 'Include this page in user menus', EP_TD ).'</label>';
|
228 |
echo ' <input type="hidden" name="ep_ctrl_present" value="1" />';
|
229 |
if ( $nearest_excluded_ancestor !== false ) {
|
230 |
echo '<div class="exclude_alert"><em>';
|
231 |
+
echo sprintf( __( 'N.B. An ancestor of this page is excluded, so this page is too (<a href="%1$s" title="%2$s">edit ancestor</a>).', EP_TD), "post.php?action=edit&post=$nearest_excluded_ancestor", __( 'edit the excluded ancestor', EP_TD ) );
|
232 |
+
echo '</em></div>';
|
|
|
233 |
}
|
234 |
echo ' </div><!-- .inner --></div><!-- .outer -->';
|
235 |
echo ' </div><!-- #excludepagediv -->';
|
236 |
}
|
237 |
|
238 |
+
/**
|
239 |
+
* Hooks the WordPress admin_head action to inject some CSS.
|
240 |
+
*
|
241 |
+
* @return void
|
242 |
+
* @author Simon Wheatley
|
243 |
+
**/
|
244 |
+
function ep_admin_css() {
|
245 |
echo ' <style type="text/css" media="screen">';
|
246 |
echo ' div.exclude_alert { font-size: 11px; }';
|
247 |
echo ' .new-admin-wp25 { font-size: 11px; background-color: #fff; }';
|
254 |
}
|
255 |
|
256 |
// Add our ctrl to the list of controls which AREN'T hidden
|
257 |
+
function ep_hec_show_dbx( $to_show ) {
|
|
|
258 |
array_push( $to_show, 'excludepagediv' );
|
259 |
return $to_show;
|
260 |
}
|
261 |
|
262 |
// PAUSE & RESUME FUNCTIONS
|
263 |
|
264 |
+
function pause_exclude_pages() {
|
|
|
265 |
remove_filter('get_pages','ep_exclude_pages');
|
266 |
}
|
267 |
|
268 |
+
function resume_exclude_pages() {
|
|
|
269 |
add_filter('get_pages','ep_exclude_pages');
|
270 |
}
|
271 |
|
272 |
// INIT FUNCTIONS
|
273 |
|
274 |
+
function ep_init() {
|
|
|
275 |
// Call this function on the get_pages filter
|
276 |
// (get_pages filter appears to only be called on the "consumer" side of WP,
|
277 |
// the admin side must use another function to get the pages. So we're safe to
|
278 |
// remove these pages every time.)
|
279 |
add_filter('get_pages','ep_exclude_pages');
|
280 |
+
// Load up the translation gear
|
281 |
+
$locale = get_locale();
|
282 |
+
$folder = rtrim( basename( dirname( __FILE__ ) ), '/' );
|
283 |
+
$mo_file = trailingslashit( WP_PLUGIN_DIR ) . "$folder/locale/" . EP_TD . "-$locale.mo";
|
284 |
+
load_textdomain( EP_TD, $mo_file );
|
285 |
}
|
286 |
|
287 |
+
function ep_admin_init() {
|
|
|
288 |
// Add panels into the editing sidebar(s)
|
289 |
global $wp_version;
|
290 |
+
add_meta_box('ep_admin_meta_box', __( 'Exclude Pages', EP_TD ), 'ep_admin_sidebar_wp25', 'page', 'side', 'low');
|
|
|
|
|
|
|
|
|
|
|
291 |
|
292 |
// Set the exclusion when the post is saved
|
293 |
add_action('save_post', 'ep_update_exclusions');
|
locale/exclude-pages.pot
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Translation of the WordPress plugin by .
|
2 |
+
# Copyright (C) 2010
|
3 |
+
# This file is distributed under the same license as the package.
|
4 |
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
5 |
+
#
|
6 |
+
#, fuzzy
|
7 |
+
msgid ""
|
8 |
+
msgstr ""
|
9 |
+
"Project-Id-Version: \n"
|
10 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/exclude-pages\n"
|
11 |
+
"POT-Creation-Date: 2010-05-14 08:36+0000\n"
|
12 |
+
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
|
13 |
+
"Last-Translator: Simon Wheatley <simon@simonwheatley.co.uk>\n"
|
14 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
+
"MIME-Version: 1.0\n"
|
16 |
+
"Content-Type: text/plain; charset=utf-8\n"
|
17 |
+
"Content-Transfer-Encoding: 8bit\n"
|
18 |
+
|
19 |
+
#: exclude_pages.php:196
|
20 |
+
msgid ""
|
21 |
+
"Comma separated list of post and page IDs to exclude when returning pages "
|
22 |
+
"from the get_pages function."
|
23 |
+
msgstr ""
|
24 |
+
|
25 |
+
#: exclude_pages.php:226
|
26 |
+
msgid "Include this page in user menus"
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: exclude_pages.php:230
|
30 |
+
#, php-format
|
31 |
+
msgid ""
|
32 |
+
"N.B. An ancestor of this page is excluded, so this page is too (<a href=\"%1"
|
33 |
+
"$s\" title=\"%2$s\">edit ancestor</a>)."
|
34 |
+
msgstr ""
|
35 |
+
|
36 |
+
#: exclude_pages.php:230
|
37 |
+
msgid "edit the excluded ancestor"
|
38 |
+
msgstr ""
|
39 |
+
|
40 |
+
#: exclude_pages.php:284
|
41 |
+
msgid "Exclude Pages"
|
42 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: simonwheatley
|
|
3 |
Donate link: http://www.simonwheatley.co.uk/wordpress-plugins/
|
4 |
Tags: get_pages, navigation, menu, exclude pages, hide pages
|
5 |
Requires at least: 2.2.3
|
6 |
-
Tested up to:
|
7 |
-
Stable tag: 1.8.
|
8 |
|
9 |
This plugin adds a checkbox, “include this page in menus”, uncheck this to exclude pages from the page navigation that users see on your site.
|
10 |
|
@@ -41,6 +41,22 @@ Exclude pages is incompatible with:
|
|
41 |
|
42 |
== Change Log ==
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
= v1.8.1 2010/4/19 =
|
45 |
|
46 |
* BUGFIX: Check for existence of parent object before attempting to use it. (Thanks to Robert Kosara for the bug report.)
|
3 |
Donate link: http://www.simonwheatley.co.uk/wordpress-plugins/
|
4 |
Tags: get_pages, navigation, menu, exclude pages, hide pages
|
5 |
Requires at least: 2.2.3
|
6 |
+
Tested up to: 3.0 beta
|
7 |
+
Stable tag: 1.8.2
|
8 |
|
9 |
This plugin adds a checkbox, “include this page in menus”, uncheck this to exclude pages from the page navigation that users see on your site.
|
10 |
|
41 |
|
42 |
== Change Log ==
|
43 |
|
44 |
+
= v1.8.2 2010/5/14 =
|
45 |
+
|
46 |
+
Dear Non-English Exclude Pages Users,
|
47 |
+
|
48 |
+
This release includes the facility for Exclude Pages to be translated into languages other than English. Please [contact me](http://www.simonwheatley.co.uk/contact-me/) if you want to translate Exclude Pages into your language.
|
49 |
+
|
50 |
+
Sorry it took so long.
|
51 |
+
|
52 |
+
Best regards,
|
53 |
+
|
54 |
+
Simon
|
55 |
+
|
56 |
+
* DROPPED SUPPORT FOR WORDPRESS VERSIONS PRIOR TO VERSION 2.7
|
57 |
+
* BUGFIX: Everything was reporting that it was excluded by an ancestor for some reason. Crazy. Fixed now.
|
58 |
+
* LOCALISATION: Added POT file! Woo hoo!
|
59 |
+
|
60 |
= v1.8.1 2010/4/19 =
|
61 |
|
62 |
* BUGFIX: Check for existence of parent object before attempting to use it. (Thanks to Robert Kosara for the bug report.)
|