Advanced Sidebar Menu - Version 3.5.0

Version Description

Download this release

Release Info

Developer Mat Lipe
Plugin Icon 128x128 Advanced Sidebar Menu
Version 3.5.0
Comparing to
See all releases

Code changes from version 3.4.7 to 3.5.0

Files changed (3) hide show
  1. advanced-sidebar-menu.php +1 -1
  2. readme.txt +2 -2
  3. widgets/page.widget.php +28 -28
advanced-sidebar-menu.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Advanced Sidebar Menu
4
  Plugin URI: http://lipeimagination.info/wordpress/advanced-sidebar-menu/
5
  Description: Creates dynamic menu based on child/parent relationship.
6
  Author: Mat Lipe
7
- Version: 3.4.7
8
  Author URI: http://lipeimagination.info
9
  Since: 10.12.12
10
  Email: mat@lipeimagination.info
4
  Plugin URI: http://lipeimagination.info/wordpress/advanced-sidebar-menu/
5
  Description: Creates dynamic menu based on child/parent relationship.
6
  Author: Mat Lipe
7
+ Version: 3.5.0
8
  Author URI: http://lipeimagination.info
9
  Since: 10.12.12
10
  Email: mat@lipeimagination.info
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: Mat Lipe
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40lipeimagination%2einfo&lc=US&item_name=Advanced%20Sidebar%20Menu&no_note=0&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest
4
  Tags: menus, sidebar menu, heirchy, category menu, pages menu
5
  Requires at least: 3.1
6
- Tested up to: 3.4.2
7
- Stable tag: 3.4.7
8
  License: GPLv2
9
 
10
  Creates a widget for both page and categories that will display the current page/category and all child pages or categories.
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40lipeimagination%2einfo&lc=US&item_name=Advanced%20Sidebar%20Menu&no_note=0&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest
4
  Tags: menus, sidebar menu, heirchy, category menu, pages menu
5
  Requires at least: 3.1
6
+ Tested up to: 3.5.1
7
+ Stable tag: 3.5.0
8
  License: GPLv2
9
 
10
  Creates a widget for both page and categories that will display the current page/category and all child pages or categories.
widgets/page.widget.php CHANGED
@@ -5,7 +5,7 @@
5
  * Creates a Widget of parent Child Pages
6
  *
7
  * @author mat lipe
8
- * @since 10.10.12
9
  * @package Advanced Sidebar Menu
10
  *
11
  */
@@ -98,52 +98,52 @@ class advanced_sidebar_menu_page extends WP_Widget {
98
  * Outputs the page list
99
  * @see WP_Widget::widget()
100
  * @uses for custom post types send the type to the filter titled 'advanced_sidebar_menu_post_type'
101
- * @since 10.10.12
 
102
  */
103
  function widget($args, $instance) {
104
- $single_type = 'page'; //default use is for pages
105
- global $asm;
 
106
 
107
  //Filter this one with a 'single' for a custom post type will default to working for pages only
108
  $post_type = apply_filters('advanced_sidebar_menu_post_type', 'page' );
109
 
110
 
111
  if( $post_type != 'page' ){
112
- $single_type = 'single';
113
  add_filter('page_css_class', array( $asm, 'custom_post_type_css'), 2, 4 );
114
 
115
  }
116
-
117
- if( call_user_func('is_'.$single_type) ){
118
-
119
- extract($args);
120
 
121
- global $wpdb, $post, $table_prefix, $asm;
122
-
123
- #-- Create a usable array of the excluded pages
124
- $exclude = explode(',', $instance['exclude']);
125
 
126
- #-- if the post has parents
127
- if($post->ancestors){
128
  $top_parent = end( $post->ancestors );
129
- } else {
130
  #--------- If this is the parent ------------------------------------------------
131
  $top_parent = $post->ID;
132
- }
 
133
 
134
- /**
135
- * Must be done this way to prevent doubling up of pages
136
- */
137
- $child_pages = $wpdb->get_results( "SELECT ID FROM ".$table_prefix."posts WHERE post_parent = $top_parent AND post_status='publish' Order by menu_order" );
138
 
139
- //for depreciation
140
- $p = $top_parent;
141
- $result = $child_pages;
 
 
 
 
 
142
 
143
- #---- if there are no children do not display the parent unless it is check to do so
144
- if( ($child_pages) || (($instance['include_childless_parent'] == 'checked') && (!in_array($top_parent, $exclude)) ) ){
145
 
146
- if( $instance['css'] == 'checked' ){
147
  echo '<style type="text/css">';
148
  include( advanced_sidebar_menu_functions::file_hyercy('sidebar-menu.css' ) );
149
  echo '</style>';
@@ -155,8 +155,8 @@ class advanced_sidebar_menu_page extends WP_Widget {
155
  #-- Bring in the view
156
  require( $asm->file_hyercy( 'page_list.php' ) );
157
  echo $after_widget;
158
- }
159
  }
 
160
  } #== /widget()
161
 
162
  } #== /Clas
5
  * Creates a Widget of parent Child Pages
6
  *
7
  * @author mat lipe
8
+ * @since 10.16.12
9
  * @package Advanced Sidebar Menu
10
  *
11
  */
98
  * Outputs the page list
99
  * @see WP_Widget::widget()
100
  * @uses for custom post types send the type to the filter titled 'advanced_sidebar_menu_post_type'
101
+ * @uses change the top parent manually with the filter 'advanced_sidebar_menu_top_parent'
102
+ * @since 10.16.12
103
  */
104
  function widget($args, $instance) {
105
+ global $wpdb, $post, $table_prefix, $asm;
106
+
107
+ extract($args);
108
 
109
  //Filter this one with a 'single' for a custom post type will default to working for pages only
110
  $post_type = apply_filters('advanced_sidebar_menu_post_type', 'page' );
111
 
112
 
113
  if( $post_type != 'page' ){
 
114
  add_filter('page_css_class', array( $asm, 'custom_post_type_css'), 2, 4 );
115
 
116
  }
117
+
 
 
 
118
 
119
+ #-- Create a usable array of the excluded pages
120
+ $exclude = explode(',', $instance['exclude']);
 
 
121
 
122
+ #-- if the post has parents
123
+ if($post->ancestors){
124
  $top_parent = end( $post->ancestors );
125
+ } else {
126
  #--------- If this is the parent ------------------------------------------------
127
  $top_parent = $post->ID;
128
+ }
129
+
130
 
131
+ //Filter for specifying the top parent
132
+ $top_parent = apply_filters('advanced_sidebar_menu_top_parent', $top_parent, $post );
 
 
133
 
134
+ /**
135
+ * Must be done this way to prevent doubling up of pages
136
+ */
137
+ $child_pages = $wpdb->get_results( "SELECT ID FROM ".$table_prefix."posts WHERE post_parent = $top_parent AND post_status='publish' AND post_type='".$post_type."' Order by menu_order" );
138
+
139
+ //for depreciation
140
+ $p = $top_parent;
141
+ $result = $child_pages;
142
 
143
+ #---- if there are no children do not display the parent unless it is check to do so
144
+ if( ($child_pages) || (($instance['include_childless_parent'] == 'checked') && (!in_array($top_parent, $exclude)) ) ){
145
 
146
+ if( $instance['css'] == 'checked' ){
147
  echo '<style type="text/css">';
148
  include( advanced_sidebar_menu_functions::file_hyercy('sidebar-menu.css' ) );
149
  echo '</style>';
155
  #-- Bring in the view
156
  require( $asm->file_hyercy( 'page_list.php' ) );
157
  echo $after_widget;
 
158
  }
159
+
160
  } #== /widget()
161
 
162
  } #== /Clas