~canonical-sysadmins/wordpress/5.1

« back to all changes in this revision

Viewing changes to wp-includes/category.php

  • Committer: Barry Price
  • Date: 2019-02-22 03:51:26 UTC
  • mfrom: (1.2.12 upstream)
  • Revision ID: barry.price@canonical.com-20190222035126-o28k38qs8jfyjsxt
Merge WP5.1 from upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
 */
26
26
function get_categories( $args = '' ) {
27
27
        $defaults = array( 'taxonomy' => 'category' );
28
 
        $args = wp_parse_args( $args, $defaults );
 
28
        $args     = wp_parse_args( $args, $defaults );
29
29
 
30
30
        $taxonomy = $args['taxonomy'];
31
31
 
40
40
        $taxonomy = apply_filters( 'get_categories_taxonomy', $taxonomy, $args );
41
41
 
42
42
        // Back compat
43
 
        if ( isset($args['type']) && 'link' == $args['type'] ) {
44
 
                _deprecated_argument( __FUNCTION__, '3.0.0',
 
43
        if ( isset( $args['type'] ) && 'link' == $args['type'] ) {
 
44
                _deprecated_argument(
 
45
                        __FUNCTION__,
 
46
                        '3.0.0',
45
47
                        /* translators: 1: "type => link", 2: "taxonomy => link_category" */
46
 
                        sprintf( __( '%1$s is deprecated. Use %2$s instead.' ),
 
48
                        sprintf(
 
49
                                __( '%1$s is deprecated. Use %2$s instead.' ),
47
50
                                '<code>type => link</code>',
48
51
                                '<code>taxonomy => link_category</code>'
49
52
                        )
91
94
function get_category( $category, $output = OBJECT, $filter = 'raw' ) {
92
95
        $category = get_term( $category, 'category', $output, $filter );
93
96
 
94
 
        if ( is_wp_error( $category ) )
 
97
        if ( is_wp_error( $category ) ) {
95
98
                return $category;
 
99
        }
96
100
 
97
101
        _make_cat_compat( $category );
98
102
 
120
124
 * @return WP_Term|array|WP_Error|null Type is based on $output value.
121
125
 */
122
126
function get_category_by_path( $category_path, $full_match = true, $output = OBJECT ) {
123
 
        $category_path = rawurlencode( urldecode( $category_path ) );
124
 
        $category_path = str_replace( '%2F', '/', $category_path );
125
 
        $category_path = str_replace( '%20', ' ', $category_path );
 
127
        $category_path  = rawurlencode( urldecode( $category_path ) );
 
128
        $category_path  = str_replace( '%2F', '/', $category_path );
 
129
        $category_path  = str_replace( '%20', ' ', $category_path );
126
130
        $category_paths = '/' . trim( $category_path, '/' );
127
 
        $leaf_path  = sanitize_title( basename( $category_paths ) );
 
131
        $leaf_path      = sanitize_title( basename( $category_paths ) );
128
132
        $category_paths = explode( '/', $category_paths );
129
 
        $full_path = '';
 
133
        $full_path      = '';
130
134
        foreach ( (array) $category_paths as $pathdir ) {
131
135
                $full_path .= ( $pathdir != '' ? '/' : '' ) . sanitize_title( $pathdir );
132
136
        }
133
 
        $categories = get_terms( 'category', array('get' => 'all', 'slug' => $leaf_path) );
 
137
        $categories = get_terms(
 
138
                'category',
 
139
                array(
 
140
                        'get'  => 'all',
 
141
                        'slug' => $leaf_path,
 
142
                )
 
143
        );
134
144
 
135
145
        if ( empty( $categories ) ) {
136
146
                return;
137
147
        }
138
148
 
139
149
        foreach ( $categories as $category ) {
140
 
                $path = '/' . $leaf_path;
 
150
                $path        = '/' . $leaf_path;
141
151
                $curcategory = $category;
142
152
                while ( ( $curcategory->parent != 0 ) && ( $curcategory->parent != $curcategory->term_id ) ) {
143
153
                        $curcategory = get_term( $curcategory->parent, 'category' );
170
180
 * @param string $slug The category slug.
171
181
 * @return object Category data object
172
182
 */
173
 
function get_category_by_slug( $slug  ) {
 
183
function get_category_by_slug( $slug ) {
174
184
        $category = get_term_by( 'slug', $slug, 'category' );
175
 
        if ( $category )
 
185
        if ( $category ) {
176
186
                _make_cat_compat( $category );
 
187
        }
177
188
 
178
189
        return $category;
179
190
}
188
199
 */
189
200
function get_cat_ID( $cat_name ) {
190
201
        $cat = get_term_by( 'name', $cat_name, 'category' );
191
 
        if ( $cat )
 
202
        if ( $cat ) {
192
203
                return $cat->term_id;
 
204
        }
193
205
        return 0;
194
206
}
195
207
 
202
214
 * @return string Category name, or an empty string if category doesn't exist.
203
215
 */
204
216
function get_cat_name( $cat_id ) {
205
 
        $cat_id = (int) $cat_id;
 
217
        $cat_id   = (int) $cat_id;
206
218
        $category = get_term( $cat_id, 'category' );
207
 
        if ( ! $category || is_wp_error( $category ) )
 
219
        if ( ! $category || is_wp_error( $category ) ) {
208
220
                return '';
 
221
        }
209
222
        return $category->name;
210
223
}
211
224
 
262
275
 * @see get_terms() For list of arguments to pass.
263
276
 *
264
277
 * @param string|array $args Tag arguments to use when retrieving tags.
265
 
 * @return array List of tags.
 
278
 * @return WP_Term[]|int $tags Array of 'post_tag' term objects, or a count thereof.
266
279
 */
267
280
function get_tags( $args = '' ) {
268
281
        $tags = get_terms( 'post_tag', $args );
277
290
         *
278
291
         * @since 2.3.0
279
292
         *
280
 
         * @param array $tags Array of 'post_tag' term objects.
281
 
         * @param array $args An array of arguments. @see get_terms()
 
293
         * @param WP_Term[]|int $tags Array of 'post_tag' term objects, or a count thereof.
 
294
         * @param array         $args An array of arguments. @see get_terms()
282
295
         */
283
296
        $tags = apply_filters( 'get_tags', $tags, $args );
284
297
        return $tags;
343
356
 */
344
357
function _make_cat_compat( &$category ) {
345
358
        if ( is_object( $category ) && ! is_wp_error( $category ) ) {
346
 
                $category->cat_ID = $category->term_id;
347
 
                $category->category_count = $category->count;
 
359
                $category->cat_ID               = $category->term_id;
 
360
                $category->category_count       = $category->count;
348
361
                $category->category_description = $category->description;
349
 
                $category->cat_name = $category->name;
350
 
                $category->category_nicename = $category->slug;
351
 
                $category->category_parent = $category->parent;
 
362
                $category->cat_name             = $category->name;
 
363
                $category->category_nicename    = $category->slug;
 
364
                $category->category_parent      = $category->parent;
352
365
        } elseif ( is_array( $category ) && isset( $category['term_id'] ) ) {
353
 
                $category['cat_ID'] = &$category['term_id'];
354
 
                $category['category_count'] = &$category['count'];
 
366
                $category['cat_ID']               = &$category['term_id'];
 
367
                $category['category_count']       = &$category['count'];
355
368
                $category['category_description'] = &$category['description'];
356
 
                $category['cat_name'] = &$category['name'];
357
 
                $category['category_nicename'] = &$category['slug'];
358
 
                $category['category_parent'] = &$category['parent'];
 
369
                $category['cat_name']             = &$category['name'];
 
370
                $category['category_nicename']    = &$category['slug'];
 
371
                $category['category_parent']      = &$category['parent'];
359
372
        }
360
373
}