Advanced Sidebar Menu - Version 6.0.0

Version Description

  • Remove legacy template support
  • Restructure plugin
  • Introduce 'advanced_sidebar_menu_template_part' filter
Download this release

Release Info

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

Code changes from version 5.1.4 to 6.0.0

advanced-sidebar-menu.php CHANGED
@@ -4,68 +4,76 @@ Plugin Name: Advanced Sidebar Menu
4
Plugin URI: https://matlipe.com/advanced-sidebar-menu/
5
Description: Creates dynamic menus based on parent/child relationship of your pages or categories.
6
Author: Mat Lipe
7
- Version: 5.1.4
8
Author URI: https://matlipe.com
9
Text Domain: advanced-sidebar-menu
10
*/
11
12
- define( 'ADVANCED_SIDEBAR_BASIC_VERSION', '5.1.4' );
13
14
15
- #-- Define Constants
16
- define( 'ADVANCED_SIDEBAR_DIR', plugin_dir_path(__FILE__) );
17
- define( 'ADVANCED_SIDEBAR_WIDGETS_DIR', ADVANCED_SIDEBAR_DIR . 'widgets/' );
18
- define( 'ADVANCED_SIDEBAR_VIEWS_DIR', ADVANCED_SIDEBAR_DIR . 'views/' );
19
- define( 'ADVANCED_SIDEBAR_LEGACY_DIR', ADVANCED_SIDEBAR_DIR . 'legacy/' );
20
21
22
- if( !function_exists( 'advanced_sidebar_menu_load' ) ){
23
- function advanced_sidebar_menu_load(){
24
- require( ADVANCED_SIDEBAR_WIDGETS_DIR . 'init.php' );
25
- require( ADVANCED_SIDEBAR_DIR . 'classes/Advanced_Sidebar_Menu_Deprecated.php' );
26
- require( ADVANCED_SIDEBAR_DIR . 'classes/advancedSidebarMenu.php' );
27
- require( ADVANCED_SIDEBAR_DIR . 'classes/Advanced_Sidebar_Menu_Page_Walker.php' );
28
- require( ADVANCED_SIDEBAR_DIR . 'classes/Advanced_Sidebar_Menu_List_Pages.php' );
29
- require( ADVANCED_SIDEBAR_DIR . 'classes/Advanced_Sidebar_Menu_Cache.php' );
30
31
- Advanced_Sidebar_Menu_Cache::init();
32
- $asm = new advancedSidebarMenu();
33
- }
34
- add_action( 'plugins_loaded', 'advanced_sidebar_menu_load' );
35
36
}
37
38
#-- Translate
39
- add_action('plugins_loaded', 'advanced_sidebar_menu_translate' );
40
function advanced_sidebar_menu_translate(){
41
- load_plugin_textdomain('advanced-sidebar-menu', false, 'advanced-sidebar-menu/languages');
42
}
43
44
-
45
- #-- Bring in the JQuery
46
- add_action('admin_print_scripts', 'advanced_sidebar_menu_script');
47
- function advanced_sidebar_menu_script() {
48
- wp_enqueue_script(
49
- apply_filters('asm_script', 'advanced-sidebar-menu-script'),
50
- plugins_url('js/advanced-sidebar-menu.js', __FILE__),
51
- array('jquery'),
52
- ADVANCED_SIDEBAR_BASIC_VERSION
53
- );
54
- };
55
-
56
57
#-- Let know about new Pro Version
58
add_action( 'advanced_sidebar_menu_after_widget_form', 'advanced_sidebar_menu_pro_notice' );
59
function advanced_sidebar_menu_pro_notice(){
60
- if( defined( 'ADVANCED_SIDEBAR_MENU_PRO_VERSION' ) ) return;
61
- ?>
62
- <fieldset style="border: 1px solid black; border-radius: 10px; padding: 10px;">
63
- <legend style="font-size: 14px; font-weight: bold;"><?php _e('Want More Options','advanced-sidebar-menu'); ?>?</legend>
64
- <p>
65
- <strong><big><a target="blank" href="http://matlipe.com/product/advanced-sidebar-menu-pro/"><?php _e('Go Pro', 'advanced-sidebar-menu'); ?>!</a></big></strong>
66
- <p>
67
- </fieldset>
68
- <?php
69
}
70
71
4
Plugin URI: https://matlipe.com/advanced-sidebar-menu/
5
Description: Creates dynamic menus based on parent/child relationship of your pages or categories.
6
Author: Mat Lipe
7
+ Version: 6.0.0
8
Author URI: https://matlipe.com
9
Text Domain: advanced-sidebar-menu
10
*/
11
12
+ define( 'ADVANCED_SIDEBAR_BASIC_VERSION', '6.0.0' );
13
+ define( 'ADVANCED_SIDEBAR_DIR', plugin_dir_path( __FILE__ ) );
14
15
+ if( !function_exists( 'advanced_sidebar_menu_load' ) ){
16
+ function advanced_sidebar_menu_load(){
17
+ //widgets
18
+ require( ADVANCED_SIDEBAR_DIR . 'src/widgets/advanced_sidebar_menu_category.php' );
19
+ require( ADVANCED_SIDEBAR_DIR . 'src/widgets/advanced_sidebar_menu_page.php' );
20
21
+ //deprecated
22
23
+ //main src
24
+ require( ADVANCED_SIDEBAR_DIR . 'deprecated/Advanced_Sidebar_Menu_Menu_Deprecated.php' );
25
+ require( ADVANCED_SIDEBAR_DIR . 'src/Advanced_Sidebar_Menu.php' );
26
+ require( ADVANCED_SIDEBAR_DIR . 'src/Advanced_Sidebar_Menu_Menu.php' );
27
+ require( ADVANCED_SIDEBAR_DIR . 'deprecated/advancedSidebarMenu.php' );
28
29
+ require( ADVANCED_SIDEBAR_DIR . 'src/Advanced_Sidebar_Menu_Page_Walker.php' );
30
+ require( ADVANCED_SIDEBAR_DIR . 'src/Advanced_Sidebar_Menu_List_Pages.php' );
31
+ require( ADVANCED_SIDEBAR_DIR . 'src/Advanced_Sidebar_Menu_Cache.php' );
32
+
33
+ Advanced_Sidebar_Menu::init();
34
+ Advanced_Sidebar_Menu_Cache::init();
35
+ }
36
37
+ add_action( 'plugins_loaded', 'advanced_sidebar_menu_load' );
38
39
}
40
41
#-- Translate
42
+ add_action( 'plugins_loaded', 'advanced_sidebar_menu_translate' );
43
function advanced_sidebar_menu_translate(){
44
+ load_plugin_textdomain( 'advanced-sidebar-menu', false, 'advanced-sidebar-menu/languages' );
45
}
46
47
+ add_action( 'admin_print_scripts', 'advanced_sidebar_menu_script' );
48
+ function advanced_sidebar_menu_script(){
49
+ wp_enqueue_script(
50
+ apply_filters( 'asm_script', 'advanced-sidebar-menu-script' ),
51
+ plugins_url( 'resources/js/advanced-sidebar-menu.js', __FILE__ ),
52
+ array( 'jquery' ),
53
+ ADVANCED_SIDEBAR_BASIC_VERSION
54
+ );
55
+ }
56
57
#-- Let know about new Pro Version
58
add_action( 'advanced_sidebar_menu_after_widget_form', 'advanced_sidebar_menu_pro_notice' );
59
function advanced_sidebar_menu_pro_notice(){
60
+ if( defined( 'ADVANCED_SIDEBAR_MENU_PRO_VERSION' ) ){
61
+ return;
62
+ }
63
+ ?>
64
+ <fieldset style="border: 1px solid black; border-radius: 10px; padding: 10px;">
65
+ <legend style="font-size: 14px; font-weight: bold;"><?php _e( 'Want More Options', 'advanced-sidebar-menu' ); ?>
66
+ ?
67
+ </legend>
68
+ <p>
69
+ <strong><big>
70
+ <a target="blank" href="http://matlipe.com/product/advanced-sidebar-menu-pro/"><?php _e( 'Go Pro', 'advanced-sidebar-menu' ); ?>
71
+ !
72
+ </a>
73
+ </big></strong>
74
+ <p>
75
+ </fieldset>
76
+ <?php
77
}
78
79
classes/Advanced_Sidebar_Menu_Deprecated.php → deprecated/Advanced_Sidebar_Menu_Menu_Deprecated.php RENAMED
@@ -7,7 +7,47 @@
7
*
8
* @see
9
*/
10
- class Advanced_Sidebar_Menu_Deprecated {
11
12
13
/**
@@ -16,7 +56,7 @@ class Advanced_Sidebar_Menu_Deprecated {
16
function page_children( $pID ) {
17
global $wpdb, $table_prefix;
18
19
- _deprecated_function( 'advancedSidebarMenu::page_children', "5.0.0", 'advancedSidebarMenu::hasChildren' );
20
21
return $wpdb->get_results( "SELECT ID FROM " . $table_prefix . "posts WHERE post_parent = " . $pID . " AND post_type = $this->post_type AND post_status='publish' ORDER By " . $this->order_by );
22
7
*
8
* @see
9
*/
10
+ abstract class Advanced_Sidebar_Menu_Menu_Deprecated {
11
+
12
+ /**
13
+ * @deprecated 6.0.0
14
+ */
15
+ static function file_hyercy( $file, $legacy = false ) {
16
+ if( $theme_file = locate_template( array( 'advanced-sidebar-menu/' . $file ) ) ){
17
+ $file = $theme_file;
18
+ } else {
19
+ $file = ADVANCED_SIDEBAR_DIR . 'views/' . $file;
20
+ }
21
+
22
+ return apply_filters( 'advanced_sidebar_menu_view_file', $file, $legacy );
23
+
24
+ }
25
+
26
+ /**
27
+ * @see add_has_children_class
28
+ * @deprecated
29
+ */
30
+ function hasChildrenClass( $classes, $page ) {
31
+ return $this->add_has_children_class( $classes, $page );
32
+ }
33
+
34
+
35
+ /**
36
+ * @see has_children
37
+ * @deprecated
38
+ */
39
+ function hasChildren( $post_id ){
40
+ return $this->has_children( $post_id );
41
+ }
42
+
43
+
44
+ /**
45
+ * @see is_excluded
46
+ * @deprecated
47
+ */
48
+ function exclude( $id ) {
49
+ return $this->is_excluded( $id );
50
+ }
51
52
53
/**
56
function page_children( $pID ) {
57
global $wpdb, $table_prefix;
58
59
+ _deprecated_function( 'Advanced_Sidebar_Menu_Menu::page_children', "5.0.0", 'Advanced_Sidebar_Menu_Menu::hasChildren' );
60
61
return $wpdb->get_results( "SELECT ID FROM " . $table_prefix . "posts WHERE post_parent = " . $pID . " AND post_type = $this->post_type AND post_status='publish' ORDER By " . $this->order_by );
62
deprecated/advancedSidebarMenu.php ADDED
@@ -0,0 +1,8 @@
1
+ <?php
2
+ /**
3
+ * @deprecated 6.0.0
4
+ *
5
+ */
6
+ class advancedSidebarMenu extends Advanced_Sidebar_Menu_Menu{
7
+
8
+ }
languages/advanced-sidebar-menu.pot CHANGED
@@ -3,14 +3,14 @@ msgid ""
3
msgstr ""
4
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
"Project-Id-Version: Advanced Sidebar Menu\n"
6
- "POT-Creation-Date: 2015-08-14 16:54-0400\n"
7
- "PO-Revision-Date: 2015-08-14 16:53-0400\n"
8
"Last-Translator: \n"
9
"Language-Team: \n"
10
"MIME-Version: 1.0\n"
11
"Content-Type: text/plain; charset=UTF-8\n"
12
"Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 1.8.4\n"
14
"X-Poedit-Basepath: ..\n"
15
"X-Poedit-WPHeader: advanced-sidebar-menu.php\n"
16
"X-Poedit-SourceCharset: UTF-8\n"
@@ -20,88 +20,87 @@ msgstr ""
20
"X-Poedit-SearchPath-0: .\n"
21
"X-Poedit-SearchPathExcluded-0: *.js\n"
22
23
- #: advanced-sidebar-menu.php:56
24
msgid "Want More Options"
25
msgstr ""
26
27
- #: advanced-sidebar-menu.php:58
28
msgid "Go Pro"
29
msgstr ""
30
31
- #: widgets/category.widget.php:35
32
msgid ""
33
"Creates a menu of all the categories using the child/parent relationship"
34
msgstr ""
35
36
- #: widgets/category.widget.php:39
37
msgid "Advanced Sidebar Categories Menu"
38
msgstr ""
39
40
- #: widgets/category.widget.php:57 widgets/page.widget.php:60
41
msgid "Title"
42
msgstr ""
43
44
- #: widgets/category.widget.php:64
45
msgid "Include Parent Category"
46
msgstr ""
47
48
- #: widgets/category.widget.php:71 widgets/page.widget.php:73
49
msgid "Include Parent Even With No Children"
50
msgstr ""
51
52
- #: widgets/category.widget.php:77
53
msgid "Use this plugins styling"
54
msgstr ""
55
56
- #: widgets/category.widget.php:83
57
msgid "Display Categories on Single Posts"
58
msgstr ""
59
60
- #: widgets/category.widget.php:96
61
msgid "Display Each Single Post's Category"
62
msgstr ""
63
64
- #: widgets/category.widget.php:114
65
msgid "Categories to Exclude, Comma Separated"
66
msgstr ""
67
68
- #: widgets/category.widget.php:120 widgets/page.widget.php:109
69
- msgid "Legacy Mode: (use pre 4.0 structure and css)"
70
- msgstr ""
71
-
72
- #: widgets/category.widget.php:127
73
msgid "Always Display Child Categories"
74
msgstr ""
75
76
- #: widgets/category.widget.php:140 widgets/page.widget.php:128
77
msgid "Levels to Display"
78
msgstr ""
79
80
- #: widgets/page.widget.php:34
81
msgid "Creates a menu of all the pages using the child/parent relationship"
82
msgstr ""
83
84
- #: widgets/page.widget.php:41
85
msgid "Advanced Sidebar Pages Menu"
86
msgstr ""
87
88
- #: widgets/page.widget.php:66
89
msgid "Include Parent Page"
90
msgstr ""
91
92
- #: widgets/page.widget.php:79
93
msgid "Order By"
94
msgstr ""
95
96
- #: widgets/page.widget.php:98
97
msgid "Use this Plugin's Styling"
98
msgstr ""
99
100
- #: widgets/page.widget.php:104
101
msgid "Pages to Exclude (ids), Comma Separated"
102
msgstr ""
103
104
- #: widgets/page.widget.php:115
105
msgid "Always Display Child Pages"
106
msgstr ""
107
@@ -110,11 +109,13 @@ msgid "Advanced Sidebar Menu"
110
msgstr ""
111
112
#. Plugin URI of the plugin/theme
113
- msgid "http://matlipe.com/advanced-sidebar-menu/"
114
msgstr ""
115
116
#. Description of the plugin/theme
117
- msgid "Creates dynamic menu based on child/parent relationship."
118
msgstr ""
119
120
#. Author of the plugin/theme
@@ -122,5 +123,5 @@ msgid "Mat Lipe"
122
msgstr ""
123
124
#. Author URI of the plugin/theme
125
- msgid "http://matlipe.com"
126
msgstr ""
3
msgstr ""
4
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
"Project-Id-Version: Advanced Sidebar Menu\n"
6
+ "POT-Creation-Date: 2016-05-03 10:55-0400\n"
7
+ "PO-Revision-Date: 2016-05-03 10:55-0400\n"
8
"Last-Translator: \n"
9
"Language-Team: \n"
10
"MIME-Version: 1.0\n"
11
"Content-Type: text/plain; charset=UTF-8\n"
12
"Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.8.7\n"
14
"X-Poedit-Basepath: ..\n"
15
"X-Poedit-WPHeader: advanced-sidebar-menu.php\n"
16
"X-Poedit-SourceCharset: UTF-8\n"
20
"X-Poedit-SearchPath-0: .\n"
21
"X-Poedit-SearchPathExcluded-0: *.js\n"
22
23
+ #: advanced-sidebar-menu.php:65
24
msgid "Want More Options"
25
msgstr ""
26
27
+ #: advanced-sidebar-menu.php:70
28
msgid "Go Pro"
29
msgstr ""
30
31
+ #: src/widgets/advanced_sidebar_menu_category.php:35
32
msgid ""
33
"Creates a menu of all the categories using the child/parent relationship"
34
msgstr ""
35
36
+ #: src/widgets/advanced_sidebar_menu_category.php:39
37
msgid "Advanced Sidebar Categories Menu"
38
msgstr ""
39
40
+ #: src/widgets/advanced_sidebar_menu_category.php:57
41
+ #: src/widgets/advanced_sidebar_menu_page.php:59
42
msgid "Title"
43
msgstr ""
44
45
+ #: src/widgets/advanced_sidebar_menu_category.php:64
46
msgid "Include Parent Category"
47
msgstr ""
48
49
+ #: src/widgets/advanced_sidebar_menu_category.php:71
50
+ #: src/widgets/advanced_sidebar_menu_page.php:72
51
msgid "Include Parent Even With No Children"
52
msgstr ""
53
54
+ #: src/widgets/advanced_sidebar_menu_category.php:77
55
msgid "Use this plugins styling"
56
msgstr ""
57
58
+ #: src/widgets/advanced_sidebar_menu_category.php:83
59
msgid "Display Categories on Single Posts"
60
msgstr ""
61
62
+ #: src/widgets/advanced_sidebar_menu_category.php:96
63
msgid "Display Each Single Post's Category"
64
msgstr ""
65
66
+ #: src/widgets/advanced_sidebar_menu_category.php:113
67
msgid "Categories to Exclude, Comma Separated"
68
msgstr ""
69
70
+ #: src/widgets/advanced_sidebar_menu_category.php:118
71
msgid "Always Display Child Categories"
72
msgstr ""
73
74
+ #: src/widgets/advanced_sidebar_menu_category.php:131
75
+ #: src/widgets/advanced_sidebar_menu_page.php:121
76
msgid "Levels to Display"
77
msgstr ""
78
79
+ #: src/widgets/advanced_sidebar_menu_page.php:33
80
msgid "Creates a menu of all the pages using the child/parent relationship"
81
msgstr ""
82
83
+ #: src/widgets/advanced_sidebar_menu_page.php:40
84
msgid "Advanced Sidebar Pages Menu"
85
msgstr ""
86
87
+ #: src/widgets/advanced_sidebar_menu_page.php:65
88
msgid "Include Parent Page"
89
msgstr ""
90
91
+ #: src/widgets/advanced_sidebar_menu_page.php:78
92
msgid "Order By"
93
msgstr ""
94
95
+ #: src/widgets/advanced_sidebar_menu_page.php:97
96
msgid "Use this Plugin's Styling"
97
msgstr ""
98
99
+ #: src/widgets/advanced_sidebar_menu_page.php:103
100
msgid "Pages to Exclude (ids), Comma Separated"
101
msgstr ""
102
103
+ #: src/widgets/advanced_sidebar_menu_page.php:108
104
msgid "Always Display Child Pages"
105
msgstr ""
106
109
msgstr ""
110
111
#. Plugin URI of the plugin/theme
112
+ msgid "https://matlipe.com/advanced-sidebar-menu/"
113
msgstr ""
114
115
#. Description of the plugin/theme
116
+ msgid ""
117
+ "Creates dynamic menus based on parent/child relationship of your pages or "
118
+ "categories."
119
msgstr ""
120
121
#. Author of the plugin/theme
123
msgstr ""
124
125
#. Author URI of the plugin/theme
126
+ msgid "https://matlipe.com"
127
msgstr ""
legacy/category_list.php DELETED
@@ -1,65 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * The Ouput of tad Advanced Sidebar Categories Widget
5
- * @author Mat Lipe
6
- * @since 7/16/12
7
- *
8
- *
9
- * @uses to edit create a file named category_list.php and put in a folder in the your child theme called 'advanced-sidebar-menu
10
- * @uses copy the contents of the file into that file and edit at will
11
- * @param Do not edit this file in this location or it will break on update
12
- */
13
-
14
-
15
- //Displays the title
16
- $asm->title();
17
-
18
- //Include the parent page if chosen
19
- if( $asm->include_parent() ){
20
- echo '<ul class="parent-sidebar-menu">';
21
- wp_list_categories( 'title_li=&include=' . $top_cat);
22
- }
23
- //If there are children to display
24
- if( !empty($all_categories) ){
25
- echo '<ul class="child-sidebar-menu">';
26
-
27
- #-- If they want all the child categories displayed always
28
- if( $asm->display_all() ){
29
- wp_list_categories('title_li=&child_of=' . $top_cat .'&depth=' .$instance['levels'] );
30
- echo '</ul><!-- End #child-sidebar-menu -->';
31
-
32
- } else {
33
-
34
- #-- to Display the categories based a parent child relationship
35
- foreach( $all_categories as $child_cat ){
36
-
37
- //IF this is a child category of the top one
38
- if( $asm->first_level_category( $child_cat ) ){
39
-
40
- //List the child category and the children if it is the current one
41
- wp_list_categories('title_li=&include=' . $child_cat->cat_ID . '&depth=1' );
42
-
43
-
44
- //If there are children of this cat and it is a parent or child or the current cat
45
- if( $asm->second_level_cat( $child_cat ) ){
46
- #-- Create a new menu with all the children under it
47
- echo '<ul class="grandchild-sidebar-menu">';
48
- wp_list_categories("title_li=&exclude=".$instance['exclude']."&depth=3&child_of=" .$child_cat->cat_ID );
49
- echo '</ul>';
50
-
51
- }
52
- }
53
- } //End foreach
54
-
55
- echo '</ul><!-- End #child-sidebar-menu -->';
56
-
57
- } //End if display all is not checked
58
-
59
- } //End if the are child categories
60
-
61
-
62
- #-- if a parent category was displayed
63
- if( $asm->include_parent() ){
64
- echo '</ul><!-- End #parent-sidebar-menu -->';
65
- }
legacy/page_list.php DELETED
@@ -1,72 +0,0 @@
1
- <?php
2
- /**
3
- * The Ouput of the Advanced Sidebar Page Widget
4
- *
5
- * @author Mat Lipe
6
- * @deprecated 3.1.13
7
- *
8
- * @see views/page_list.php which is the files used when not using legacy mode
9
- *
10
- * @example to edit, create a file named page_list.php and put in a folder in the your theme called 'advanced-sidebar-menu.
11
- * Copy the contents of the file into that file and edit at will.
12
- * Select Legacy in the widget options.
13
- * @notice Do not edit this file in its original location or it will break on upgrade
14
- */
15
-
16
-
17
- /** @var advancedSidebarMenu $asm */
18
- $asm->title();
19
-
20
- #-- list the parent page if chosen
21
- if( $asm->include_parent() ){
22
- echo '<ul class="parent-sidebar-menu" >';
23
- wp_list_pages("post_type=".$asm->post_type."&sort_column=$asm->order_by&title_li=&echo=1&depth=1&include=".$asm->top_id);
24
- }
25
-
26
-
27
- //If there are children start the Child Sidebar Menu
28
- if( $child_pages ){
29
- echo '<ul class="child-sidebar-menu">';
30
-
31
- #-- If they want all the pages displayed always
32
- if( $asm->display_all() ){
33
-
34
- wp_list_pages("post_type=".$asm->post_type."&sort_column=$asm->order_by&title_li=&echo=1&child_of=".$asm->top_id."&depth=".$instance['levels']."&exclude=".$instance['exclude']);
35
- } else {
36
-
37
- #-- Display children of current page's parent only
38
- foreach($child_pages as $pID){
39
-
40
- #-- If the page is not in the excluded ones
41
- if( $asm->is_excluded( $pID ) ){
42
- #--echo the current page from the $result
43
- wp_list_pages("post_type=".$asm->post_type."&sort_column=$asm->order_by&title_li=&echo=1&depth=1&include=".$pID);
44
- }
45
-
46
- #-- if the link that was just listed is the current page we are on
47
- if( $asm->page_ancestor( $pID ) ){
48
-
49
- //Get the children of this page
50
- $grandkids = $asm->page_children($pID);
51
- if( $grandkids ){
52
- #-- Create a new menu with all the children under it
53
- echo '<ul class="grandchild-sidebar-menu">';
54
- wp_list_pages("post_type=".$asm->post_type."&sort_column=$asm->order_by&title_li=&echo=1&exclude=".$instance['exclude']."&child_of=".$pID);
55
-
56
- echo '</ul>';
57
- }
58
- }
59
- }
60
- }
61
-
62
- #-- Close the First Level menu
63
- echo '</ul><!-- End child-sidebar-menu -->';
64
-
65
- }
66
- if( $asm->include_parent() ) {
67
- echo '</ul><!-- .parent-sidebar-menu -->';
68
- }
69
-
70
-
71
-
72
-
legacy/sidebar-menu.css DELETED
@@ -1,34 +0,0 @@
1
- .advanced-sidebar-menu ul li a{
2
- font-weight: bold;
3
- font-size: 130%;
4
- text-decoration: none;
5
- }
6
-
7
- .advanced-sidebar-menu ul li a:hover{
8
- text-decoration: underline;
9
- }
10
-
11
- .advanced-sidebar-menu ul ul li a{
12
- font-weight: normal;
13
- font-size: 100%;
14
- }
15
-
16
- .advanced-sidebar-menu ul{
17
- margin: 0 0 0 18px;
18
- list-style: none;
19
- list-style-type: none;
20
- }
21
-
22
- .advanced-sidebar-menu ul li{
23
- list-style:none;
24
- list-style-type: none;
25
-
26
- }
27
-
28
- .advanced-sidebar-menu li.current_page_item{
29
- list-style-type: disc;
30
- }
31
-
32
- .advanced-sidebar-menu li.current_page_item a{
33
- font-weight: bold;
34
- }
readme.txt CHANGED
@@ -4,8 +4,8 @@ Contributors: Mat Lipe
4
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40matlipe%2ecom&lc=US&item_name=Advanced%20Sidebar%20Menu&no_note=0&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest
5
Tags: menus, sidebar menu, hierarchy, category menu, pages menu
6
Requires at least: 4.2.0
7
- Tested up to: 4.5.0
8
- Stable tag: 5.1.4
9
10
== Description ==
11
@@ -132,6 +132,12 @@ I do offer premium services for building custom add-ons for additional functiona
132
133
134
== Changelog ==
135
= 5.1.0 =
136
* Convert query over to get_posts() to allow for more extendability
137
* Implement object caching to improve performance for environments using external object caches
@@ -202,6 +208,8 @@ I do offer premium services for building custom add-ons for additional functiona
202
203
204
== Upgrade Notice ==
205
206
= 5.0.0 =
207
If you used a custom page_list.php template previously you may want to redo it on this version to take advantage of the new structure.
4
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=paypal%40matlipe%2ecom&lc=US&item_name=Advanced%20Sidebar%20Menu&no_note=0&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest
5
Tags: menus, sidebar menu, hierarchy, category menu, pages menu
6
Requires at least: 4.2.0
7
+ Tested up to: 4.5.1
8
+ Stable tag: 6.0.0
9
10
== Description ==
11
132
133
134
== Changelog ==
135
+ = 6.0.0 =
136
+ * Remove legacy template support
137
+ * Restructure plugin
138
+ * Introduce 'advanced_sidebar_menu_template_part' filter
139
+
140
+
141
= 5.1.0 =
142
* Convert query over to get_posts() to allow for more extendability
143
* Implement object caching to improve performance for environments using external object caches
208
209
210
== Upgrade Notice ==
211
+ = 6.0.0 =
212
+ If you are using the Pro version of this plugin be sure to update to Pro version 1.4.4 to keep all functionality intact with this version.
213
214
= 5.0.0 =
215
If you used a custom page_list.php template previously you may want to redo it on this version to take advantage of the new structure.
{js → resources/js}/advanced-sidebar-menu.js RENAMED
File without changes
src/Advanced_Sidebar_Menu.php ADDED
@@ -0,0 +1,88 @@
1
+ <?php
2
+
3
+
4
+ /**
5
+ * Advanced_Sidebar_Menu
6
+ *
7
+ * @author Mat Lipe
8
+ * @since 6.0.0
9
+ *
10
+ */
11
+ class Advanced_Sidebar_Menu {
12
+
13
+ private function hooks(){
14
+ add_action( 'widgets_init', array( $this, 'register_widgets' ) );
15
+ }
16
+
17
+
18
+ public function register_widgets(){
19
+ register_widget( "advanced_sidebar_menu_page" );
20
+ register_widget( "advanced_sidebar_menu_category" );
21
+
22
+ }
23
+
24
+
25
+ /**
26
+ * Retrieve a template file from either the theme's 'advanced-sidebar-menu' directory
27
+ * or this plugins views folder if one does not exist
28
+ *
29
+ * @since 6.0.0
30
+ *
31
+ * @param string $file_name
32
+ *
33
+ * @return string
34
+ */
35
+ public function get_template_part( $file_name ){
36
+ $file = locate_template( 'advanced-sidebar-menu/' . $file_name );
37
+ if( false == $file ){
38
+ $file = ADVANCED_SIDEBAR_DIR . 'views/' . $file_name;
39
+ }
40
+
41
+ //backward compatibility
42
+ $file = apply_filters( 'advanced_sidebar_menu_view_file', $file, false );
43
+
44
+ $_filter_args = array(
45
+ $file,
46
+ $file_name,
47
+ $this,
48
+ );
49
+
50
+ $file = apply_filters_ref_array( 'advanced_sidebar_menu_template_part', $_filter_args );
51
+
52
+ return $file;
53
+ }
54
+
55
+ //********** SINGLETON FUNCTIONS **********/
56
+
57
+ /**
58
+ * Instance of this class for use as singleton
59
+ */
60
+ private static $instance;
61
+
62
+
63
+ /**
64
+ * Create the instance of the class
65
+ *
66
+ * @static
67
+ * @return void
68
+ */
69
+ public static function init(){
70
+ self::get_instance()->hooks();
71
+ }
72
+
73
+
74
+ /**
75
+ * Get (and instantiate, if necessary) the instance of the
76
+ * class
77
+ *
78
+ * @static
79
+ * @return self
80
+ */
81
+ public static function get_instance(){
82
+ if( !is_a( self::$instance, __CLASS__ ) ){
83
+ self::$instance = new self();
84
+ }
85
+
86
+ return self::$instance;
87
+ }
88
+ }
{classes → src}/Advanced_Sidebar_Menu_Cache.php RENAMED
@@ -36,7 +36,7 @@ class Advanced_Sidebar_Menu_Cache {
36
* Retrieve a posts child pages from the cache
37
* If no exist in the cache will return false
38
*
39
- * @param advancedSidebarMenu|Advanced_Sidebar_Menu_List_Pages $class
40
*
41
* @return array|false
42
*/
@@ -55,8 +55,8 @@ class Advanced_Sidebar_Menu_Cache {
55
* Add a post and its children to the cache
56
* Uses a global key for all posts so this appends to an array
57
*
58
- * @param advancedSidebarMenu|Advanced_Sidebar_Menu_List_Pages $class
59
- * @param array $child_pages
60
*
61
* @return void
62
*/
@@ -75,7 +75,7 @@ class Advanced_Sidebar_Menu_Cache {
75
* we serialize the whole object and hash it
76
*
77
*
78
- * @param advancedSidebarMenu|Advanced_Sidebar_Menu_List_Pages $class
79
*
80
* @return string
81
*/
36
* Retrieve a posts child pages from the cache
37
* If no exist in the cache will return false
38
*
39
+ * @param Advanced_Sidebar_Menu_Menu|Advanced_Sidebar_Menu_List_Pages $class
40
*
41
* @return array|false
42
*/
55
* Add a post and its children to the cache
56
* Uses a global key for all posts so this appends to an array
57
*
58
+ * @param Advanced_Sidebar_Menu_Menu|Advanced_Sidebar_Menu_List_Pages $class
59
+ * @param array $child_pages
60
*
61
* @return void
62
*/
75
* we serialize the whole object and hash it
76
*
77
*
78
+ * @param Advanced_Sidebar_Menu_Menu|Advanced_Sidebar_Menu_List_Pages $class
79
*
80
* @return string
81
*/
{classes → src}/Advanced_Sidebar_Menu_List_Pages.php RENAMED
@@ -91,8 +91,8 @@ class Advanced_Sidebar_Menu_List_Pages{
91
*
92
* Used in the view
93
*
94
- * @param int $parent_id - $asm->top_id
95
- * @param advancedSidebarMenu $class
96
*/
97
public function __construct( $parent_id, $class ){
98
91
*
92
* Used in the view
93
*
94
+ * @param int $parent_id - $asm->top_id
95
+ * @param Advanced_Sidebar_Menu_Menu $class
96
*/
97
public function __construct( $parent_id, $class ){
98
classes/advancedSidebarMenu.php → src/Advanced_Sidebar_Menu_Menu.php RENAMED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * advancedSidebarMenu
4
*
5
* These Functions are Specific to the Advanced Sidebar Menu
6
*
@@ -8,7 +8,7 @@
8
*
9
* @package Advanced Sidebar Menu
10
*/
11
- class advancedSidebarMenu extends Advanced_Sidebar_Menu_Deprecated {
12
13
var $instance; //The widget instance
14
var $top_id; //Either the top cat or page
@@ -268,11 +268,7 @@ class advancedSidebarMenu extends Advanced_Sidebar_Menu_Deprecated {
268
$title = apply_filters( 'widget_title', $this->instance[ 'title' ], $this->args, $this->instance );
269
$title = apply_filters( 'advanced_sidebar_menu_widget_title', $title, $this->args, $this->instance, $this );
270
271
- if( $this->checked( 'legacy_mode' ) ){
272
- echo '<h4 class="widgettitle">' . $title . '</h4>';
273
- } else {
274
- echo $this->args[ 'before_title' ] . $title . $this->args[ 'after_title' ];
275
- }
276
}
277
278
}
@@ -307,58 +303,5 @@ class advancedSidebarMenu extends Advanced_Sidebar_Menu_Deprecated {
307
}
308
}
309
310
-
311
- /**
312
- * Allows for Overwriting files in the child theme
313
- *
314
- * @since 4.23.13
315
- *
316
- * @param string $file the name of the file to overwrite
317
- */
318
-
319
- static function file_hyercy( $file, $legacy = false ) {
320
- if( $theme_file = locate_template( array( 'advanced-sidebar-menu/' . $file ) ) ){
321
- $file = $theme_file;
322
- } elseif( $legacy ) {
323
- $file = ADVANCED_SIDEBAR_LEGACY_DIR . $file;
324
- } else {
325
- $file = ADVANCED_SIDEBAR_VIEWS_DIR . $file;
326
- }
327
-
328
- return apply_filters( 'advanced_sidebar_menu_view_file', $file, $legacy );
329
-
330
- }
331
-
332
- /*************** Deprectated ***************/
333
-
334
- /**
335
- * @see add_has_children_class
336
- * @deprecated
337
- */
338
- function hasChildrenClass( $classes, $page ) {
339
- return $this->add_has_children_class( $classes, $page );
340
- }
341
-
342
-
343
- /**
344
- * @see has_children
345
- * @deprecated
346
- */
347
- function hasChildren( $post_id ){
348
- return $this->has_children( $post_id );
349
- }
350
-
351
-
352
- /**
353
- * @see is_excluded
354
- * @deprecated
355
- */
356
- function exclude( $id ) {
357
- return $this->is_excluded( $id );
358
- }
359
-
360
-
361
-
362
-
363
} //End class
364
1
<?php
2
/**
3
+ * Advanced_Sidebar_Menu_Menu
4
*
5
* These Functions are Specific to the Advanced Sidebar Menu
6
*
8
*
9
* @package Advanced Sidebar Menu
10
*/
11
+ class Advanced_Sidebar_Menu_Menu extends Advanced_Sidebar_Menu_Menu_Deprecated {
12
13
var $instance; //The widget instance
14
var $top_id; //Either the top cat or page
268
$title = apply_filters( 'widget_title', $this->instance[ 'title' ], $this->args, $this->instance );
269
$title = apply_filters( 'advanced_sidebar_menu_widget_title', $title, $this->args, $this->instance, $this );
270
271
+ echo $this->args[ 'before_title' ] . $title . $this->args[ 'after_title' ];
272
}
273
274
}
303
}
304
}
305
306
} //End class
307
{classes → src}/Advanced_Sidebar_Menu_Page_Walker.php RENAMED
File without changes
widgets/category.widget.php → src/widgets/advanced_sidebar_menu_category.php RENAMED
@@ -15,16 +15,16 @@
15
class advanced_sidebar_menu_category extends WP_Widget {
16
17
private $defaults = array(
18
- 'title' => false,
19
'include_parent' => false,
20
'include_childless_parent' => false,
21
- 'single' => false,
22
'css' => false,
23
- 'exclude' => false,
24
- 'new_widget' => 'list',
25
- 'legacy_mode' => false,
26
'display_all' => false,
27
- 'levels' => 1
28
);
29
30
@@ -32,7 +32,7 @@ class advanced_sidebar_menu_category extends WP_Widget {
32
33
$widget_ops = array(
34
'classname' => 'advanced-sidebar-menu advanced-sidebar-category',
35
- 'description' => __( 'Creates a menu of all the categories using the child/parent relationship', 'advanced-sidebar-menu' )
36
);
37
$control_ops = array( 'width' => 290 );
38
@@ -110,20 +110,11 @@ class advanced_sidebar_menu_category extends WP_Widget {
110
</span>
111
112
113
-
114
<p> <?php _e( "Categories to Exclude, Comma Separated", 'advanced-sidebar-menu' ); ?>:
115
<input id="<?php echo $this->get_field_name( 'exclude' ); ?>"
116
name="<?php echo $this->get_field_name( 'exclude' ); ?>" type="text" class="widefat" value="<?php echo $instance[ 'exclude' ]; ?>"/>
117
</p>
118
119
-
120
- <p> <?php _e( "Legacy Mode: (use pre 4.0 structure and css)", 'advanced-sidebar-menu' ); ?>
121
- <input id="<?php echo $this->get_field_name( 'legacy_mode' ); ?>"
122
- name="<?php echo $this->get_field_name( 'legacy_mode' ); ?>" type="checkbox" value="checked"
123
- <?php echo $instance[ 'legacy_mode' ]; ?>/>
124
- </p>
125
-
126
-
127
<p> <?php _e( "Always Display Child Categories", 'advanced-sidebar-menu' ); ?>
128
<input id="<?php echo $this->get_field_name( 'display_all' ); ?>"
129
name="<?php echo $this->get_field_name( 'display_all' ); ?>" type="checkbox" value="checked"
@@ -160,7 +151,8 @@ class advanced_sidebar_menu_category extends WP_Widget {
160
/**
161
* Updates the widget data
162
*
163
- * @filter - $newInstance = apply_filters('advanced_sidebar_menu_category_widget_update', $newInstance, $oldInstance );
164
* @since 5.19.13
165
*/
166
function update( $newInstance, $oldInstance ){
@@ -189,26 +181,12 @@ class advanced_sidebar_menu_category extends WP_Widget {
189
*/
190
function widget( $args, $instance ){
191
192
- $defaults = array(
193
- 'title' => '',
194
- 'include_parent' => false,
195
- 'include_childless_parent' => false,
196
- 'css' => false,
197
- 'single' => false,
198
- 'new_widget' => 'widget',
199
- 'exclude' => '',
200
- 'legacy_mode' => false,
201
- 'display_all' => false,
202
- 'levels' => 1,
203
- 'order' => 'DESC'
204
- );
205
-
206
- $instance = wp_parse_args( $instance, $defaults );
207
208
if( is_single() && !isset( $instance[ 'single' ] ) ){
209
return;
210
}
211
- $asm = new advancedSidebarMenu;
212
$asm->instance = $instance;
213
$asm->args = $args;
214
@@ -216,8 +194,7 @@ class advanced_sidebar_menu_category extends WP_Widget {
216
$asm->order_by = apply_filters( 'advanced_sidebar_menu_category_orderby', null, $args, $instance );
217
218
do_action( 'advanced_sidebar_menu_widget_pre_render', $asm, $this );
219
-
220
- $legacy = $asm->checked( 'legacy_mode' );
221
222
$cat_ids = $already_top = array();
223
$asm_once = false; //keeps track of how many widgets this created
@@ -243,14 +220,14 @@ class advanced_sidebar_menu_category extends WP_Widget {
243
uasort( $category_array, array( $asm, 'sortTerms' ) );
244
245
foreach( $category_array as $id => $cat ){
246
- $cat_ids[ ] = $cat->term_id;
247
}
248
249
//IF on a category page get the id of the category
250
} elseif( is_tax() || is_category() ) {
251
252
$asm->current_term = get_queried_object()->term_id;
253
- $cat_ids[ ] = get_queried_object()->term_id;
254
}
255
256
$cat_ids = apply_filters( 'advanced_sidebar_menu_category_ids', $cat_ids, $args, $instance );
@@ -270,7 +247,7 @@ class advanced_sidebar_menu_category extends WP_Widget {
270
continue;
271
}
272
273
- $already_top[ ] = $asm->top_id;
274
275
//Check for children
276
$all_categories = $all = array_filter(
@@ -278,7 +255,7 @@ class advanced_sidebar_menu_category extends WP_Widget {
278
$asm->taxonomy, array(
279
'child_of' => $asm->top_id,
280
'orderby' => $asm->order_by,
281
- 'order' => $instance[ 'order' ]
282
)
283
)
284
);
@@ -304,10 +281,12 @@ class advanced_sidebar_menu_category extends WP_Widget {
304
//Start the menu
305
echo $before_widget;
306
if( !$asm_once ){
307
$asm->title();
308
if( $asm->checked( 'css' ) ){
309
echo '<style type="text/css">';
310
- include( $asm->file_hyercy( 'sidebar-menu.css', $legacy ) );
311
echo '</style>';
312
}
313
@@ -325,7 +304,7 @@ class advanced_sidebar_menu_category extends WP_Widget {
325
$cat_ancestors = $asm->ancestors;
326
327
//Bring in the view
328
- require( $asm->file_hyercy( 'category_list.php', $legacy ) );
329
330
echo apply_filters( 'advanced_sidebar_menu_category_widget_output', $content, $args, $instance );
331
@@ -335,7 +314,6 @@ class advanced_sidebar_menu_category extends WP_Widget {
335
echo '<!-- First $after_widget -->';
336
}
337
338
-
339
} //End of each cat loop
340
341
//IF we were waiting for all the individual lists to complete
@@ -346,7 +324,6 @@ class advanced_sidebar_menu_category extends WP_Widget {
346
347
}
348
349
-
350
} #== /widget()
351
352
} #== /Clas
15
class advanced_sidebar_menu_category extends WP_Widget {
16
17
private $defaults = array(
18
+ 'title' => '',
19
'include_parent' => false,
20
'include_childless_parent' => false,
21
'css' => false,
22
+ 'single' => false,
23
+ 'new_widget' => 'widget',
24
+ 'exclude' => '',
25
'display_all' => false,
26
+ 'levels' => 1,
27
+ 'order' => 'DESC',
28
);
29
30
32
33
$widget_ops = array(
34
'classname' => 'advanced-sidebar-menu advanced-sidebar-category',
35
+ 'description' => __( 'Creates a menu of all the categories using the child/parent relationship', 'advanced-sidebar-menu' ),
36
);
37
$control_ops = array( 'width' => 290 );
38
110
</span>
111
112
113
<p> <?php _e( "Categories to Exclude, Comma Separated", 'advanced-sidebar-menu' ); ?>:
114
<input id="<?php echo $this->get_field_name( 'exclude' ); ?>"
115
name="<?php echo $this->get_field_name( 'exclude' ); ?>" type="text" class="widefat" value="<?php echo $instance[ 'exclude' ]; ?>"/>
116
</p>
117
118
<p> <?php _e( "Always Display Child Categories", 'advanced-sidebar-menu' ); ?>
119
<input id="<?php echo $this->get_field_name( 'display_all' ); ?>"
120
name="<?php echo $this->get_field_name( 'display_all' ); ?>" type="checkbox" value="checked"
151
/**
152
* Updates the widget data
153
*
154
+ * @filter - $newInstance = apply_filters('advanced_sidebar_menu_category_widget_update', $newInstance,
155
+ * $oldInstance );
156
* @since 5.19.13
157
*/
158
function update( $newInstance, $oldInstance ){
181
*/
182
function widget( $args, $instance ){
183
184
+ $instance = wp_parse_args( $instance, $this->defaults );
185
186
if( is_single() && !isset( $instance[ 'single' ] ) ){
187
return;
188
}
189
+ $asm = new Advanced_Sidebar_Menu_Menu;
190
$asm->instance = $instance;
191
$asm->args = $args;
192
194
$asm->order_by = apply_filters( 'advanced_sidebar_menu_category_orderby', null, $args, $instance );
195
196
do_action( 'advanced_sidebar_menu_widget_pre_render', $asm, $this );
197
+
198
199
$cat_ids = $already_top = array();
200
$asm_once = false; //keeps track of how many widgets this created
220
uasort( $category_array, array( $asm, 'sortTerms' ) );
221
222
foreach( $category_array as $id => $cat ){
223
+ $cat_ids[] = $cat->term_id;
224
}
225
226
//IF on a category page get the id of the category
227
} elseif( is_tax() || is_category() ) {
228
229
$asm->current_term = get_queried_object()->term_id;
230
+ $cat_ids[] = get_queried_object()->term_id;
231
}
232
233
$cat_ids = apply_filters( 'advanced_sidebar_menu_category_ids', $cat_ids, $args, $instance );
247
continue;
248
}
249
250
+ $already_top[] = $asm->top_id;
251
252
//Check for children
253
$all_categories = $all = array_filter(
255
$asm->taxonomy, array(
256
'child_of' => $asm->top_id,
257
'orderby' => $asm->order_by,
258
+ 'order' => $instance[ 'order' ],
259
)
260
)
261
);
281
//Start the menu
282
echo $before_widget;
283
if( !$asm_once ){
284
+ //must remain in the loop instead of the template because we only want it to display once
285
$asm->title();
286
+
287
if( $asm->checked( 'css' ) ){
288
echo '<style type="text/css">';
289
+ include( Advanced_Sidebar_Menu::get_instance()->get_template_part( 'sidebar-menu.css' ) );
290
echo '</style>';
291
}
292
304
$cat_ancestors = $asm->ancestors;
305
306
//Bring in the view
307
+ require( Advanced_Sidebar_Menu::get_instance()->get_template_part( 'category_list.php' ) );
308
309
echo apply_filters( 'advanced_sidebar_menu_category_widget_output', $content, $args, $instance );
310
314
echo '<!-- First $after_widget -->';
315
}
316
317
} //End of each cat loop
318
319
//IF we were waiting for all the individual lists to complete
324
325
}
326
327
} #== /widget()
328
329
} #== /Clas
widgets/page.widget.php → src/widgets/advanced_sidebar_menu_page.php RENAMED
@@ -21,7 +21,6 @@ class advanced_sidebar_menu_page extends WP_Widget {
21
'order_by' => 'menu_order',
22
'css' => false,
23
'exclude' => false,
24
- 'legacy_mode' => false,
25
'display_all' => false,
26
'levels' => 1
27
);
@@ -106,12 +105,6 @@ class advanced_sidebar_menu_page extends WP_Widget {
106
name="<?php echo $this->get_field_name( 'exclude' ); ?>" class="widefat" type="text" value="<?php echo $instance[ 'exclude' ]; ?>"/>
107
</p>
108
109
- <p> <?php _e( "Legacy Mode: (use pre 4.0 structure and css)", 'advanced-sidebar-menu' ); ?>
110
- <input id="<?php echo $this->get_field_name( 'legacy_mode' ); ?>"
111
- name="<?php echo $this->get_field_name( 'legacy_mode' ); ?>" type="checkbox" value="checked"
112
- <?php echo $instance[ 'legacy_mode' ]; ?>/>
113
- </p>
114
-
115
<p> <?php _e( "Always Display Child Pages", 'advanced-sidebar-menu' ); ?>:
116
<input id="<?php echo $this->get_field_id( 'display_all' ); ?>"
117
name="<?php echo $this->get_field_name( 'display_all' ); ?>" type="checkbox" value="checked"
@@ -185,7 +178,7 @@ class advanced_sidebar_menu_page extends WP_Widget {
185
function widget( $args, $instance ){
186
global $post;
187
188
- $asm = new advancedSidebarMenu();
189
$asm->instance = $instance;
190
$asm->args = $args;
191
$asm->exclude = apply_filters( 'advanced_sidebar_menu_excluded_pages', explode( ',', $instance[ 'exclude' ] ), $post, $asm->args, $asm->instance, $asm );
@@ -240,18 +233,16 @@ class advanced_sidebar_menu_page extends WP_Widget {
240
#---- if there are no children do not display the parent unless it is check to do so
241
if( ( !empty( $child_pages ) ) || $asm->checked( 'include_childless_parent' ) && ( !in_array( $top_parent, $asm->exclude ) ) ){
242
243
- $legacy = $asm->checked( 'legacy_mode' );
244
-
245
if( $asm->checked( 'css' ) ){
246
echo '<style type="text/css">';
247
- include( $asm->file_hyercy( 'sidebar-menu.css', $legacy ) );
248
echo '</style>';
249
}
250
251
echo $args[ 'before_widget' ];
252
253
$content = '';
254
- require( $asm->file_hyercy( 'page_list.php', $legacy ) );
255
echo apply_filters( 'advanced_sidebar_menu_page_widget_output', $content, $args, $instance );
256
echo $args[ 'after_widget' ];
257
@@ -265,8 +256,8 @@ class advanced_sidebar_menu_page extends WP_Widget {
265
*
266
* Get the children's ids of the top level parent
267
*
268
- * @param advancedSidebarMenu $asm
269
- * @param array $filter_args
270
*
271
* @filter advanced_sidebar_menu_child_pages
272
*
@@ -295,7 +286,21 @@ class advanced_sidebar_menu_page extends WP_Widget {
295
}
296
297
$filter_args[ 0 ] = $child_pages;
298
- $child_pages = apply_filters_ref_array( 'advanced_sidebar_menu_child_pages', $filter_args );
299
300
return $child_pages;
301
21
'order_by' => 'menu_order',
22
'css' => false,
23
'exclude' => false,
24
'display_all' => false,
25
'levels' => 1
26
);
105
name="<?php echo $this->get_field_name( 'exclude' ); ?>" class="widefat" type="text" value="<?php echo $instance[ 'exclude' ]; ?>"/>
106
</p>
107
108
<p> <?php _e( "Always Display Child Pages", 'advanced-sidebar-menu' ); ?>:
109
<input id="<?php echo $this->get_field_id( 'display_all' ); ?>"
110
name="<?php echo $this->get_field_name( 'display_all' ); ?>" type="checkbox" value="checked"
178
function widget( $args, $instance ){
179
global $post;
180
181
+ $asm = new Advanced_Sidebar_Menu_Menu();
182
$asm->instance = $instance;
183
$asm->args = $args;
184
$asm->exclude = apply_filters( 'advanced_sidebar_menu_excluded_pages', explode( ',', $instance[ 'exclude' ] ), $post, $asm->args, $asm->instance, $asm );
233
#---- if there are no children do not display the parent unless it is check to do so
234
if( ( !empty( $child_pages ) ) || $asm->checked( 'include_childless_parent' ) && ( !in_array( $top_parent, $asm->exclude ) ) ){
235
236
if( $asm->checked( 'css' ) ){
237
echo '<style type="text/css">';
238
+ include( Advanced_Sidebar_Menu::get_instance()->get_template_part( 'sidebar-menu.css' ) );
239
echo '</style>';
240
}
241
242
echo $args[ 'before_widget' ];
243
244
$content = '';
245
+ require( Advanced_Sidebar_Menu::get_instance()->get_template_part( 'page_list.php' ) );
246
echo apply_filters( 'advanced_sidebar_menu_page_widget_output', $content, $args, $instance );
247
echo $args[ 'after_widget' ];
248
256
*
257
* Get the children's ids of the top level parent
258
*
259
+ * @param Advanced_Sidebar_Menu_Menu $asm
260
+ * @param array $filter_args
261
*
262
* @filter advanced_sidebar_menu_child_pages
263
*
286
}
287
288
$filter_args[ 0 ] = $child_pages;
289
+
290
+ if( defined( 'ADVANCED_SIDEBAR_MENU_PRO_VERSION' ) ){
291
+ /**
292
+ * Pro version 1.4.3 or below had a typeset for the arg
293
+ * of this filter. This changed in version 6.0.0 so we have
294
+ * to disable the filter. If someone has an issue then make
295
+ * sure they update to version 1.4.4 to restore this filter
296
+ */
297
+ if( version_compare( ADVANCED_SIDEBAR_MENU_PRO_VERSION, '1.4.4', '>=' ) ){
298
+ $child_pages = apply_filters_ref_array( 'advanced_sidebar_menu_child_pages', $filter_args );
299
+ }
300
+
301
+ } else {
302
+ $child_pages = apply_filters_ref_array( 'advanced_sidebar_menu_child_pages', $filter_args );
303
+ }
304
305
return $child_pages;
306
views/category_list.php CHANGED
@@ -1,7 +1,7 @@
1
<?php
2
3
/**
4
- * The Ouput of the Advanced Sidebar Categories Widget
5
* @author Mat Lipe
6
* @since 4.3.1
7
*
@@ -11,6 +11,8 @@
11
* @param Do not edit this file in this location or it will break on update
12
*/
13
14
$content = '';
15
16
//Include the parent page if chosen
1
<?php
2
3
/**
4
+ * The Output of the Advanced Sidebar Categories Widget
5
* @author Mat Lipe
6
* @since 4.3.1
7
*
11
* @param Do not edit this file in this location or it will break on update
12
*/
13
14
+ /** @var Advanced_Sidebar_Menu_Menu $asm */
15
+
16
$content = '';
17
18
//Include the parent page if chosen
views/page_list.php CHANGED
@@ -11,7 +11,7 @@
11
* @notice Do not edit this file in its original location or it will break on upgrade
12
*/
13
14
- /** @var advancedSidebarMenu $asm */
15
$asm->title();
16
17
#-- list the parent page if chosen
11
* @notice Do not edit this file in its original location or it will break on upgrade
12
*/
13
14
+ /** @var Advanced_Sidebar_Menu_Menu $asm */
15
$asm->title();
16
17
#-- list the parent page if chosen
widgets/init.php DELETED
@@ -1,24 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Registers the widgets
5
- * @author Mat Lipe
6
- * @since 4/13/12
7
- * @package Advanced Sidebar Menu
8
- *
9
- */
10
-
11
- //The list of widgets
12
-
13
- require( 'page.widget.php' );
14
- require( 'category.widget.php' );
15
-
16
- add_action( 'widgets_init', 'advanced_sidebar_menu_widgets' );
17
-
18
- function advanced_sidebar_menu_widgets(){
19
-
20
- register_widget( "advanced_sidebar_menu_page" );
21
- register_widget( "advanced_sidebar_menu_category" );
22
-
23
- }
24
-