Ticket #7661: 7661.r8786.diff
| File 7661.r8786.diff, 21.0 KB (added by , 17 years ago) |
|---|
-
widgets.php
1 1 <?php 2 /** 3 * API for creating dynamic sidebar without hardcoding functionality into 4 * themes. Includes both internal WordPress routines and theme use routines. 5 * 6 * This functionality was found in a plugin before WordPress 2.2 release which 7 * included it in the core from that point on. 8 * 9 * @package WordPress 10 * @subpackage Widgets 11 */ 2 12 3 13 /* Global Variables */ 4 14 5 15 global $wp_registered_sidebars, $wp_registered_widgets, $wp_registered_widget_controls; 6 16 17 /** 18 * Stores the sidebars, since many themes can have more than one. 19 * @global array $wp_registered_sidebars 20 * @since 2.2 21 */ 7 22 $wp_registered_sidebars = array(); 23 24 /** 25 * 26 * @global array $wp_registered_widgets 27 * @since 2.2 28 */ 8 29 $wp_registered_widgets = array(); 30 31 /** 32 * 33 * @global array $wp_registered_widget_controls 34 * @since 2.2 35 */ 9 36 $wp_registered_widget_controls = array(); 10 37 11 38 /* Template tags & API functions */ 12 39 40 /** 41 * register_sidebars() - Creates multiple sidebars 42 * 43 * If you wanted to quickly create multiple sidebars for a theme or internally. This function 44 * will allow you to do so. If you don't pass the 'name' and/or 'id' in $args, then they will be 45 * built for you. 46 * 47 * The default for the name is "Sidebar #", with '#' being replaced with the number the sidebar 48 * is currently when greater than one. If first sidebar, the name will be just "Sidebar". The 49 * default for id is "sidebar-" followed by the number the sidebar creation is currently at. 50 * 51 * @see register_sidebar() The second parameter is documented by register_sidebar() and is the same here. 52 * 53 * @since 2.2 54 * 55 * @uses parse_str() Converts a string to an array to be used in the rest of the function. 56 * @uses register_sidebar() Sends single sidebar information [name, id] to this function to 57 * handle building the sidebar. 58 * 59 * @param int $number Number of sidebars to create 60 * @param string|array $args Builds Sidebar based off of 'name' and 'id' values 61 */ 13 62 function register_sidebars($number = 1, $args = array()) { 14 63 global $wp_registered_sidebars; 15 64 $number = (int) $number; … … 40 89 } 41 90 } 42 91 92 /** 93 * register_sidebar() - Builds the definition for a single sidebar and returns the ID 94 * 95 * The $args parameter takes either a string or an array with 'name' and 'id' contained in 96 * either usage. It will be noted that the values will be applied to all sidebars, so if creating 97 * more than one, it will be advised to allow for WordPress to create the defaults for you. 98 * 99 * Example for string would be <code>'name=whatever;id=whatever1'</code> and for the array it 100 * would be <code>array('name' => 'whatever', 'id' => 'whatever1')</code>. 101 * 102 * name - The name of the sidebar, which presumably the title which will be displayed. 103 * id - The unique identifier by which the sidebar will be called by. 104 * before_widget - The content that will prepended to the widgets when they are displayed. 105 * after_widget - The content that will be appended to the widgets when they are displayed. 106 * before_title - The content that will be prepended to the title when displayed. 107 * after_title - the content that will be appended to the title when displayed. 108 * 109 * <em>Content</em> is assumed to be HTML and should be formatted as such, but doesn't have to be. 110 * 111 * @since 2.2 112 * @uses $wp_registered_sidebars Stores the new sidebar in this array by sidebar ID. 113 * @uses parse_str() Converts a string to an array to be used in the rest of the function. 114 * @usedby register_sidebars() 115 * 116 * @param string|array $args Builds Sidebar based off of 'name' and 'id' values 117 * @return string The sidebar id that was added. 118 */ 43 119 function register_sidebar($args = array()) { 44 120 global $wp_registered_sidebars; 45 121 … … 64 140 return $sidebar['id']; 65 141 } 66 142 143 /** 144 * unregister_sidebar() - Removes a sidebar from the list. 145 * 146 * @since 2.2.0 147 * 148 * @uses $wp_registered_sidebars Stores the new sidebar in this array by sidebar ID. 149 * 150 * @param string $name The ID of the sidebar when it was added. 151 */ 67 152 function unregister_sidebar( $name ) { 68 153 global $wp_registered_sidebars; 69 154 … … 71 156 unset( $wp_registered_sidebars[$name] ); 72 157 } 73 158 159 /** 160 * register_sidebar_widget() - {@internal Missing Short Description}} 161 * 162 * {@internal Missing Long Description}} 163 * 164 * @since 2.2.0 165 * @uses wp_register_sidebar_widget() Passes the compiled arguments. 166 * 167 * @param string $name 168 * @param callback $output_callback 169 * @param string $classname 170 */ 74 171 function register_sidebar_widget($name, $output_callback, $classname = '') { 75 172 // Compat 76 173 if ( is_array($name) ) { … … 92 189 call_user_func_array('wp_register_sidebar_widget', $args); 93 190 } 94 191 192 /** 193 * wp_register_sidebar_widget() - {@internal Missing Short Description}} 194 * 195 * {@internal Missing Long Description}} 196 * 197 * @since 2.2.0 198 * 199 * @uses $wp_registered_widgets {@internal Missing Description}} 200 * @uses $wp_register_widget_defaults {@internal Missing Description}} 201 * 202 * @param int $id {@internal Missing Description}} 203 * @param string $name {@internal Missing Description}} 204 * @param callback $output_callback {@internal Missing Description}} 205 * @param array|string $options {@internal Missing Description}} 206 * @return null Will return if $output_callback is empty 207 */ 95 208 function wp_register_sidebar_widget($id, $name, $output_callback, $options = array()) { 96 209 global $wp_registered_widgets; 97 210 … … 116 229 $wp_registered_widgets[$id] = $widget; 117 230 } 118 231 232 /** 233 * wp_widget_description() - {@internal Missing Short Description}} 234 * 235 * {@internal Missing Long Description}} 236 * 237 * @since 2.5.0 238 * 239 * @param unknown_type $id 240 * @return unknown 241 */ 119 242 function wp_widget_description( $id ) { 120 243 if ( !is_scalar($id) ) 121 244 return; … … 126 249 return wp_specialchars( $wp_registered_widgets[$id]['description'] ); 127 250 } 128 251 252 /** 253 * unregister_sidebar_widget() - Alias of wp_unregister_sidebar_widget() 254 * 255 * @see wp_unregister_sidebar_widget() 256 * 257 * @since 2.2.0 258 * 259 * @param int $id Same as wp_unregister_sidebar_widget() 260 */ 129 261 function unregister_sidebar_widget($id) { 130 262 return wp_unregister_sidebar_widget($id); 131 263 } 132 264 265 /** 266 * wp_register_sidebar_widget() - {@internal Missing Short Description}} 267 * 268 * {@internal Missing Long Description}} 269 * 270 * @since 2.2.0 271 * 272 * @param int $id {@internal Missing Description}} 273 */ 133 274 function wp_unregister_sidebar_widget($id) { 134 275 wp_register_sidebar_widget($id, '', ''); 135 276 wp_unregister_widget_control($id); 136 277 } 137 278 279 /** 280 * register_widget_control() - {@internal Missing Short Description}} 281 * 282 * {@internal Missing Long Description}} 283 * 284 * @since 2.2.0 285 * 286 * @param unknown_type $name {@internal Missing Description}} 287 * @param unknown_type $control_callback {@internal Missing Description}} 288 * @param unknown_type $width {@internal Missing Description}} 289 * @param unknown_type $height {@internal Missing Description}} 290 */ 138 291 function register_widget_control($name, $control_callback, $width = '', $height = '') { 139 292 // Compat 140 293 if ( is_array($name) ) { … … 164 317 * id_base: for multi-widgets (widgets which allow multiple instances such as the text widget), an id_base must be provided. 165 318 * the widget id will ennd up looking like {$id_base}-{$unique_number} 166 319 */ 320 /** 321 * wp_register_widget_control() - {@internal Missing Short Description}} 322 * 323 * {@internal Missing Long Description}} 324 * 325 * @since 2.2.0 326 * 327 * @param int $id {@internal Missing Description}} 328 * @param string $name {@internal Missing Description}} 329 * @param callback $control_callback {@internal Missing Description}} 330 * @param array|string $options {@internal Missing Description}} 331 */ 167 332 function wp_register_widget_control($id, $name, $control_callback, $options = array()) { 168 333 global $wp_registered_widget_controls; 169 334 … … 193 358 $wp_registered_widget_controls[$id] = $widget; 194 359 } 195 360 361 /** 362 * unregister_widget_control() - Alias of wp_unregister_widget_control() 363 * 364 * @since 2.2.0 365 * @see wp_unregister_widget_control() 366 * 367 * @param int $id Widget ID 368 */ 196 369 function unregister_widget_control($id) { 197 370 return wp_unregister_widget_control($id); 198 371 } 199 372 373 /** 374 * wp_unregister_widget_control() - {@internal Missing Short Description}} 375 * 376 * {@internal Missing Long Description}} 377 * 378 * @since 2.2.0 379 * @uses wp_register_widget_control() {@internal Missing Description}} 380 * 381 * @param int $id {@internal Missing Description}} 382 */ 200 383 function wp_unregister_widget_control($id) { 201 384 return wp_register_widget_control($id, '', ''); 202 385 } 203 386 387 /** 388 * dynamic_sidebar() - {@internal Missing Short Description}} 389 * 390 * {@internal Missing Long Description}} 391 * 392 * @since 2.2.0 393 * 394 * @param unknown_type $index 395 * @return unknown 396 */ 204 397 function dynamic_sidebar($index = 1) { 205 398 global $wp_registered_sidebars, $wp_registered_widgets; 206 399 … … 254 447 return $did_one; 255 448 } 256 449 450 /** 451 * is_active_widget() - {@internal Missing Short Description}} 452 * 453 * {@internal Missing Long Description}} 454 * 455 * @since 2.2.0 456 * 457 * @param unknown_type $callback 257 458 /* @return mixed false if widget is not active or id of sidebar in which the widget is active 258 459 */ 259 460 function is_active_widget($callback, $widget_id = false) { … … 271 472 return false; 272 473 } 273 474 475 /** 476 * is_dynamic_sidebar() - {@internal Missing Short Description}} 477 * 478 * {@internal Missing Long Description}} 479 * 480 * @since 2.2.0 481 * 482 * @return unknown 483 */ 274 484 function is_dynamic_sidebar() { 275 485 global $wp_registered_widgets, $wp_registered_sidebars; 276 486 $sidebars_widgets = get_option('sidebars_widgets'); … … 286 496 287 497 /* Internal Functions */ 288 498 499 /** 500 * wp_get_sidebars_widgets() - {@internal Missing Short Description}} 501 * 502 * {@internal Missing Long Description}} 503 * 504 * @since 2.2.0 505 * @access private 506 * 507 * @param unknown_type $update 508 * @return unknown 509 */ 289 510 function wp_get_sidebars_widgets($update = true) { 290 511 global $wp_registered_widgets, $wp_registered_sidebars; 291 512 … … 364 585 return $sidebars_widgets; 365 586 } 366 587 588 /** 589 * wp_set_sidebars_widgets() - {@internal Missing Short Description}} 590 * 591 * {@internal Missing Long Description}} 592 * 593 * @since 2.2.0 594 * @access private 595 * @uses update_option() 596 * 597 * @param unknown_type $sidebars_widgets 598 */ 367 599 function wp_set_sidebars_widgets( $sidebars_widgets ) { 368 600 update_option( 'sidebars_widgets', $sidebars_widgets ); 369 601 } 370 602 603 /** 604 * wp_get_widget_defaults() - {@internal Missing Short Description}} 605 * 606 * {@internal Missing Long Description}} 607 * 608 * @since 2.2.0 609 * @access private 610 * 611 * @return unknown 612 */ 371 613 function wp_get_widget_defaults() { 372 614 global $wp_registered_sidebars; 373 615 … … 381 623 382 624 /* Default Widgets */ 383 625 626 /** 627 * wp_widget_pages() - {@internal Missing Short Description}} 628 * 629 * {@internal Missing Long Description}} 630 * 631 * @since 2.2.0 632 * 633 * @param unknown_type $args 634 */ 384 635 function wp_widget_pages( $args ) { 385 636 extract( $args ); 386 637 $options = get_option( 'widget_pages' ); … … 407 658 } 408 659 } 409 660 661 /** 662 * wp_widget_pages_control() - {@internal Missing Short Description}} 663 * 664 * {@internal Missing Long Description}} 665 * 666 * @since 2.2.0 667 */ 410 668 function wp_widget_pages_control() { 411 669 $options = $newoptions = get_option('widget_pages'); 412 670 if ( $_POST['pages-submit'] ) { … … 448 706 <?php 449 707 } 450 708 709 /** 710 * wp_widget_links() - {@internal Missing Short Description}} 711 * 712 * {@internal Missing Long Description}} 713 * 714 * @since 2.2.0 715 * 716 * @param unknown_type $args 717 */ 451 718 function wp_widget_links($args) { 452 719 extract($args, EXTR_SKIP); 453 720 … … 459 726 ))); 460 727 } 461 728 729 /** 730 * wp_widget_search() - {@internal Missing Short Description}} 731 * 732 * {@internal Missing Long Description}} 733 * 734 * @since 2.2.0 735 * 736 * @param unknown_type $args 737 */ 462 738 function wp_widget_search($args) { 463 739 extract($args); 464 740 $searchform_template = get_template_directory() . '/searchform.php'; … … 479 755 echo $after_widget; 480 756 } 481 757 758 /** 759 * wp_widget_archives() - {@internal Missing Short Description}} 760 * 761 * {@internal Missing Long Description}} 762 * 763 * @since 2.2.0 764 * 765 * @param unknown_type $args 766 */ 482 767 function wp_widget_archives($args) { 483 768 extract($args); 484 769 $options = get_option('widget_archives'); … … 504 789 echo $after_widget; 505 790 } 506 791 792 /** 793 * wp_widget_archives_control() - {@internal Missing Short Description}} 794 * 795 * {@internal Missing Long Description}} 796 * 797 * @since 2.2.0 798 */ 507 799 function wp_widget_archives_control() { 508 800 $options = $newoptions = get_option('widget_archives'); 509 801 if ( $_POST["archives-submit"] ) { … … 529 821 <?php 530 822 } 531 823 824 /** 825 * wp_widget_meta() - {@internal Missing Short Description}} 826 * 827 * {@internal Missing Long Description}} 828 * 829 * @since 2.2.0 830 * 831 * @param unknown_type $args 832 */ 532 833 function wp_widget_meta($args) { 533 834 extract($args); 534 835 $options = get_option('widget_meta'); … … 547 848 <?php echo $after_widget; ?> 548 849 <?php 549 850 } 851 852 /** 853 * wp_widget_meta_control() - {@internal Missing Short Description}} 854 * 855 * {@internal Missing Long Description}} 856 * 857 * @since 2.2.0 858 */ 550 859 function wp_widget_meta_control() { 551 860 $options = $newoptions = get_option('widget_meta'); 552 861 if ( $_POST["meta-submit"] ) { … … 563 872 <?php 564 873 } 565 874 875 /** 876 * wp_widget_calendar() - {@internal Missing Short Description}} 877 * 878 * {@internal Missing Long Description}} 879 * 880 * @since 2.2.0 881 * 882 * @param unknown_type $args 883 */ 566 884 function wp_widget_calendar($args) { 567 885 extract($args); 568 886 $options = get_option('widget_calendar'); … … 575 893 echo '</div>'; 576 894 echo $after_widget; 577 895 } 896 897 /** 898 * wp_widget_calendar_control() - {@internal Missing Short Description}} 899 * 900 * {@internal Missing Long Description}} 901 * 902 * @since 2.2.0 903 */ 578 904 function wp_widget_calendar_control() { 579 905 $options = $newoptions = get_option('widget_calendar'); 580 906 if ( $_POST["calendar-submit"] ) { … … 591 917 <?php 592 918 } 593 919 920 /** 921 * wp_widget_text() - {@internal Missing Short Description}} 922 * 923 * {@internal Missing Long Description}} 924 * 925 * @since 2.2.0 926 * 927 * @param unknown_type $args 928 * @param unknown_type $number 929 */ 594 930 // See large comment section at end of this file 595 931 function wp_widget_text($args, $widget_args = 1) { 596 932 extract( $args, EXTR_SKIP ); … … 613 949 <?php 614 950 } 615 951 952 /** 953 * wp_widget_text_control() - {@internal Missing Short Description}} 954 * 955 * {@internal Missing Long Description}} 956 * 957 * @since 2.2.0 958 * 959 * @param unknown_type $number 960 */ 616 961 function wp_widget_text_control($widget_args) { 617 962 global $wp_registered_widgets; 618 963 static $updated = false; … … 675 1020 <?php 676 1021 } 677 1022 1023 /** 1024 * wp_widget_text_register() - {@internal Missing Short Description}} 1025 * 1026 * {@internal Missing Long Description}} 1027 * 1028 * @since 2.2.0 1029 */ 678 1030 function wp_widget_text_register() { 679 1031 if ( !$options = get_option('widget_text') ) 680 1032 $options = array(); … … 699 1051 } 700 1052 } 701 1053 1054 /** 1055 * wp_widget_categories() - {@internal Missing Short Description}} 1056 * 1057 * {@internal Missing Long Description}} 1058 * 1059 * @since 2.2.0 1060 * 1061 * @param unknown_type $args 1062 * @param unknown_type $number 1063 */ 702 1064 // See large comment section at end of this file 703 1065 function wp_widget_categories($args, $widget_args = 1) { 704 1066 extract($args, EXTR_SKIP); … … 754 1116 echo $after_widget; 755 1117 } 756 1118 1119 /** 1120 * wp_widget_categories_control() - {@internal Missing Short Description}} 1121 * 1122 * {@internal Missing Long Description}} 1123 * 1124 * @since 2.2.0 1125 * 1126 * @param unknown_type $number 1127 */ 757 1128 function wp_widget_categories_control( $widget_args ) { 758 1129 global $wp_registered_widgets; 759 1130 static $updated = false; … … 840 1211 <?php 841 1212 } 842 1213 1214 /** 1215 * wp_widget_categories_register() - {@internal Missing Short Description}} 1216 * 1217 * {@internal Missing Long Description}} 1218 * 1219 * @since 2.3.0 1220 */ 843 1221 function wp_widget_categories_register() { 844 1222 if ( !$options = get_option( 'widget_categories' ) ) 845 1223 $options = array(); … … 868 1246 } 869 1247 } 870 1248 1249 /** 1250 * wp_widget_categories_upgrade() - {@internal Missing Short Description}} 1251 * 1252 * {@internal Missing Long Description}} 1253 * 1254 * @since 2.3.0 1255 * 1256 * @return unknown 1257 */ 871 1258 function wp_widget_categories_upgrade() { 872 1259 $options = get_option( 'widget_categories' ); 873 1260 … … 895 1282 return $newoptions; 896 1283 } 897 1284 1285 /** 1286 * wp_widget_recent_entries() - {@internal Missing Short Description}} 1287 * 1288 * {@internal Missing Long Description}} 1289 * 1290 * @since 2.2.0 1291 * 1292 * @param unknown_type $args 1293 * @return unknown 1294 */ 898 1295 function wp_widget_recent_entries($args) { 899 1296 if ( '%BEG_OF_TITLE%' != $args['before_title'] ) { 900 1297 if ( $output = wp_cache_get('widget_recent_entries', 'widget') ) … … 931 1328 wp_cache_add('widget_recent_entries', ob_get_flush(), 'widget'); 932 1329 } 933 1330 1331 /** 1332 * wp_flush_widget_recent_entries() - {@internal Missing Short Description}} 1333 * 1334 * {@internal Missing Long Description}} 1335 * 1336 * @since 2.2.0 1337 */ 934 1338 function wp_flush_widget_recent_entries() { 935 1339 wp_cache_delete('widget_recent_entries', 'widget'); 936 1340 } … … 939 1343 add_action('deleted_post', 'wp_flush_widget_recent_entries'); 940 1344 add_action('switch_theme', 'wp_flush_widget_recent_entries'); 941 1345 1346 /** 1347 * wp_widget_recent_entries_control() - {@internal Missing Short Description}} 1348 * 1349 * {@internal Missing Long Description}} 1350 * 1351 * @since 2.2.0 1352 */ 942 1353 function wp_widget_recent_entries_control() { 943 1354 $options = $newoptions = get_option('widget_recent_entries'); 944 1355 if ( $_POST["recent-entries-submit"] ) { … … 965 1376 <?php 966 1377 } 967 1378 1379 /** 1380 * wp_widget_recent_comments() - {@internal Missing Short Description}} 1381 * 1382 * {@internal Missing Long Description}} 1383 * 1384 * @since 2.2.0 1385 * 1386 * @param unknown_type $args 1387 */ 968 1388 function wp_widget_recent_comments($args) { 969 1389 global $wpdb, $comments, $comment; 970 1390 extract($args, EXTR_SKIP); … … 993 1413 <?php 994 1414 } 995 1415 1416 /** 1417 * wp_delete_recent_comments_cache() - {@internal Missing Short Description}} 1418 * 1419 * {@internal Missing Long Description}} 1420 * 1421 * @since 2.2.0 1422 */ 996 1423 function wp_delete_recent_comments_cache() { 997 1424 wp_cache_delete( 'recent_comments', 'widget' ); 998 1425 } 999 1426 add_action( 'comment_post', 'wp_delete_recent_comments_cache' ); 1000 1427 add_action( 'wp_set_comment_status', 'wp_delete_recent_comments_cache' ); 1001 1428 1429 /** 1430 * wp_widget_recent_comments_control() - {@internal Missing Short Description}} 1431 * 1432 * {@internal Missing Long Description}} 1433 * 1434 * @since 2.2.0 1435 */ 1002 1436 function wp_widget_recent_comments_control() { 1003 1437 $options = $newoptions = get_option('widget_recent_comments'); 1004 1438 if ( $_POST["recent-comments-submit"] ) { … … 1024 1458 <?php 1025 1459 } 1026 1460 1461 /** 1462 * wp_widget_recent_comments_style() - {@internal Missing Short Description}} 1463 * 1464 * {@internal Missing Long Description}} 1465 * 1466 * @since 2.2.0 1467 */ 1027 1468 function wp_widget_recent_comments_style() { 1028 1469 ?> 1029 1470 <style type="text/css">.recentcomments a{display:inline !important;padding: 0 !important;margin: 0 !important;}</style> 1030 1471 <?php 1031 1472 } 1032 1473 1474 /** 1475 * wp_widget_recent_comments_register() - {@internal Missing Short Description}} 1476 * 1477 * {@internal Missing Long Description}} 1478 * 1479 * @since 2.2.0 1480 */ 1033 1481 function wp_widget_recent_comments_register() { 1034 1482 $widget_ops = array('classname' => 'widget_recent_comments', 'description' => __( 'The most recent comments' ) ); 1035 1483 wp_register_sidebar_widget('recent-comments', __('Recent Comments'), 'wp_widget_recent_comments', $widget_ops); … … 1039 1487 add_action('wp_head', 'wp_widget_recent_comments_style'); 1040 1488 } 1041 1489 1490 /** 1491 * wp_widget_rss() - {@internal Missing Short Description}} 1492 * 1493 * {@internal Missing Long Description}} 1494 * 1495 * @since 2.2.0 1496 * 1497 * @param unknown_type $args 1498 * @param unknown_type $number 1499 */ 1042 1500 // See large comment section at end of this file 1043 1501 function wp_widget_rss($args, $widget_args = 1) { 1044 1502 extract($args, EXTR_SKIP); … … 1174 1632 } 1175 1633 } 1176 1634 1635 /** 1636 * wp_widget_rss_control() - {@internal Missing Short Description}} 1637 * 1638 * {@internal Missing Long Description}} 1639 * 1640 * @since 2.2.0 1641 * 1642 * @param unknown_type $widget_args 1643 */ 1177 1644 function wp_widget_rss_control($widget_args) { 1178 1645 global $wp_registered_widgets; 1179 1646 static $updated = false; … … 1338 1805 return compact( 'title', 'url', 'link', 'items', 'error', 'show_summary', 'show_author', 'show_date' ); 1339 1806 } 1340 1807 1808 /** 1809 * wp_widget_rss_register() - {@internal Missing Short Description}} 1810 * 1811 * {@internal Missing Long Description}} 1812 * 1813 * @since 2.2.0 1814 */ 1341 1815 function wp_widget_rss_register() { 1342 1816 if ( !$options = get_option('widget_rss') ) 1343 1817 $options = array(); … … 1362 1836 } 1363 1837 } 1364 1838 1839 /** 1840 * wp_widget_tag_cloud() - {@internal Missing Short Description}} 1841 * 1842 * {@internal Missing Long Description}} 1843 * 1844 * @since 2.3.0 1845 * 1846 * @param unknown_type $args 1847 */ 1365 1848 function wp_widget_tag_cloud($args) { 1366 1849 extract($args); 1367 1850 $options = get_option('widget_tag_cloud'); … … 1373 1856 echo $after_widget; 1374 1857 } 1375 1858 1859 /** 1860 * wp_widget_tag_cloud_control() - {@internal Missing Short Description}} 1861 * 1862 * {@internal Missing Long Description}} 1863 * 1864 * @since 2.3.0 1865 */ 1376 1866 function wp_widget_tag_cloud_control() { 1377 1867 $options = $newoptions = get_option('widget_tag_cloud'); 1378 1868 … … 1394 1884 <?php 1395 1885 } 1396 1886 1887 /** 1888 * wp_widgets_init() - {@internal Missing Short Description}} 1889 * 1890 * {@internal Missing Long Description}} 1891 * 1892 * @since 2.2.0 1893 */ 1397 1894 function wp_widgets_init() { 1398 1895 if ( !is_blog_installed() ) 1399 1896 return;