Changeset 8090

Show
Ignore:
Timestamp:
06/15/08 09:32:19 (3 months ago)
Author:
westi
Message:

PHPDoc updates for category.php. Fixes #5633 props jacobsantos.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/wp-includes/category.php

    r6655 r8090  
    11<?php 
    2  
     2/** 
     3 * WordPress Category API 
     4 * 
     5 * @package WordPress 
     6 */ 
     7 
     8/** 
     9 * Retrieves all category IDs. 
     10 * 
     11 * @since 2.0.0 
     12 * @link http://codex.wordpress.org/Function_Reference/get_all_category_ids 
     13 * 
     14 * @return object List of all of the category IDs. 
     15 */ 
    316function get_all_category_ids() { 
    417    if ( ! $cat_ids = wp_cache_get('all_category_ids', 'category') ) { 
     
    1023} 
    1124 
     25/** 
     26 * Retrieve list of category objects. 
     27 * 
     28 * If you change the type to 'link' in the arguments, then the link categories 
     29 * will be returned instead. Also all categories will be updated to be backwards 
     30 * compatible with pre-2.3 plugins and themes. 
     31 * 
     32 * @since 2.1.0 
     33 * @see get_terms() Type of arguments that can be changed. 
     34 * @link http://codex.wordpress.org/Function_Reference/get_categories 
     35 * 
     36 * @param string|array $args Optional. Change the defaults retrieving categories. 
     37 * @return array List of categories. 
     38 */ 
    1239function &get_categories($args = '') { 
    1340    $defaults = array('type' => 'category'); 
     
    2552} 
    2653 
    27 // Retrieves category data given a category ID or category object. 
    28 // Handles category caching. 
     54/** 
     55 * Retrieves category data given a category ID or category object. 
     56 * 
     57 * If you pass the $category parameter an object, which is assumed to be the 
     58 * category row object retrieved the database. It will cache the category data. 
     59 * 
     60 * If you pass $category an integer of the category ID, then that category will 
     61 * be retrieved from the database, if it isn't already cached, and pass it back. 
     62 * 
     63 * If you look at get_term(), then both types will be passed through several 
     64 * filters and finally sanitized based on the $filter parameter value. 
     65 * 
     66 * The category will converted to maintain backwards compatibility. 
     67 * 
     68 * @since 2.1.0 
     69 * @uses get_term() Used to get the category data from the taxonomy. 
     70 * 
     71 * @param int|object $category Category ID or Category row object 
     72 * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N 
     73 * @param string $filter Optional. Default is raw or no WordPress defined filter will applied. 
     74 * @return mixed Category data in type defined by $output parameter. 
     75 */ 
    2976function &get_category($category, $output = OBJECT, $filter = 'raw') { 
    3077    $category = get_term($category, 'category', $output, $filter); 
     
    3784} 
    3885 
     86/** 
     87 * Retrieve category based on URL containing the category slug. 
     88 * 
     89 * Breaks the $category_path parameter up to get the category slug. 
     90 * 
     91 * Tries to find the child path and will return it. If it doesn't find a 
     92 * match, then it will return the first category matching slug, if $full_match, 
     93 * is set to false. If it does not, then it will return null. 
     94 * 
     95 * It is also possible that it will return a WP_Error object on failure. Check 
     96 * for it when using this function. 
     97 * 
     98 * @since 2.1.0 
     99 * 
     100 * @param string $category_path URL containing category slugs. 
     101 * @param bool $full_match Optional. Whether should match full path or not. 
     102 * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N 
     103 * @return null|object|array Null on failure. Type is based on $output value. 
     104 */ 
    39105function get_category_by_path($category_path, $full_match = true, $output = OBJECT) { 
    40106    $category_path = rawurlencode(urldecode($category_path)); 
     
    51117 
    52118    if ( empty($categories) ) 
    53         return NULL
     119        return null
    54120 
    55121    foreach ($categories as $category) { 
     
    71137        return get_category($categories[0]->term_id, $output); 
    72138 
    73     return NULL; 
    74 
    75  
     139    return null; 
     140
     141 
     142/** 
     143 * Retrieve category object by category slug. 
     144 * 
     145 * @since 2.3.0 
     146 * 
     147 * @param string $slug The category slug. 
     148 * @return object Category data object 
     149 */ 
    76150function get_category_by_slug( $slug  ) { 
    77151    $category = get_term_by('slug', $slug, 'category'); 
     
    82156} 
    83157 
    84 // Get the ID of a category from its name 
     158 
     159/** 
     160 * Retrieve the ID of a category from its name. 
     161 * 
     162 * @since 1.0.0 
     163 * 
     164 * @param string $cat_name Optional. Default is 'General' and can be any category name. 
     165 * @return int 0, if failure and ID of category on success. 
     166 */ 
    85167function get_cat_ID($cat_name='General') { 
    86168    $cat = get_term_by('name', $cat_name, 'category'); 
     
    90172} 
    91173 
    92 // Deprecate 
     174 
     175/** 
     176 * Retrieve the category name by the category ID. 
     177 * 
     178 * @since 0.71 
     179 * @deprecated Use get_cat_name() 
     180 * @see get_cat_name() get_catname() is deprecated in favor of get_cat_name(). 
     181 * 
     182 * @param int $cat_ID Category ID 
     183 * @return string category name 
     184 */ 
    93185function get_catname($cat_ID) { 
    94186    return get_cat_name($cat_ID); 
    95187} 
    96188 
    97 // Get the name of a category from its ID 
     189 
     190/** 
     191 * Retrieve the name of a category from its ID. 
     192 * 
     193 * @since 1.0.0 
     194 * 
     195 * @param int $cat_id Category ID 
     196 * @return string Category name 
     197 */ 
    98198function get_cat_name($cat_id) { 
    99199    $cat_id = (int) $cat_id; 
     
    102202} 
    103203 
     204 
     205/** 
     206 * Check if a category is an ancestor of another category. 
     207 * 
     208 * You can use either an id or the category object for both parameters. If you 
     209 * use an integer the category will be retrieved. 
     210 * 
     211 * @since 2.1.0 
     212 * 
     213 * @param int|object $cat1 ID or object to check if this is the parent category. 
     214 * @param int|object $cat2 The child category. 
     215 * @return bool Whether $cat2 is child of $cat1 
     216 */ 
    104217function cat_is_ancestor_of($cat1, $cat2) { 
    105218    if ( is_int($cat1) ) 
     
    117230} 
    118231 
     232 
     233/** 
     234 * Sanitizes category data based on context. 
     235 * 
     236 * @since 2.3.0 
     237 * @uses sanitize_term() See this function for what context are supported. 
     238 * 
     239 * @param object|array $category Category data 
     240 * @param string $context Optional. Default is 'display'. 
     241 * @return object|array Same type as $category with sanitized data for safe use. 
     242 */ 
    119243function sanitize_category($category, $context = 'display') { 
    120244    return sanitize_term($category, 'category', $context); 
    121245} 
    122246 
     247 
     248/** 
     249 * Sanitizes data in single category key field. 
     250 * 
     251 * @since 2.3.0 
     252 * @uses sanitize_term_field() See function for more details. 
     253 * 
     254 * @param string $field Category key to sanitize 
     255 * @param mixed $value Category value to sanitize 
     256 * @param int $cat_id Category ID 
     257 * @param string $context What filter to use, 'raw', 'display', etc. 
     258 * @return mixed Same type as $value after $value has been sanitized. 
     259 */ 
    123260function sanitize_category_field($field, $value, $cat_id, $context) { 
    124261    return sanitize_term_field($field, $value, $cat_id, 'category', $context); 
    125262} 
    126263 
    127 // Tags 
    128  
     264/* Tags */ 
     265 
     266 
     267/** 
     268 * Retrieves all post tags. 
     269 * 
     270 * @since 2.3.0 
     271 * @see get_terms() For list of arguments to pass. 
     272 * @uses apply_filters() Calls 'get_tags' hook on array of tags and with $args. 
     273 * 
     274 * @param string|array $args Tag arguments to use when retrieving tags. 
     275 * @return array List of tags. 
     276 */ 
    129277function &get_tags($args = '') { 
    130278    $tags = get_terms('post_tag', $args); 
     
    137285} 
    138286 
     287 
     288/** 
     289 * Retrieve post tag by tag ID or tag object. 
     290 * 
     291 * If you pass the $tag parameter an object, which is assumed to be the tag row 
     292 * object retrieved the database. It will cache the tag data. 
     293 * 
     294 * If you pass $tag an integer of the tag ID, then that tag will 
     295 * be retrieved from the database, if it isn't already cached, and pass it back. 
     296 * 
     297 * If you look at get_term(), then both types will be passed through several 
     298 * filters and finally sanitized based on the $filter parameter value. 
     299 * 
     300 * @since 2.3.0 
     301 * 
     302 * @param int|object $tag 
     303 * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N 
     304 * @param string $filter Optional. Default is raw or no WordPress defined filter will applied. 
     305 * @return object|array Return type based on $output value. 
     306 */ 
    139307function &get_tag($tag, $output = OBJECT, $filter = 'raw') { 
    140308    return get_term($tag, 'post_tag', $output, $filter); 
    141309} 
    142310 
    143 // 
    144 // Cache 
    145 // 
    146  
     311 
     312/* Cache */ 
     313 
     314 
     315/** 
     316 * Update the categories cache. 
     317 * 
     318 * This function does not appear to be used anymore or does not appear to be 
     319 * needed. It might be a legacy function left over from when there was a need 
     320 * for updating the category cache. 
     321 * 
     322 * @since 1.5.0 
     323 * 
     324 * @return bool Always return True 
     325 */ 
    147326function update_category_cache() { 
    148327    return true; 
    149328} 
    150329 
     330 
     331/** 
     332 * Remove the category cache data based on ID. 
     333 * 
     334 * @since 2.1.0 
     335 * @uses clean_term_cache() Clears the cache for the category based on ID 
     336 * 
     337 * @param int $id Category ID 
     338 */ 
    151339function clean_category_cache($id) { 
    152340    clean_term_cache($id, 'category'); 
    153341} 
    154342 
    155 // 
    156 // Private helpers 
    157 // 
    158  
     343 
     344/** 
     345 * Update category structure to old pre 2.3 from new taxonomy structure. 
     346 * 
     347 * This function was added for the taxonomy support to update the new category 
     348 * structure with the old category one. This will maintain compatibility with 
     349 * plugins and themes which depend on the old key or property names. 
     350 * 
     351 * The parameter should only be passed a variable and not create the array or 
     352 * object inline to the parameter. The reason for this is that parameter is 
     353 * passed by reference and PHP will fail unless it has the variable. 
     354 * 
     355 * There is no return value, because everything is updated on the variable you 
     356 * pass to it. This is one of the features with using pass by reference in PHP. 
     357 * 
     358 * @since 2.3.0 
     359 * @access private 
     360 * 
     361 * @param array|object $category Category Row object or array 
     362 */ 
    159363function _make_cat_compat( &$category) { 
    160364    if ( is_object($category) ) { 
     
    175379} 
    176380 
     381 
    177382?>