Changeset 5669 for trunk/wp-includes/widgets.php
- Timestamp:
- 06/08/2007 02:49:30 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/widgets.php
r5605 r5669 610 610 } 611 611 612 function wp_widget_categories($args ) {612 function wp_widget_categories($args, $number = 1) { 613 613 extract($args); 614 614 $options = get_option('widget_categories'); 615 $c = $options[ 'count'] ? '1' : '0';616 $h = $options[ 'hierarchical'] ? '1' : '0';617 $d = $options[ 'dropdown'] ? '1' : '0';618 $title = empty($options[ 'title']) ? __('Categories') : $options['title'];615 $c = $options[$number]['count'] ? '1' : '0'; 616 $h = $options[$number]['hierarchical'] ? '1' : '0'; 617 $d = $options[$number]['dropdown'] ? '1' : '0'; 618 $title = empty($options[$number]['title']) ? __('Categories') : $options[$number]['title']; 619 619 620 620 echo $before_widget; … … 623 623 $cat_args = "orderby=name&show_count={$c}&hierarchical={$h}"; 624 624 625 if ($d) {625 if ( $d ) { 626 626 wp_dropdown_categories($cat_args . '&show_option_none= ' . __('Select Category')); 627 627 ?> … … 649 649 } 650 650 651 function wp_widget_categories_control( ) {651 function wp_widget_categories_control( $number ) { 652 652 $options = $newoptions = get_option('widget_categories'); 653 if ( $_POST['categories-submit'] ) { 654 $newoptions['count'] = isset($_POST['categories-count']); 655 $newoptions['hierarchical'] = isset($_POST['categories-hierarchical']); 656 $newoptions['dropdown'] = isset($_POST['categories-dropdown']); 657 $newoptions['title'] = strip_tags(stripslashes($_POST['categories-title'])); 658 } 653 654 if ( !is_array( $options ) ) { 655 $options = $newoptions = get_option( 'widget_categories' ); 656 } 657 658 if ( $_POST['categories-submit-' . $number] ) { 659 $newoptions[$number]['count'] = isset($_POST['categories-count-' . $number]); 660 $newoptions[$number]['hierarchical'] = isset($_POST['categories-hierarchical-' . $number]); 661 $newoptions[$number]['dropdown'] = isset($_POST['categories-dropdown-' . $number]); 662 $newoptions[$number]['title'] = strip_tags(stripslashes($_POST['categories-title-' . $number])); 663 } 664 659 665 if ( $options != $newoptions ) { 660 666 $options = $newoptions; 661 667 update_option('widget_categories', $options); 662 668 } 663 $count = $options['count'] ? 'checked="checked"' : ''; 664 $hierarchical = $options['hierarchical'] ? 'checked="checked"' : ''; 665 $dropdown = $options['dropdown'] ? 'checked="checked"' : ''; 666 $title = attribute_escape($options['title']); 669 670 $count = $options[$number]['count'] ? 'checked="checked"' : ''; 671 $hierarchical = $options[$number]['hierarchical'] ? 'checked="checked"' : ''; 672 $dropdown = $options[$number]['dropdown'] ? 'checked="checked"' : ''; 673 $title = attribute_escape($options[$number]['title']); 667 674 ?> 668 675 <p><label for="categories-title"><?php _e('Title:'); ?> <input style="width: 250px;" id="categories-title" name="categories-title" type="text" value="<?php echo $title; ?>" /></label></p> … … 672 679 <input type="hidden" id="categories-submit" name="categories-submit" value="1" /> 673 680 <?php 681 } 682 683 function wp_widget_categories_setup() { 684 $options = $newoptions = get_option( 'widget_categories' ); 685 686 if ( isset( $_POST['categories-number-submit'] ) ) { 687 $number = (int) $_POST['categories-number']; 688 689 if ( $number > 9 ) { 690 $number = 9; 691 } elseif ( $number < 1 ) { 692 $number = 1; 693 } 694 695 $newoptions['number'] = $number; 696 } 697 698 if ( $newoptions != $options ) { 699 $options = $newoptions; 700 update_option( 'widget_categories', $options ); 701 wp_widget_categories_register( $options['number'] ); 702 } 703 } 704 705 function wp_widget_categories_page() { 706 $options = get_option( 'widget_categories' ); 707 ?> 708 <div class="wrap"> 709 <form method="post"> 710 <h2><?php _e( 'Categories Widgets' ); ?></h2> 711 <p style="line-height: 30px;"><?php _e( 'How many categories widgets would you like?' ); ?> 712 <select id="categories-number" name="categories-number" value="<?php echo attribute_escape( $options['number'] ); ?>"> 713 <?php 714 for ( $i = 1; $i < 10; $i++ ) { 715 echo '<option value="' . $i . '"' . ( $i == $options['number'] ? ' selected="selected"' : '' ) . '>' . $i . "</option>\n"; 716 } 717 ?> 718 </select> 719 <span class="submit"> 720 <input type="submit" value="<?php echo attribute_escape( __( 'Save' ) ); ?>" id="categories-number-submit" name="categories-number-submit" /> 721 </span> 722 </p> 723 </form> 724 </div> 725 <?php 726 } 727 728 function wp_widget_categories_register() { 729 $options = get_option( 'widget_categories' ); 730 $number = (int) $options['number']; 731 732 if ( $number > 9 ) { 733 $number = 9; 734 } elseif ( $number < 1 ) { 735 $number = 1; 736 } 737 738 $dims = array( 'width' => 460, 'height' => 350 ); 739 $class = array( 'classname' => 'widget_catgories' ); 740 741 for ( $i = 1; $i <= 9; $i++ ) { 742 $name = sprintf( __( 'Categories %d' ), $i ); 743 $id = 'categories-' . $i; 744 745 $widget_callback = ( $i <= $number ) ? 'wp_widget_categories' : ''; 746 $control_callback = ( $i <= $number ) ? 'wp_widget_categories_control' : ''; 747 748 wp_register_sidebar_widget( $id, $name, $widget_callback, $class, $i ); 749 wp_register_widget_control( $id, $name, $control_callback, $dims, $i ); 750 } 751 752 add_action( 'sidebar_admin_setup', 'wp_widget_categories_setup' ); 753 add_action( 'sidebar_admin_page', 'wp_widget_categories_page' ); 674 754 } 675 755 … … 955 1035 956 1036 function wp_widgets_init() { 957 global $wp_register_widget_defaults;958 959 $ wp_register_widget_defaults = true;960 $dims 90 = array('height' => 90, 'width' => 300);961 $dims1 00 = array('height' => 100, 'width' => 300);962 $dims150 = array('height' => 150, 'width' => 300);1037 $GLOBALS['wp_register_widget_defaults'] = true; 1038 1039 $dims90 = array( 'height' => 90, 'width' => 300 ); 1040 $dims100 = array( 'height' => 100, 'width' => 300 ); 1041 $dims150 = array( 'height' => 150, 'width' => 300 ); 1042 963 1043 $class = array('classname' => 'widget_pages'); 964 1044 wp_register_sidebar_widget('pages', __('Pages'), 'wp_widget_pages', $class); 965 1045 wp_register_widget_control('pages', __('Pages'), 'wp_widget_pages_control', $dims150); 1046 966 1047 $class['classname'] = 'widget_calendar'; 967 1048 wp_register_sidebar_widget('calendar', __('Calendar'), 'wp_widget_calendar', $class); 968 1049 wp_register_widget_control('calendar', __('Calendar'), 'wp_widget_calendar_control', $dims90); 1050 969 1051 $class['classname'] = 'widget_archives'; 970 1052 wp_register_sidebar_widget('archives', __('Archives'), 'wp_widget_archives', $class); 971 1053 wp_register_widget_control('archives', __('Archives'), 'wp_widget_archives_control', $dims100); 1054 972 1055 $class['classname'] = 'widget_links'; 973 1056 wp_register_sidebar_widget('links', __('Links'), 'wp_widget_links', $class); 1057 974 1058 $class['classname'] = 'widget_meta'; 975 1059 wp_register_sidebar_widget('meta', __('Meta'), 'wp_widget_meta', $class); 976 1060 wp_register_widget_control('meta', __('Meta'), 'wp_widget_meta_control', $dims90); 1061 977 1062 $class['classname'] = 'widget_search'; 978 1063 wp_register_sidebar_widget('search', __('Search'), 'wp_widget_search', $class); 979 $class['classname'] = 'widget_categories'; 980 wp_register_sidebar_widget('categories', __('Categories'), 'wp_widget_categories', $class); 981 wp_register_widget_control('categories', __('Categories'), 'wp_widget_categories_control', $dims150); 1064 982 1065 $class['classname'] = 'widget_recent_entries'; 983 1066 wp_register_sidebar_widget('recent-posts', __('Recent Posts'), 'wp_widget_recent_entries', $class); 984 1067 wp_register_widget_control('recent-posts', __('Recent Posts'), 'wp_widget_recent_entries_control', $dims90); 1068 985 1069 wp_widget_text_register(); 986 1070 wp_widget_rss_register(); 987 1071 wp_widget_recent_comments_register(); 1072 wp_widget_categories_register(); 988 1073 989 1074 $wp_register_widget_defaults = false;
Note: See TracChangeset
for help on using the changeset viewer.