Issues (4967)

Security Analysis    not enabled

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

src/wp-includes/deprecated.php (103 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 * Deprecated functions from past WordPress versions. You shouldn't use these
4
 * functions and look for the alternatives instead. The functions will be
5
 * removed in a later version.
6
 *
7
 * @package WordPress
8
 * @subpackage Deprecated
9
 */
10
11
/*
12
 * Deprecated functions come here to die.
13
 */
14
15
/**
16
 * Retrieves all post data for a given post.
17
 *
18
 * @since 0.71
19
 * @deprecated 1.5.1 Use get_post()
20
 * @see get_post()
21
 *
22
 * @param int $postid Post ID.
23
 * @return array Post data.
24
 */
25
function get_postdata($postid) {
26
	_deprecated_function( __FUNCTION__, '1.5.1', 'get_post()' );
27
28
	$post = get_post($postid);
29
30
	$postdata = array (
31
		'ID' => $post->ID,
32
		'Author_ID' => $post->post_author,
33
		'Date' => $post->post_date,
34
		'Content' => $post->post_content,
35
		'Excerpt' => $post->post_excerpt,
36
		'Title' => $post->post_title,
37
		'Category' => $post->post_category,
38
		'post_status' => $post->post_status,
39
		'comment_status' => $post->comment_status,
40
		'ping_status' => $post->ping_status,
41
		'post_password' => $post->post_password,
42
		'to_ping' => $post->to_ping,
43
		'pinged' => $post->pinged,
44
		'post_type' => $post->post_type,
45
		'post_name' => $post->post_name
46
	);
47
48
	return $postdata;
49
}
50
51
/**
52
 * Sets up the WordPress Loop.
53
 *
54
 * Use The Loop instead.
55
 *
56
 * @link https://codex.wordpress.org/The_Loop
57
 *
58
 * @since 1.0.1
59
 * @deprecated 1.5.0
60
 */
61
function start_wp() {
62
	global $wp_query;
63
64
	_deprecated_function( __FUNCTION__, '1.5.0', __('new WordPress Loop') );
65
66
	// Since the old style loop is being used, advance the query iterator here.
67
	$wp_query->next_post();
68
69
	setup_postdata( get_post() );
0 ignored issues
show
It seems like get_post() can also be of type array or null; however, setup_postdata() does only seem to accept object|integer, maybe add an additional type check?

If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check:

/**
 * @return array|string
 */
function returnsDifferentValues($x) {
    if ($x) {
        return 'foo';
    }

    return array();
}

$x = returnsDifferentValues($y);
if (is_array($x)) {
    // $x is an array.
}

If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue.

Loading history...
70
}
71
72
/**
73
 * Returns or prints a category ID.
74
 *
75
 * @since 0.71
76
 * @deprecated 0.71 Use get_the_category()
77
 * @see get_the_category()
78
 *
79
 * @param bool $echo Optional. Whether to echo the output. Default true.
80
 * @return int Category ID.
81
 */
82
function the_category_ID($echo = true) {
83
	_deprecated_function( __FUNCTION__, '0.71', 'get_the_category()' );
84
85
	// Grab the first cat in the list.
86
	$categories = get_the_category();
87
	$cat = $categories[0]->term_id;
88
89
	if ( $echo )
90
		echo $cat;
91
92
	return $cat;
93
}
94
95
/**
96
 * Prints a category with optional text before and after.
97
 *
98
 * @since 0.71
99
 * @deprecated 0.71 Use get_the_category_by_ID()
100
 * @see get_the_category_by_ID()
101
 *
102
 * @param string $before Optional. Text to display before the category. Default empty.
103
 * @param string $after  Optional. Text to display after the category. Default empty.
104
 */
105
function the_category_head( $before = '', $after = '' ) {
106
	global $currentcat, $previouscat;
107
108
	_deprecated_function( __FUNCTION__, '0.71', 'get_the_category_by_ID()' );
109
110
	// Grab the first cat in the list.
111
	$categories = get_the_category();
112
	$currentcat = $categories[0]->category_id;
113
	if ( $currentcat != $previouscat ) {
114
		echo $before;
115
		echo get_the_category_by_ID($currentcat);
116
		echo $after;
117
		$previouscat = $currentcat;
118
	}
119
}
120
121
/**
122
 * Prints a link to the previous post.
123
 *
124
 * @since 1.5.0
125
 * @deprecated 2.0.0 Use previous_post_link()
126
 * @see previous_post_link()
127
 *
128
 * @param string $format
129
 * @param string $previous
130
 * @param string $title
131
 * @param string $in_same_cat
132
 * @param int    $limitprev
133
 * @param string $excluded_categories
134
 */
135 View Code Duplication
function previous_post($format='%', $previous='previous post: ', $title='yes', $in_same_cat='no', $limitprev=1, $excluded_categories='') {
0 ignored issues
show
The parameter $limitprev is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
This function seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
136
137
	_deprecated_function( __FUNCTION__, '2.0.0', 'previous_post_link()' );
138
139
	if ( empty($in_same_cat) || 'no' == $in_same_cat )
140
		$in_same_cat = false;
141
	else
142
		$in_same_cat = true;
143
144
	$post = get_previous_post($in_same_cat, $excluded_categories);
145
146
	if ( !$post )
147
		return;
148
149
	$string = '<a href="'.get_permalink($post->ID).'">'.$previous;
150
	if ( 'yes' == $title )
151
		$string .= apply_filters('the_title', $post->post_title, $post->ID);
152
	$string .= '</a>';
153
	$format = str_replace('%', $string, $format);
154
	echo $format;
155
}
156
157
/**
158
 * Prints link to the next post.
159
 *
160
 * @since 0.71
161
 * @deprecated 2.0.0 Use next_post_link()
162
 * @see next_post_link()
163
 *
164
 * @param string $format
165
 * @param string $next
166
 * @param string $title
167
 * @param string $in_same_cat
168
 * @param int $limitnext
169
 * @param string $excluded_categories
170
 */
171 View Code Duplication
function next_post($format='%', $next='next post: ', $title='yes', $in_same_cat='no', $limitnext=1, $excluded_categories='') {
0 ignored issues
show
The parameter $limitnext is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
This function seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
172
	_deprecated_function( __FUNCTION__, '2.0.0', 'next_post_link()' );
173
174
	if ( empty($in_same_cat) || 'no' == $in_same_cat )
175
		$in_same_cat = false;
176
	else
177
		$in_same_cat = true;
178
179
	$post = get_next_post($in_same_cat, $excluded_categories);
180
181
	if ( !$post	)
182
		return;
183
184
	$string = '<a href="'.get_permalink($post->ID).'">'.$next;
185
	if ( 'yes' == $title )
186
		$string .= apply_filters('the_title', $post->post_title, $post->ID);
187
	$string .= '</a>';
188
	$format = str_replace('%', $string, $format);
189
	echo $format;
190
}
191
192
/**
193
 * Whether user can create a post.
194
 *
195
 * @since 1.5.0
196
 * @deprecated 2.0.0 Use current_user_can()
197
 * @see current_user_can()
198
 *
199
 * @param int $user_id
200
 * @param int $blog_id Not Used
201
 * @param int $category_id Not Used
202
 * @return bool
203
 */
204
function user_can_create_post($user_id, $blog_id = 1, $category_id = 'None') {
0 ignored issues
show
The parameter $blog_id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $category_id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
205
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
206
207
	$author_data = get_userdata($user_id);
208
	return ($author_data->user_level > 1);
209
}
210
211
/**
212
 * Whether user can create a post.
213
 *
214
 * @since 1.5.0
215
 * @deprecated 2.0.0 Use current_user_can()
216
 * @see current_user_can()
217
 *
218
 * @param int $user_id
219
 * @param int $blog_id Not Used
220
 * @param int $category_id Not Used
221
 * @return bool
222
 */
223
function user_can_create_draft($user_id, $blog_id = 1, $category_id = 'None') {
0 ignored issues
show
The parameter $blog_id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $category_id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
224
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
225
226
	$author_data = get_userdata($user_id);
227
	return ($author_data->user_level >= 1);
228
}
229
230
/**
231
 * Whether user can edit a post.
232
 *
233
 * @since 1.5.0
234
 * @deprecated 2.0.0 Use current_user_can()
235
 * @see current_user_can()
236
 *
237
 * @param int $user_id
238
 * @param int $post_id
239
 * @param int $blog_id Not Used
240
 * @return bool
241
 */
242
function user_can_edit_post($user_id, $post_id, $blog_id = 1) {
0 ignored issues
show
The parameter $blog_id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
243
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
244
245
	$author_data = get_userdata($user_id);
246
	$post = get_post($post_id);
247
	$post_author_data = get_userdata($post->post_author);
248
249
	if ( (($user_id == $post_author_data->ID) && !($post->post_status == 'publish' && $author_data->user_level < 2))
0 ignored issues
show
The if-else statement can be simplified to return $user_id == $post...data->user_level >= 10;.
Loading history...
250
			 || ($author_data->user_level > $post_author_data->user_level)
251
			 || ($author_data->user_level >= 10) ) {
252
		return true;
253
	} else {
254
		return false;
255
	}
256
}
257
258
/**
259
 * Whether user can delete a post.
260
 *
261
 * @since 1.5.0
262
 * @deprecated 2.0.0 Use current_user_can()
263
 * @see current_user_can()
264
 *
265
 * @param int $user_id
266
 * @param int $post_id
267
 * @param int $blog_id Not Used
268
 * @return bool
269
 */
270
function user_can_delete_post($user_id, $post_id, $blog_id = 1) {
271
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
272
273
	// right now if one can edit, one can delete
274
	return user_can_edit_post($user_id, $post_id, $blog_id);
0 ignored issues
show
Deprecated Code introduced by
The function user_can_edit_post() has been deprecated with message: 2.0.0 Use current_user_can()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
275
}
276
277
/**
278
 * Whether user can set new posts' dates.
279
 *
280
 * @since 1.5.0
281
 * @deprecated 2.0.0 Use current_user_can()
282
 * @see current_user_can()
283
 *
284
 * @param int $user_id
285
 * @param int $blog_id Not Used
286
 * @param int $category_id Not Used
287
 * @return bool
288
 */
289
function user_can_set_post_date($user_id, $blog_id = 1, $category_id = 'None') {
290
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
291
292
	$author_data = get_userdata($user_id);
293
	return (($author_data->user_level > 4) && user_can_create_post($user_id, $blog_id, $category_id));
0 ignored issues
show
Deprecated Code introduced by
The function user_can_create_post() has been deprecated with message: 2.0.0 Use current_user_can()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
294
}
295
296
/**
297
 * Whether user can delete a post.
298
 *
299
 * @since 1.5.0
300
 * @deprecated 2.0.0 Use current_user_can()
301
 * @see current_user_can()
302
 *
303
 * @param int $user_id
304
 * @param int $post_id
305
 * @param int $blog_id Not Used
306
 * @return bool returns true if $user_id can edit $post_id's date
307
 */
308
function user_can_edit_post_date($user_id, $post_id, $blog_id = 1) {
309
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
310
311
	$author_data = get_userdata($user_id);
312
	return (($author_data->user_level > 4) && user_can_edit_post($user_id, $post_id, $blog_id));
0 ignored issues
show
Deprecated Code introduced by
The function user_can_edit_post() has been deprecated with message: 2.0.0 Use current_user_can()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
313
}
314
315
/**
316
 * Whether user can delete a post.
317
 *
318
 * @since 1.5.0
319
 * @deprecated 2.0.0 Use current_user_can()
320
 * @see current_user_can()
321
 *
322
 * @param int $user_id
323
 * @param int $post_id
324
 * @param int $blog_id Not Used
325
 * @return bool returns true if $user_id can edit $post_id's comments
326
 */
327
function user_can_edit_post_comments($user_id, $post_id, $blog_id = 1) {
328
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
329
330
	// right now if one can edit a post, one can edit comments made on it
331
	return user_can_edit_post($user_id, $post_id, $blog_id);
0 ignored issues
show
Deprecated Code introduced by
The function user_can_edit_post() has been deprecated with message: 2.0.0 Use current_user_can()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
332
}
333
334
/**
335
 * Whether user can delete a post.
336
 *
337
 * @since 1.5.0
338
 * @deprecated 2.0.0 Use current_user_can()
339
 * @see current_user_can()
340
 *
341
 * @param int $user_id
342
 * @param int $post_id
343
 * @param int $blog_id Not Used
344
 * @return bool returns true if $user_id can delete $post_id's comments
345
 */
346
function user_can_delete_post_comments($user_id, $post_id, $blog_id = 1) {
347
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
348
349
	// right now if one can edit comments, one can delete comments
350
	return user_can_edit_post_comments($user_id, $post_id, $blog_id);
0 ignored issues
show
Deprecated Code introduced by
The function user_can_edit_post_comments() has been deprecated with message: 2.0.0 Use current_user_can()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
351
}
352
353
/**
354
 * Can user can edit other user.
355
 *
356
 * @since 1.5.0
357
 * @deprecated 2.0.0 Use current_user_can()
358
 * @see current_user_can()
359
 *
360
 * @param int $user_id
361
 * @param int $other_user
362
 * @return bool
363
 */
364
function user_can_edit_user($user_id, $other_user) {
365
	_deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' );
366
367
	$user  = get_userdata($user_id);
368
	$other = get_userdata($other_user);
369
	if ( $user->user_level > $other->user_level || $user->user_level > 8 || $user->ID == $other->ID )
0 ignored issues
show
The if-else statement can be simplified to return $user->user_level...user->ID == $other->ID;.
Loading history...
370
		return true;
371
	else
372
		return false;
373
}
374
375
/**
376
 * Gets the links associated with category $cat_name.
377
 *
378
 * @since 0.71
379
 * @deprecated 2.1.0 Use get_bookmarks()
380
 * @see get_bookmarks()
381
 *
382
 * @param string $cat_name Optional. The category name to use. If no match is found uses all.
383
 * @param string $before Optional. The html to output before the link.
384
 * @param string $after Optional. The html to output after the link.
385
 * @param string $between Optional. The html to output between the link/image and its description. Not used if no image or $show_images is true.
386
 * @param bool $show_images Optional. Whether to show images (if defined).
387
 * @param string $orderby Optional. The order to output the links. E.g. 'id', 'name', 'url', 'description' or 'rating'. Or maybe owner.
388
 *		If you start the name with an underscore the order will be reversed. You can also specify 'rand' as the order which will return links in a
389
 *		random order.
390
 * @param bool $show_description Optional. Whether to show the description if show_images=false/not defined.
391
 * @param bool $show_rating Optional. Show rating stars/chars.
392
 * @param int $limit		Optional. Limit to X entries. If not specified, all entries are shown.
393
 * @param int $show_updated Optional. Whether to show last updated timestamp
394
 */
395
function get_linksbyname($cat_name = "noname", $before = '', $after = '<br />', $between = " ", $show_images = true, $orderby = 'id',
396
						 $show_description = true, $show_rating = false,
397
						 $limit = -1, $show_updated = 0) {
398
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' );
399
400
	$cat_id = -1;
401
	$cat = get_term_by('name', $cat_name, 'link_category');
402
	if ( $cat )
403
		$cat_id = $cat->term_id;
404
405
	get_links($cat_id, $before, $after, $between, $show_images, $orderby, $show_description, $show_rating, $limit, $show_updated);
0 ignored issues
show
Deprecated Code introduced by
The function get_links() has been deprecated with message: 2.1.0 Use get_bookmarks()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
406
}
407
408
/**
409
 * Gets the links associated with the named category.
410
 *
411
 * @since 1.0.1
412
 * @deprecated 2.1.0 Use wp_list_bookmarks()
413
 * @see wp_list_bookmarks()
414
 *
415
 * @param string $category The category to use.
416
 * @param string $args
417
 * @return string|null
418
 */
419
function wp_get_linksbyname($category, $args = '') {
420
	_deprecated_function(__FUNCTION__, '2.1.0', 'wp_list_bookmarks()');
421
422
	$defaults = array(
423
		'after' => '<br />',
424
		'before' => '',
425
		'categorize' => 0,
426
		'category_after' => '',
427
		'category_before' => '',
428
		'category_name' => $category,
429
		'show_description' => 1,
430
		'title_li' => '',
431
	);
432
433
	$r = wp_parse_args( $args, $defaults );
434
435
	return wp_list_bookmarks($r);
436
}
437
438
/**
439
 * Gets an array of link objects associated with category $cat_name.
440
 *
441
 *     $links = get_linkobjectsbyname( 'fred' );
442
 *     foreach ( $links as $link ) {
443
 *      	echo '<li>' . $link->link_name . '</li>';
444
 *     }
445
 *
446
 * @since 1.0.1
447
 * @deprecated 2.1.0 Use get_bookmarks()
448
 * @see get_bookmarks()
449
 *
450
 * @param string $cat_name The category name to use. If no match is found uses all.
451
 * @param string $orderby The order to output the links. E.g. 'id', 'name', 'url', 'description', or 'rating'.
452
 *		Or maybe owner. If you start the name with an underscore the order will be reversed. You can also
453
 *		specify 'rand' as the order which will return links in a random order.
454
 * @param int $limit Limit to X entries. If not specified, all entries are shown.
455
 * @return array
456
 */
457
function get_linkobjectsbyname($cat_name = "noname" , $orderby = 'name', $limit = -1) {
458
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' );
459
460
	$cat_id = -1;
461
	$cat = get_term_by('name', $cat_name, 'link_category');
462
	if ( $cat )
463
		$cat_id = $cat->term_id;
464
465
	return get_linkobjects($cat_id, $orderby, $limit);
0 ignored issues
show
Deprecated Code introduced by
The function get_linkobjects() has been deprecated with message: 2.1.0 Use get_bookmarks()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
466
}
467
468
/**
469
 * Gets an array of link objects associated with category n.
470
 *
471
 * Usage:
472
 *
473
 *     $links = get_linkobjects(1);
474
 *     if ($links) {
475
 *     	foreach ($links as $link) {
476
 *     		echo '<li>'.$link->link_name.'<br />'.$link->link_description.'</li>';
477
 *     	}
478
 *     }
479
 *
480
 * Fields are:
481
 *
482
 * - link_id
483
 * - link_url
484
 * - link_name
485
 * - link_image
486
 * - link_target
487
 * - link_category
488
 * - link_description
489
 * - link_visible
490
 * - link_owner
491
 * - link_rating
492
 * - link_updated
493
 * - link_rel
494
 * - link_notes
495
 *
496
 * @since 1.0.1
497
 * @deprecated 2.1.0 Use get_bookmarks()
498
 * @see get_bookmarks()
499
 *
500
 * @param int $category The category to use. If no category supplied uses all
501
 * @param string $orderby the order to output the links. E.g. 'id', 'name', 'url',
502
 *		'description', or 'rating'. Or maybe owner. If you start the name with an
503
 *		underscore the order will be reversed. You can also specify 'rand' as the
504
 *		order which will return links in a random order.
505
 * @param int $limit Limit to X entries. If not specified, all entries are shown.
506
 * @return array
507
 */
508
function get_linkobjects($category = 0, $orderby = 'name', $limit = 0) {
509
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' );
510
511
	$links = get_bookmarks( array( 'category' => $category, 'orderby' => $orderby, 'limit' => $limit ) ) ;
512
513
	$links_array = array();
514
	foreach ($links as $link)
515
		$links_array[] = $link;
516
517
	return $links_array;
518
}
519
520
/**
521
 * Gets the links associated with category 'cat_name' and display rating stars/chars.
522
 *
523
 * @since 0.71
524
 * @deprecated 2.1.0 Use get_bookmarks()
525
 * @see get_bookmarks()
526
 *
527
 * @param string $cat_name The category name to use. If no match is found uses all
528
 * @param string $before The html to output before the link
529
 * @param string $after The html to output after the link
530
 * @param string $between The html to output between the link/image and its description. Not used if no image or show_images is true
531
 * @param bool $show_images Whether to show images (if defined).
532
 * @param string $orderby the order to output the links. E.g. 'id', 'name', 'url',
533
 *		'description', or 'rating'. Or maybe owner. If you start the name with an
534
 *		underscore the order will be reversed. You can also specify 'rand' as the
535
 *		order which will return links in a random order.
536
 * @param bool $show_description Whether to show the description if show_images=false/not defined
537
 * @param int $limit Limit to X entries. If not specified, all entries are shown.
538
 * @param int $show_updated Whether to show last updated timestamp
539
 */
540
function get_linksbyname_withrating($cat_name = "noname", $before = '', $after = '<br />', $between = " ",
541
									$show_images = true, $orderby = 'id', $show_description = true, $limit = -1, $show_updated = 0) {
542
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' );
543
544
	get_linksbyname($cat_name, $before, $after, $between, $show_images, $orderby, $show_description, true, $limit, $show_updated);
0 ignored issues
show
Deprecated Code introduced by
The function get_linksbyname() has been deprecated with message: 2.1.0 Use get_bookmarks()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
545
}
546
547
/**
548
 * Gets the links associated with category n and display rating stars/chars.
549
 *
550
 * @since 0.71
551
 * @deprecated 2.1.0 Use get_bookmarks()
552
 * @see get_bookmarks()
553
 *
554
 * @param int $category The category to use. If no category supplied uses all
555
 * @param string $before The html to output before the link
556
 * @param string $after The html to output after the link
557
 * @param string $between The html to output between the link/image and its description. Not used if no image or show_images == true
558
 * @param bool $show_images Whether to show images (if defined).
559
 * @param string $orderby The order to output the links. E.g. 'id', 'name', 'url',
560
 *		'description', or 'rating'. Or maybe owner. If you start the name with an
561
 *		underscore the order will be reversed. You can also specify 'rand' as the
562
 *		order which will return links in a random order.
563
 * @param bool $show_description Whether to show the description if show_images=false/not defined.
564
 * @param int $limit Limit to X entries. If not specified, all entries are shown.
565
 * @param int $show_updated Whether to show last updated timestamp
566
 */
567
function get_links_withrating($category = -1, $before = '', $after = '<br />', $between = " ", $show_images = true,
568
							  $orderby = 'id', $show_description = true, $limit = -1, $show_updated = 0) {
569
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' );
570
571
	get_links($category, $before, $after, $between, $show_images, $orderby, $show_description, true, $limit, $show_updated);
0 ignored issues
show
Deprecated Code introduced by
The function get_links() has been deprecated with message: 2.1.0 Use get_bookmarks()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
572
}
573
574
/**
575
 * Gets the auto_toggle setting.
576
 *
577
 * @since 0.71
578
 * @deprecated 2.1.0
579
 *
580
 * @param int $id The category to get. If no category supplied uses 0
581
 * @return int Only returns 0.
582
 */
583
function get_autotoggle($id = 0) {
0 ignored issues
show
The parameter $id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
584
	_deprecated_function( __FUNCTION__, '2.1.0' );
585
	return 0;
586
}
587
588
/**
589
 * Lists categories.
590
 *
591
 * @since 0.71
592
 * @deprecated 2.1.0 Use wp_list_categories()
593
 * @see wp_list_categories()
594
 *
595
 * @param int $optionall
596
 * @param string $all
597
 * @param string $sort_column
598
 * @param string $sort_order
599
 * @param string $file
600
 * @param bool $list
601
 * @param int $optiondates
602
 * @param int $optioncount
603
 * @param int $hide_empty
604
 * @param int $use_desc_for_title
605
 * @param bool $children
606
 * @param int $child_of
607
 * @param int $categories
608
 * @param int $recurse
609
 * @param string $feed
610
 * @param string $feed_image
611
 * @param string $exclude
612
 * @param bool $hierarchical
613
 * @return false|null
0 ignored issues
show
Should the return type not be false|string?

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

Loading history...
614
 */
615
function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc', $file = '', $list = true, $optiondates = 0,
616
				   $optioncount = 0, $hide_empty = 1, $use_desc_for_title = 1, $children=false, $child_of=0, $categories=0,
617
				   $recurse=0, $feed = '', $feed_image = '', $exclude = '', $hierarchical=false) {
618
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_categories()' );
619
620
	$query = compact('optionall', 'all', 'sort_column', 'sort_order', 'file', 'list', 'optiondates', 'optioncount', 'hide_empty', 'use_desc_for_title', 'children',
621
		'child_of', 'categories', 'recurse', 'feed', 'feed_image', 'exclude', 'hierarchical');
622
	return wp_list_cats($query);
0 ignored issues
show
Deprecated Code introduced by
The function wp_list_cats() has been deprecated with message: 2.1.0 Use wp_list_categories()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
623
}
624
625
/**
626
 * Lists categories.
627
 *
628
 * @since 1.2.0
629
 * @deprecated 2.1.0 Use wp_list_categories()
630
 * @see wp_list_categories()
631
 *
632
 * @param string|array $args
633
 * @return false|null|string
0 ignored issues
show
Consider making the return type a bit more specific; maybe use false|string.

This check looks for the generic type array as a return type and suggests a more specific type. This type is inferred from the actual code.

Loading history...
634
 */
635
function wp_list_cats($args = '') {
636
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_categories()' );
637
638
	$r = wp_parse_args( $args );
639
640
	// Map to new names.
641
	if ( isset($r['optionall']) && isset($r['all']))
642
		$r['show_option_all'] = $r['all'];
643
	if ( isset($r['sort_column']) )
644
		$r['orderby'] = $r['sort_column'];
645
	if ( isset($r['sort_order']) )
646
		$r['order'] = $r['sort_order'];
647
	if ( isset($r['optiondates']) )
648
		$r['show_last_update'] = $r['optiondates'];
649
	if ( isset($r['optioncount']) )
650
		$r['show_count'] = $r['optioncount'];
651
	if ( isset($r['list']) )
652
		$r['style'] = $r['list'] ? 'list' : 'break';
653
	$r['title_li'] = '';
654
655
	return wp_list_categories($r);
656
}
657
658
/**
659
 * Deprecated method for generating a drop-down of categories.
660
 *
661
 * @since 0.71
662
 * @deprecated 2.1.0 Use wp_dropdown_categories()
663
 * @see wp_dropdown_categories()
664
 *
665
 * @param int $optionall
666
 * @param string $all
667
 * @param string $orderby
668
 * @param string $order
669
 * @param int $show_last_update
670
 * @param int $show_count
671
 * @param int $hide_empty
672
 * @param bool $optionnone
673
 * @param int $selected
674
 * @param int $exclude
675
 * @return string
676
 */
677
function dropdown_cats($optionall = 1, $all = 'All', $orderby = 'ID', $order = 'asc',
678
		$show_last_update = 0, $show_count = 0, $hide_empty = 1, $optionnone = false,
679
		$selected = 0, $exclude = 0) {
680
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_dropdown_categories()' );
681
682
	$show_option_all = '';
683
	if ( $optionall )
684
		$show_option_all = $all;
685
686
	$show_option_none = '';
687
	if ( $optionnone )
688
		$show_option_none = __('None');
689
690
	$vars = compact('show_option_all', 'show_option_none', 'orderby', 'order',
691
					'show_last_update', 'show_count', 'hide_empty', 'selected', 'exclude');
692
	$query = add_query_arg($vars, '');
693
	return wp_dropdown_categories($query);
694
}
695
696
/**
697
 * Lists authors.
698
 *
699
 * @since 1.2.0
700
 * @deprecated 2.1.0 Use wp_list_authors()
701
 * @see wp_list_authors()
702
 *
703
 * @param bool $optioncount
704
 * @param bool $exclude_admin
705
 * @param bool $show_fullname
706
 * @param bool $hide_empty
707
 * @param string $feed
708
 * @param string $feed_image
709
 * @return null|string
710
 */
711
function list_authors($optioncount = false, $exclude_admin = true, $show_fullname = false, $hide_empty = true, $feed = '', $feed_image = '') {
712
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_authors()' );
713
714
	$args = compact('optioncount', 'exclude_admin', 'show_fullname', 'hide_empty', 'feed', 'feed_image');
715
	return wp_list_authors($args);
716
}
717
718
/**
719
 * Retrieves a list of post categories.
720
 *
721
 * @since 1.0.1
722
 * @deprecated 2.1.0 Use wp_get_post_categories()
723
 * @see wp_get_post_categories()
724
 *
725
 * @param int $blogid Not Used
726
 * @param int $post_ID
727
 * @return array
0 ignored issues
show
Should the return type not be array|WP_Error? Also, consider making the array more specific, something like array<String>, or String[].

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

If the return type contains the type array, this check recommends the use of a more specific type like String[] or array<String>.

Loading history...
728
 */
729
function wp_get_post_cats($blogid = '1', $post_ID = 0) {
0 ignored issues
show
The parameter $blogid is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
730
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_get_post_categories()' );
731
	return wp_get_post_categories($post_ID);
732
}
733
734
/**
735
 * Sets the categories that the post id belongs to.
736
 *
737
 * @since 1.0.1
738
 * @deprecated 2.1.0
739
 * @deprecated Use wp_set_post_categories()
740
 * @see wp_set_post_categories()
741
 *
742
 * @param int $blogid Not used
743
 * @param int $post_ID
744
 * @param array $post_categories
745
 * @return bool|mixed
0 ignored issues
show
Consider making the return type a bit more specific; maybe use boolean|array|WP_Error.

This check looks for the generic type array as a return type and suggests a more specific type. This type is inferred from the actual code.

Loading history...
746
 */
747
function wp_set_post_cats($blogid = '1', $post_ID = 0, $post_categories = array()) {
0 ignored issues
show
The parameter $blogid is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
748
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_set_post_categories()' );
749
	return wp_set_post_categories($post_ID, $post_categories);
750
}
751
752
/**
753
 * Retrieves a list of archives.
754
 *
755
 * @since 0.71
756
 * @deprecated 2.1.0 Use wp_get_archives()
757
 * @see wp_get_archives()
758
 *
759
 * @param string $type
760
 * @param string $limit
761
 * @param string $format
762
 * @param string $before
763
 * @param string $after
764
 * @param bool $show_post_count
765
 * @return string|null
766
 */
767
function get_archives($type='', $limit='', $format='html', $before = '', $after = '', $show_post_count = false) {
768
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_get_archives()' );
769
	$args = compact('type', 'limit', 'format', 'before', 'after', 'show_post_count');
770
	return wp_get_archives($args);
771
}
772
773
/**
774
 * Returns or Prints link to the author's posts.
775
 *
776
 * @since 1.2.0
777
 * @deprecated 2.1.0 Use get_author_posts_url()
778
 * @see get_author_posts_url()
779
 *
780
 * @param bool $echo
781
 * @param int $author_id
782
 * @param string $author_nicename Optional.
783
 * @return string|null
784
 */
785
function get_author_link($echo, $author_id, $author_nicename = '') {
786
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_author_posts_url()' );
787
788
	$link = get_author_posts_url($author_id, $author_nicename);
789
790
	if ( $echo )
791
		echo $link;
792
	return $link;
793
}
794
795
/**
796
 * Print list of pages based on arguments.
797
 *
798
 * @since 0.71
799
 * @deprecated 2.1.0 Use wp_link_pages()
800
 * @see wp_link_pages()
801
 *
802
 * @param string $before
803
 * @param string $after
804
 * @param string $next_or_number
805
 * @param string $nextpagelink
806
 * @param string $previouspagelink
807
 * @param string $pagelink
808
 * @param string $more_file
809
 * @return string
810
 */
811
function link_pages($before='<br />', $after='<br />', $next_or_number='number', $nextpagelink='next page', $previouspagelink='previous page',
812
					$pagelink='%', $more_file='') {
813
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_link_pages()' );
814
815
	$args = compact('before', 'after', 'next_or_number', 'nextpagelink', 'previouspagelink', 'pagelink', 'more_file');
816
	return wp_link_pages($args);
817
}
818
819
/**
820
 * Get value based on option.
821
 *
822
 * @since 0.71
823
 * @deprecated 2.1.0 Use get_option()
824
 * @see get_option()
825
 *
826
 * @param string $option
827
 * @return string
828
 */
829
function get_settings($option) {
830
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_option()' );
831
832
	return get_option($option);
833
}
834
835
/**
836
 * Print the permalink of the current post in the loop.
837
 *
838
 * @since 0.71
839
 * @deprecated 1.2.0 Use the_permalink()
840
 * @see the_permalink()
841
 */
842
function permalink_link() {
843
	_deprecated_function( __FUNCTION__, '1.2.0', 'the_permalink()' );
844
	the_permalink();
845
}
846
847
/**
848
 * Print the permalink to the RSS feed.
849
 *
850
 * @since 0.71
851
 * @deprecated 2.3.0 Use the_permalink_rss()
852
 * @see the_permalink_rss()
853
 *
854
 * @param string $deprecated
855
 */
856
function permalink_single_rss($deprecated = '') {
0 ignored issues
show
The parameter $deprecated is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
857
	_deprecated_function( __FUNCTION__, '2.3.0', 'the_permalink_rss()' );
858
	the_permalink_rss();
859
}
860
861
/**
862
 * Gets the links associated with category.
863
 *
864
 * @since 1.0.1
865
 * @deprecated 2.1.0 Use wp_list_bookmarks()
866
 * @see wp_list_bookmarks()
867
 *
868
 * @param string $args a query string
869
 * @return null|string
870
 */
871
function wp_get_links($args = '') {
872
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_bookmarks()' );
873
874
	if ( strpos( $args, '=' ) === false ) {
875
		$cat_id = $args;
876
		$args = add_query_arg( 'category', $cat_id, $args );
877
	}
878
879
	$defaults = array(
880
		'after' => '<br />',
881
		'before' => '',
882
		'between' => ' ',
883
		'categorize' => 0,
884
		'category' => '',
885
		'echo' => true,
886
		'limit' => -1,
887
		'orderby' => 'name',
888
		'show_description' => true,
889
		'show_images' => true,
890
		'show_rating' => false,
891
		'show_updated' => true,
892
		'title_li' => '',
893
	);
894
895
	$r = wp_parse_args( $args, $defaults );
896
897
	return wp_list_bookmarks($r);
898
}
899
900
/**
901
 * Gets the links associated with category by id.
902
 *
903
 * @since 0.71
904
 * @deprecated 2.1.0 Use get_bookmarks()
905
 * @see get_bookmarks()
906
 *
907
 * @param int $category The category to use. If no category supplied uses all
908
 * @param string $before the html to output before the link
909
 * @param string $after the html to output after the link
910
 * @param string $between the html to output between the link/image and its description.
911
 *		Not used if no image or show_images == true
912
 * @param bool $show_images whether to show images (if defined).
913
 * @param string $orderby the order to output the links. E.g. 'id', 'name', 'url',
914
 *		'description', or 'rating'. Or maybe owner. If you start the name with an
915
 *		underscore the order will be reversed. You can also specify 'rand' as the order
916
 *		which will return links in a random order.
917
 * @param bool $show_description whether to show the description if show_images=false/not defined.
918
 * @param bool $show_rating show rating stars/chars
919
 * @param int $limit Limit to X entries. If not specified, all entries are shown.
920
 * @param int $show_updated whether to show last updated timestamp
921
 * @param bool $echo whether to echo the results, or return them instead
922
 * @return null|string
923
 */
924
function get_links($category = -1, $before = '', $after = '<br />', $between = ' ', $show_images = true, $orderby = 'name',
925
			$show_description = true, $show_rating = false, $limit = -1, $show_updated = 1, $echo = true) {
926
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' );
927
928
	$order = 'ASC';
929 View Code Duplication
	if ( substr($orderby, 0, 1) == '_' ) {
930
		$order = 'DESC';
931
		$orderby = substr($orderby, 1);
932
	}
933
934
	if ( $category == -1 ) //get_bookmarks uses '' to signify all categories
935
		$category = '';
936
937
	$results = get_bookmarks(array('category' => $category, 'orderby' => $orderby, 'order' => $order, 'show_updated' => $show_updated, 'limit' => $limit));
938
939
	if ( !$results )
0 ignored issues
show
Bug Best Practice introduced by
The expression $results of type array is implicitly converted to a boolean; are you sure this is intended? If so, consider using empty($expr) instead to make it clear that you intend to check for an array without elements.

This check marks implicit conversions of arrays to boolean values in a comparison. While in PHP an empty array is considered to be equal (but not identical) to false, this is not always apparent.

Consider making the comparison explicit by using empty(..) or ! empty(...) instead.

Loading history...
940
		return;
941
942
	$output = '';
943
944
	foreach ( (array) $results as $row ) {
945
		if ( !isset($row->recently_updated) )
946
			$row->recently_updated = false;
947
		$output .= $before;
948
		if ( $show_updated && $row->recently_updated )
949
			$output .= get_option('links_recently_updated_prepend');
950
		$the_link = '#';
951
		if ( !empty($row->link_url) )
952
			$the_link = esc_url($row->link_url);
953
		$rel = $row->link_rel;
954
		if ( '' != $rel )
955
			$rel = ' rel="' . $rel . '"';
956
957
		$desc = esc_attr(sanitize_bookmark_field('link_description', $row->link_description, $row->link_id, 'display'));
958
		$name = esc_attr(sanitize_bookmark_field('link_name', $row->link_name, $row->link_id, 'display'));
959
		$title = $desc;
960
961
		if ( $show_updated )
962
			if (substr($row->link_updated_f, 0, 2) != '00')
963
				$title .= ' ('.__('Last updated') . ' ' . date(get_option('links_updated_date_format'), $row->link_updated_f + (get_option('gmt_offset') * HOUR_IN_SECONDS)) . ')';
964
965
		if ( '' != $title )
966
			$title = ' title="' . $title . '"';
967
968
		$alt = ' alt="' . $name . '"';
969
970
		$target = $row->link_target;
971
		if ( '' != $target )
972
			$target = ' target="' . $target . '"';
973
974
		$output .= '<a href="' . $the_link . '"' . $rel . $title . $target. '>';
975
976
		if ( $row->link_image != null && $show_images ) {
977 View Code Duplication
			if ( strpos($row->link_image, 'http') !== false )
978
				$output .= "<img src=\"$row->link_image\" $alt $title />";
979
			else // If it's a relative path
980
				$output .= "<img src=\"" . get_option('siteurl') . "$row->link_image\" $alt $title />";
981
		} else {
982
			$output .= $name;
983
		}
984
985
		$output .= '</a>';
986
987
		if ( $show_updated && $row->recently_updated )
988
			$output .= get_option('links_recently_updated_append');
989
990
		if ( $show_description && '' != $desc )
991
			$output .= $between . $desc;
992
993
		if ($show_rating) {
994
			$output .= $between . get_linkrating($row);
0 ignored issues
show
Deprecated Code introduced by
The function get_linkrating() has been deprecated with message: 2.1.0 Use sanitize_bookmark_field()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
995
		}
996
997
		$output .= "$after\n";
998
	} // end while
999
1000
	if ( !$echo )
1001
		return $output;
1002
	echo $output;
1003
}
1004
1005
/**
1006
 * Output entire list of links by category.
1007
 *
1008
 * Output a list of all links, listed by category, using the settings in
1009
 * $wpdb->linkcategories and output it as a nested HTML unordered list.
1010
 *
1011
 * @since 1.0.1
1012
 * @deprecated 2.1.0 Use wp_list_bookmarks()
1013
 * @see wp_list_bookmarks()
1014
 *
1015
 * @param string $order Sort link categories by 'name' or 'id'
1016
 */
1017
function get_links_list($order = 'name') {
1018
	_deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_bookmarks()' );
1019
1020
	$order = strtolower($order);
1021
1022
	// Handle link category sorting
1023
	$direction = 'ASC';
1024 View Code Duplication
	if ( '_' == substr($order,0,1) ) {
1025
		$direction = 'DESC';
1026
		$order = substr($order,1);
1027
	}
1028
1029
	if ( !isset($direction) )
1030
		$direction = '';
1031
1032
	$cats = get_categories(array('type' => 'link', 'orderby' => $order, 'order' => $direction, 'hierarchical' => 0));
1033
1034
	// Display each category
1035
	if ( $cats ) {
0 ignored issues
show
Bug Best Practice introduced by
The expression $cats of type array is implicitly converted to a boolean; are you sure this is intended? If so, consider using ! empty($expr) instead to make it clear that you intend to check for an array without elements.

This check marks implicit conversions of arrays to boolean values in a comparison. While in PHP an empty array is considered to be equal (but not identical) to false, this is not always apparent.

Consider making the comparison explicit by using empty(..) or ! empty(...) instead.

Loading history...
1036
		foreach ( (array) $cats as $cat ) {
1037
			// Handle each category.
1038
1039
			// Display the category name
1040
			echo '  <li id="linkcat-' . $cat->term_id . '" class="linkcat"><h2>' . apply_filters('link_category', $cat->name ) . "</h2>\n\t<ul>\n";
1041
			// Call get_links() with all the appropriate params
1042
			get_links($cat->term_id, '<li>', "</li>", "\n", true, 'name', false);
0 ignored issues
show
Deprecated Code introduced by
The function get_links() has been deprecated with message: 2.1.0 Use get_bookmarks()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
1043
1044
			// Close the last category
1045
			echo "\n\t</ul>\n</li>\n";
1046
		}
1047
	}
1048
}
1049
1050
/**
1051
 * Show the link to the links popup and the number of links.
1052
 *
1053
 * @since 0.71
1054
 * @deprecated 2.1.0
1055
 *
1056
 * @param string $text the text of the link
1057
 * @param int $width the width of the popup window
1058
 * @param int $height the height of the popup window
1059
 * @param string $file the page to open in the popup window
1060
 * @param bool $count the number of links in the db
1061
 */
1062
function links_popup_script($text = 'Links', $width=400, $height=400, $file='links.all.php', $count = true) {
0 ignored issues
show
The parameter $text is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $width is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $height is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $file is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $count is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
1063
	_deprecated_function( __FUNCTION__, '2.1.0' );
1064
}
1065
1066
/**
1067
 * Legacy function that retrieved the value of a link's link_rating field.
1068
 *
1069
 * @since 1.0.1
1070
 * @deprecated 2.1.0 Use sanitize_bookmark_field()
1071
 * @see sanitize_bookmark_field()
1072
 *
1073
 * @param object $link Link object.
1074
 * @return mixed Value of the 'link_rating' field, false otherwise.
1075
 */
1076
function get_linkrating( $link ) {
1077
	_deprecated_function( __FUNCTION__, '2.1.0', 'sanitize_bookmark_field()' );
1078
	return sanitize_bookmark_field('link_rating', $link->link_rating, $link->link_id, 'display');
1079
}
1080
1081
/**
1082
 * Gets the name of category by id.
1083
 *
1084
 * @since 0.71
1085
 * @deprecated 2.1.0 Use get_category()
1086
 * @see get_category()
1087
 *
1088
 * @param int $id The category to get. If no category supplied uses 0
1089
 * @return string
1090
 */
1091
function get_linkcatname($id = 0) {
1092
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_category()' );
1093
1094
	$id = (int) $id;
1095
1096
	if ( empty($id) )
1097
		return '';
1098
1099
	$cats = wp_get_link_cats($id);
1100
1101
	if ( empty($cats) || ! is_array($cats) )
1102
		return '';
1103
1104
	$cat_id = (int) $cats[0]; // Take the first cat.
1105
1106
	$cat = get_category($cat_id);
1107
	return $cat->name;
1108
}
1109
1110
/**
1111
 * Print RSS comment feed link.
1112
 *
1113
 * @since 1.0.1
1114
 * @deprecated 2.5.0 Use post_comments_feed_link()
1115
 * @see post_comments_feed_link()
1116
 *
1117
 * @param string $link_text
1118
 */
1119
function comments_rss_link($link_text = 'Comments RSS') {
1120
	_deprecated_function( __FUNCTION__, '2.5.0', 'post_comments_feed_link()' );
1121
	post_comments_feed_link($link_text);
1122
}
1123
1124
/**
1125
 * Print/Return link to category RSS2 feed.
1126
 *
1127
 * @since 1.2.0
1128
 * @deprecated 2.5.0 Use get_category_feed_link()
1129
 * @see get_category_feed_link()
1130
 *
1131
 * @param bool $echo
1132
 * @param int $cat_ID
1133
 * @return string
0 ignored issues
show
Should the return type not be string|false?

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

Loading history...
1134
 */
1135
function get_category_rss_link($echo = false, $cat_ID = 1) {
1136
	_deprecated_function( __FUNCTION__, '2.5.0', 'get_category_feed_link()' );
1137
1138
	$link = get_category_feed_link($cat_ID, 'rss2');
1139
1140
	if ( $echo )
1141
		echo $link;
1142
	return $link;
1143
}
1144
1145
/**
1146
 * Print/Return link to author RSS feed.
1147
 *
1148
 * @since 1.2.0
1149
 * @deprecated 2.5.0 Use get_author_feed_link()
1150
 * @see get_author_feed_link()
1151
 *
1152
 * @param bool $echo
1153
 * @param int $author_id
1154
 * @return string
1155
 */
1156
function get_author_rss_link($echo = false, $author_id = 1) {
1157
	_deprecated_function( __FUNCTION__, '2.5.0', 'get_author_feed_link()' );
1158
1159
	$link = get_author_feed_link($author_id);
1160
	if ( $echo )
1161
		echo $link;
1162
	return $link;
1163
}
1164
1165
/**
1166
 * Return link to the post RSS feed.
1167
 *
1168
 * @since 1.5.0
1169
 * @deprecated 2.2.0 Use get_post_comments_feed_link()
1170
 * @see get_post_comments_feed_link()
1171
 *
1172
 * @return string
1173
 */
1174
function comments_rss() {
1175
	_deprecated_function( __FUNCTION__, '2.2.0', 'get_post_comments_feed_link()' );
1176
	return esc_url( get_post_comments_feed_link() );
1177
}
1178
1179
/**
1180
 * An alias of wp_create_user().
1181
 *
1182
 * @since 2.0.0
1183
 * @deprecated 2.0.0 Use wp_create_user()
1184
 * @see wp_create_user()
1185
 *
1186
 * @param string $username The user's username.
1187
 * @param string $password The user's password.
1188
 * @param string $email    The user's email.
1189
 * @return int The new user's ID.
0 ignored issues
show
Should the return type not be WP_Error|integer?

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

Loading history...
1190
 */
1191
function create_user($username, $password, $email) {
1192
	_deprecated_function( __FUNCTION__, '2.0.0', 'wp_create_user()' );
1193
	return wp_create_user($username, $password, $email);
1194
}
1195
1196
/**
1197
 * Unused function.
1198
 *
1199
 * @deprecated 2.5.0
1200
 */
1201
function gzip_compression() {
1202
	_deprecated_function( __FUNCTION__, '2.5.0' );
1203
	return false;
1204
}
1205
1206
/**
1207
 * Retrieve an array of comment data about comment $comment_ID.
1208
 *
1209
 * @since 0.71
1210
 * @deprecated 2.7.0 Use get_comment()
1211
 * @see get_comment()
1212
 *
1213
 * @param int $comment_ID The ID of the comment
1214
 * @param int $no_cache Whether to use the cache (cast to bool)
1215
 * @param bool $include_unapproved Whether to include unapproved comments
1216
 * @return array The comment data
0 ignored issues
show
Should the return type not be WP_Comment|array|null? Also, consider making the array more specific, something like array<String>, or String[].

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

If the return type contains the type array, this check recommends the use of a more specific type like String[] or array<String>.

Loading history...
1217
 */
1218
function get_commentdata( $comment_ID, $no_cache = 0, $include_unapproved = false ) {
0 ignored issues
show
The parameter $no_cache is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $include_unapproved is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
1219
	_deprecated_function( __FUNCTION__, '2.7.0', 'get_comment()' );
1220
	return get_comment($comment_ID, ARRAY_A);
1221
}
1222
1223
/**
1224
 * Retrieve the category name by the category ID.
1225
 *
1226
 * @since 0.71
1227
 * @deprecated 2.8.0 Use get_cat_name()
1228
 * @see get_cat_name()
1229
 *
1230
 * @param int $cat_ID Category ID
1231
 * @return string category name
1232
 */
1233
function get_catname( $cat_ID ) {
1234
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_cat_name()' );
1235
	return get_cat_name( $cat_ID );
1236
}
1237
1238
/**
1239
 * Retrieve category children list separated before and after the term IDs.
1240
 *
1241
 * @since 1.2.0
1242
 * @deprecated 2.8.0 Use get_term_children()
1243
 * @see get_term_children()
1244
 *
1245
 * @param int $id Category ID to retrieve children.
1246
 * @param string $before Optional. Prepend before category term ID.
1247
 * @param string $after Optional, default is empty string. Append after category term ID.
1248
 * @param array $visited Optional. Category Term IDs that have already been added.
1249
 * @return string
0 ignored issues
show
Should the return type not be string|array|null|object? Also, consider making the array more specific, something like array<String>, or String[].

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

If the return type contains the type array, this check recommends the use of a more specific type like String[] or array<String>.

Loading history...
1250
 */
1251
function get_category_children( $id, $before = '/', $after = '', $visited = array() ) {
1252
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_term_children()' );
1253
	if ( 0 == $id )
1254
		return '';
1255
1256
	$chain = '';
1257
	/** TODO: consult hierarchy */
1258
	$cat_ids = get_all_category_ids();
0 ignored issues
show
Deprecated Code introduced by
The function get_all_category_ids() has been deprecated with message: 4.0.0 Use get_terms()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
1259
	foreach ( (array) $cat_ids as $cat_id ) {
1260
		if ( $cat_id == $id )
1261
			continue;
1262
1263
		$category = get_category( $cat_id );
1264
		if ( is_wp_error( $category ) )
1265
			return $category;
1266
		if ( $category->parent == $id && !in_array( $category->term_id, $visited ) ) {
1267
			$visited[] = $category->term_id;
1268
			$chain .= $before.$category->term_id.$after;
1269
			$chain .= get_category_children( $category->term_id, $before, $after );
0 ignored issues
show
Deprecated Code introduced by
The function get_category_children() has been deprecated with message: 2.8.0 Use get_term_children()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
1270
		}
1271
	}
1272
	return $chain;
1273
}
1274
1275
/**
1276
 * Retrieves all category IDs.
1277
 *
1278
 * @since 2.0.0
1279
 * @deprecated 4.0.0 Use get_terms()
1280
 * @see get_terms()
1281
 *
1282
 * @link https://codex.wordpress.org/Function_Reference/get_all_category_ids
1283
 *
1284
 * @return object List of all of the category IDs.
1285
 */
1286
function get_all_category_ids() {
1287
	_deprecated_function( __FUNCTION__, '4.0.0', 'get_terms()' );
1288
1289
	if ( ! $cat_ids = wp_cache_get( 'all_category_ids', 'category' ) ) {
1290
		$cat_ids = get_terms( 'category', array('fields' => 'ids', 'get' => 'all') );
1291
		wp_cache_add( 'all_category_ids', $cat_ids, 'category' );
1292
	}
1293
1294
	return $cat_ids;
1295
}
1296
1297
/**
1298
 * Retrieve the description of the author of the current post.
1299
 *
1300
 * @since 1.5.0
1301
 * @deprecated 2.8.0 Use get_the_author_meta()
1302
 * @see get_the_author_meta()
1303
 *
1304
 * @return string The author's description.
1305
 */
1306
function get_the_author_description() {
1307
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'description\')' );
1308
	return get_the_author_meta('description');
1309
}
1310
1311
/**
1312
 * Display the description of the author of the current post.
1313
 *
1314
 * @since 1.0.0
1315
 * @deprecated 2.8.0 Use the_author_meta()
1316
 * @see the_author_meta()
1317
 */
1318
function the_author_description() {
1319
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'description\')' );
1320
	the_author_meta('description');
1321
}
1322
1323
/**
1324
 * Retrieve the login name of the author of the current post.
1325
 *
1326
 * @since 1.5.0
1327
 * @deprecated 2.8.0 Use get_the_author_meta()
1328
 * @see get_the_author_meta()
1329
 *
1330
 * @return string The author's login name (username).
1331
 */
1332
function get_the_author_login() {
1333
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'login\')' );
1334
	return get_the_author_meta('login');
1335
}
1336
1337
/**
1338
 * Display the login name of the author of the current post.
1339
 *
1340
 * @since 0.71
1341
 * @deprecated 2.8.0 Use the_author_meta()
1342
 * @see the_author_meta()
1343
 */
1344
function the_author_login() {
1345
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'login\')' );
1346
	the_author_meta('login');
1347
}
1348
1349
/**
1350
 * Retrieve the first name of the author of the current post.
1351
 *
1352
 * @since 1.5.0
1353
 * @deprecated 2.8.0 Use get_the_author_meta()
1354
 * @see get_the_author_meta()
1355
 *
1356
 * @return string The author's first name.
1357
 */
1358
function get_the_author_firstname() {
1359
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'first_name\')' );
1360
	return get_the_author_meta('first_name');
1361
}
1362
1363
/**
1364
 * Display the first name of the author of the current post.
1365
 *
1366
 * @since 0.71
1367
 * @deprecated 2.8.0 Use the_author_meta()
1368
 * @see the_author_meta()
1369
 */
1370
function the_author_firstname() {
1371
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'first_name\')' );
1372
	the_author_meta('first_name');
1373
}
1374
1375
/**
1376
 * Retrieve the last name of the author of the current post.
1377
 *
1378
 * @since 1.5.0
1379
 * @deprecated 2.8.0 Use get_the_author_meta()
1380
 * @see get_the_author_meta()
1381
 *
1382
 * @return string The author's last name.
1383
 */
1384
function get_the_author_lastname() {
1385
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'last_name\')' );
1386
	return get_the_author_meta('last_name');
1387
}
1388
1389
/**
1390
 * Display the last name of the author of the current post.
1391
 *
1392
 * @since 0.71
1393
 * @deprecated 2.8.0 Use the_author_meta()
1394
 * @see the_author_meta()
1395
 */
1396
function the_author_lastname() {
1397
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'last_name\')' );
1398
	the_author_meta('last_name');
1399
}
1400
1401
/**
1402
 * Retrieve the nickname of the author of the current post.
1403
 *
1404
 * @since 1.5.0
1405
 * @deprecated 2.8.0 Use get_the_author_meta()
1406
 * @see get_the_author_meta()
1407
 *
1408
 * @return string The author's nickname.
1409
 */
1410
function get_the_author_nickname() {
1411
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'nickname\')' );
1412
	return get_the_author_meta('nickname');
1413
}
1414
1415
/**
1416
 * Display the nickname of the author of the current post.
1417
 *
1418
 * @since 0.71
1419
 * @deprecated 2.8.0 Use the_author_meta()
1420
 * @see the_author_meta()
1421
 */
1422
function the_author_nickname() {
1423
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'nickname\')' );
1424
	the_author_meta('nickname');
1425
}
1426
1427
/**
1428
 * Retrieve the email of the author of the current post.
1429
 *
1430
 * @since 1.5.0
1431
 * @deprecated 2.8.0 Use get_the_author_meta()
1432
 * @see get_the_author_meta()
1433
 *
1434
 * @return string The author's username.
1435
 */
1436
function get_the_author_email() {
1437
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'email\')' );
1438
	return get_the_author_meta('email');
1439
}
1440
1441
/**
1442
 * Display the email of the author of the current post.
1443
 *
1444
 * @since 0.71
1445
 * @deprecated 2.8.0 Use the_author_meta()
1446
 * @see the_author_meta()
1447
 */
1448
function the_author_email() {
1449
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'email\')' );
1450
	the_author_meta('email');
1451
}
1452
1453
/**
1454
 * Retrieve the ICQ number of the author of the current post.
1455
 *
1456
 * @since 1.5.0
1457
 * @deprecated 2.8.0 Use get_the_author_meta()
1458
 * @see get_the_author_meta()
1459
 *
1460
 * @return string The author's ICQ number.
1461
 */
1462
function get_the_author_icq() {
1463
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'icq\')' );
1464
	return get_the_author_meta('icq');
1465
}
1466
1467
/**
1468
 * Display the ICQ number of the author of the current post.
1469
 *
1470
 * @since 0.71
1471
 * @deprecated 2.8.0 Use the_author_meta()
1472
 * @see the_author_meta()
1473
 */
1474
function the_author_icq() {
1475
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'icq\')' );
1476
	the_author_meta('icq');
1477
}
1478
1479
/**
1480
 * Retrieve the Yahoo! IM name of the author of the current post.
1481
 *
1482
 * @since 1.5.0
1483
 * @deprecated 2.8.0 Use get_the_author_meta()
1484
 * @see get_the_author_meta()
1485
 *
1486
 * @return string The author's Yahoo! IM name.
1487
 */
1488
function get_the_author_yim() {
1489
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'yim\')' );
1490
	return get_the_author_meta('yim');
1491
}
1492
1493
/**
1494
 * Display the Yahoo! IM name of the author of the current post.
1495
 *
1496
 * @since 0.71
1497
 * @deprecated 2.8.0 Use the_author_meta()
1498
 * @see the_author_meta()
1499
 */
1500
function the_author_yim() {
1501
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'yim\')' );
1502
	the_author_meta('yim');
1503
}
1504
1505
/**
1506
 * Retrieve the MSN address of the author of the current post.
1507
 *
1508
 * @since 1.5.0
1509
 * @deprecated 2.8.0 Use get_the_author_meta()
1510
 * @see get_the_author_meta()
1511
 *
1512
 * @return string The author's MSN address.
1513
 */
1514
function get_the_author_msn() {
1515
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'msn\')' );
1516
	return get_the_author_meta('msn');
1517
}
1518
1519
/**
1520
 * Display the MSN address of the author of the current post.
1521
 *
1522
 * @since 0.71
1523
 * @deprecated 2.8.0 Use the_author_meta()
1524
 * @see the_author_meta()
1525
 */
1526
function the_author_msn() {
1527
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'msn\')' );
1528
	the_author_meta('msn');
1529
}
1530
1531
/**
1532
 * Retrieve the AIM address of the author of the current post.
1533
 *
1534
 * @since 1.5.0
1535
 * @deprecated 2.8.0 Use get_the_author_meta()
1536
 * @see get_the_author_meta()
1537
 *
1538
 * @return string The author's AIM address.
1539
 */
1540
function get_the_author_aim() {
1541
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'aim\')' );
1542
	return get_the_author_meta('aim');
1543
}
1544
1545
/**
1546
 * Display the AIM address of the author of the current post.
1547
 *
1548
 * @since 0.71
1549
 * @deprecated 2.8.0 Use the_author_meta('aim')
1550
 * @see the_author_meta()
1551
 */
1552
function the_author_aim() {
1553
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'aim\')' );
1554
	the_author_meta('aim');
1555
}
1556
1557
/**
1558
 * Retrieve the specified author's preferred display name.
1559
 *
1560
 * @since 1.0.0
1561
 * @deprecated 2.8.0 Use get_the_author_meta()
1562
 * @see get_the_author_meta()
1563
 *
1564
 * @param int $auth_id The ID of the author.
1565
 * @return string The author's display name.
1566
 */
1567
function get_author_name( $auth_id = false ) {
1568
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'display_name\')' );
1569
	return get_the_author_meta('display_name', $auth_id);
1570
}
1571
1572
/**
1573
 * Retrieve the URL to the home page of the author of the current post.
1574
 *
1575
 * @since 1.5.0
1576
 * @deprecated 2.8.0 Use get_the_author_meta()
1577
 * @see get_the_author_meta()
1578
 *
1579
 * @return string The URL to the author's page.
1580
 */
1581
function get_the_author_url() {
1582
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'url\')' );
1583
	return get_the_author_meta('url');
1584
}
1585
1586
/**
1587
 * Display the URL to the home page of the author of the current post.
1588
 *
1589
 * @since 0.71
1590
 * @deprecated 2.8.0 Use the_author_meta()
1591
 * @see the_author_meta()
1592
 */
1593
function the_author_url() {
1594
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'url\')' );
1595
	the_author_meta('url');
1596
}
1597
1598
/**
1599
 * Retrieve the ID of the author of the current post.
1600
 *
1601
 * @since 1.5.0
1602
 * @deprecated 2.8.0 Use get_the_author_meta()
1603
 * @see get_the_author_meta()
1604
 *
1605
 * @return string|int The author's ID.
1606
 */
1607
function get_the_author_ID() {
1608
	_deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'ID\')' );
1609
	return get_the_author_meta('ID');
1610
}
1611
1612
/**
1613
 * Display the ID of the author of the current post.
1614
 *
1615
 * @since 0.71
1616
 * @deprecated 2.8.0 Use the_author_meta()
1617
 * @see the_author_meta()
1618
 */
1619
function the_author_ID() {
1620
	_deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'ID\')' );
1621
	the_author_meta('ID');
1622
}
1623
1624
/**
1625
 * Display the post content for the feed.
1626
 *
1627
 * For encoding the html or the $encode_html parameter, there are three possible
1628
 * values. '0' will make urls footnotes and use make_url_footnote(). '1' will
1629
 * encode special characters and automatically display all of the content. The
1630
 * value of '2' will strip all HTML tags from the content.
1631
 *
1632
 * Also note that you cannot set the amount of words and not set the html
1633
 * encoding. If that is the case, then the html encoding will default to 2,
1634
 * which will strip all HTML tags.
1635
 *
1636
 * To restrict the amount of words of the content, you can use the cut
1637
 * parameter. If the content is less than the amount, then there won't be any
1638
 * dots added to the end. If there is content left over, then dots will be added
1639
 * and the rest of the content will be removed.
1640
 *
1641
 * @since 0.71
1642
 *
1643
 * @deprecated 2.9.0 Use the_content_feed()
1644
 * @see the_content_feed()
1645
 *
1646
 * @param string $more_link_text Optional. Text to display when more content is available but not displayed.
1647
 * @param int $stripteaser Optional. Default is 0.
1648
 * @param string $more_file Optional.
1649
 * @param int $cut Optional. Amount of words to keep for the content.
1650
 * @param int $encode_html Optional. How to encode the content.
1651
 */
1652
function the_content_rss($more_link_text='(more...)', $stripteaser=0, $more_file='', $cut = 0, $encode_html = 0) {
0 ignored issues
show
The parameter $more_file is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
1653
	_deprecated_function( __FUNCTION__, '2.9.0', 'the_content_feed' );
1654
	$content = get_the_content($more_link_text, $stripteaser);
1655
	$content = apply_filters('the_content_rss', $content);
1656
	if ( $cut && !$encode_html )
1657
		$encode_html = 2;
1658
	if ( 1== $encode_html ) {
1659
		$content = esc_html($content);
1660
		$cut = 0;
1661
	} elseif ( 0 == $encode_html ) {
1662
		$content = make_url_footnote($content);
0 ignored issues
show
Deprecated Code introduced by
The function make_url_footnote() has been deprecated with message: 2.9.0

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
1663
	} elseif ( 2 == $encode_html ) {
1664
		$content = strip_tags($content);
1665
	}
1666
	if ( $cut ) {
1667
		$blah = explode(' ', $content);
1668
		if ( count($blah) > $cut ) {
1669
			$k = $cut;
1670
			$use_dotdotdot = 1;
1671
		} else {
1672
			$k = count($blah);
1673
			$use_dotdotdot = 0;
1674
		}
1675
1676
		/** @todo Check performance, might be faster to use array slice instead. */
1677
		for ( $i=0; $i<$k; $i++ )
1678
			$excerpt .= $blah[$i].' ';
0 ignored issues
show
The variable $excerpt does not seem to be defined for all execution paths leading up to this point.

If you define a variable conditionally, it can happen that it is not defined for all execution paths.

Let’s take a look at an example:

function myFunction($a) {
    switch ($a) {
        case 'foo':
            $x = 1;
            break;

        case 'bar':
            $x = 2;
            break;
    }

    // $x is potentially undefined here.
    echo $x;
}

In the above example, the variable $x is defined if you pass “foo” or “bar” as argument for $a. However, since the switch statement has no default case statement, if you pass any other value, the variable $x would be undefined.

Available Fixes

  1. Check for existence of the variable explicitly:

    function myFunction($a) {
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
        }
    
        if (isset($x)) { // Make sure it's always set.
            echo $x;
        }
    }
    
  2. Define a default value for the variable:

    function myFunction($a) {
        $x = ''; // Set a default which gets overridden for certain paths.
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
        }
    
        echo $x;
    }
    
  3. Add a value for the missing path:

    function myFunction($a) {
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
    
            // We add support for the missing case.
            default:
                $x = '';
                break;
        }
    
        echo $x;
    }
    
Loading history...
1679
		$excerpt .= ($use_dotdotdot) ? '...' : '';
1680
		$content = $excerpt;
1681
	}
1682
	$content = str_replace(']]>', ']]&gt;', $content);
1683
	echo $content;
1684
}
1685
1686
/**
1687
 * Strip HTML and put links at the bottom of stripped content.
1688
 *
1689
 * Searches for all of the links, strips them out of the content, and places
1690
 * them at the bottom of the content with numbers.
1691
 *
1692
 * @since 0.71
1693
 * @deprecated 2.9.0
1694
 *
1695
 * @param string $content Content to get links
1696
 * @return string HTML stripped out of content with links at the bottom.
1697
 */
1698
function make_url_footnote( $content ) {
1699
	_deprecated_function( __FUNCTION__, '2.9.0', '' );
1700
	preg_match_all( '/<a(.+?)href=\"(.+?)\"(.*?)>(.+?)<\/a>/', $content, $matches );
1701
	$links_summary = "\n";
1702
	for ( $i = 0, $c = count( $matches[0] ); $i < $c; $i++ ) {
1703
		$link_match = $matches[0][$i];
1704
		$link_number = '['.($i+1).']';
1705
		$link_url = $matches[2][$i];
1706
		$link_text = $matches[4][$i];
1707
		$content = str_replace( $link_match, $link_text . ' ' . $link_number, $content );
1708
		$link_url = ( ( strtolower( substr( $link_url, 0, 7 ) ) != 'http://' ) && ( strtolower( substr( $link_url, 0, 8 ) ) != 'https://' ) ) ? get_option( 'home' ) . $link_url : $link_url;
1709
		$links_summary .= "\n" . $link_number . ' ' . $link_url;
1710
	}
1711
	$content  = strip_tags( $content );
1712
	$content .= $links_summary;
1713
	return $content;
1714
}
1715
1716
/**
1717
 * Retrieve translated string with vertical bar context
1718
 *
1719
 * Quite a few times, there will be collisions with similar translatable text
1720
 * found in more than two places but with different translated context.
1721
 *
1722
 * In order to use the separate contexts, the _c() function is used and the
1723
 * translatable string uses a pipe ('|') which has the context the string is in.
1724
 *
1725
 * When the translated string is returned, it is everything before the pipe, not
1726
 * including the pipe character. If there is no pipe in the translated text then
1727
 * everything is returned.
1728
 *
1729
 * @since 2.2.0
1730
 * @deprecated 2.9.0 Use _x()
1731
 * @see _x()
1732
 *
1733
 * @param string $text Text to translate
1734
 * @param string $domain Optional. Domain to retrieve the translated text
1735
 * @return string Translated context string without pipe
1736
 */
1737
function _c( $text, $domain = 'default' ) {
0 ignored issues
show
This method's name is shorter than the configured minimum length of 3 characters.

Even though PHP does not care about the name of your methods, it is generally a good practice to choose method names which can be easily understood by other human readers.

Loading history...
1738
	_deprecated_function( __FUNCTION__, '2.9.0', '_x()' );
1739
	return before_last_bar( translate( $text, $domain ) );
1740
}
1741
1742
/**
1743
 * Translates $text like translate(), but assumes that the text
1744
 * contains a context after its last vertical bar.
1745
 *
1746
 * @since 2.5.0
1747
 * @deprecated 3.0.0 Use _x()
1748
 * @see _x()
1749
 *
1750
 * @param string $text Text to translate
1751
 * @param string $domain Domain to retrieve the translated text
1752
 * @return string Translated text
1753
 */
1754
function translate_with_context( $text, $domain = 'default' ) {
1755
	_deprecated_function( __FUNCTION__, '2.9.0', '_x()' );
1756
	return before_last_bar( translate( $text, $domain ) );
1757
}
1758
1759
/**
1760
 * Legacy version of _n(), which supports contexts.
1761
 *
1762
 * Strips everything from the translation after the last bar.
1763
 *
1764
 * @since 2.7.0
1765
 * @deprecated 3.0.0 Use _nx()
1766
 * @see _nx()
1767
 *
1768
 * @param string $single The text to be used if the number is singular.
1769
 * @param string $plural The text to be used if the number is plural.
1770
 * @param int    $number The number to compare against to use either the singular or plural form.
1771
 * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
1772
 *                       Default 'default'.
1773
 * @return string The translated singular or plural form.
1774
 */
1775
function _nc( $single, $plural, $number, $domain = 'default' ) {
1776
	_deprecated_function( __FUNCTION__, '2.9.0', '_nx()' );
1777
	return before_last_bar( _n( $single, $plural, $number, $domain ) );
1778
}
1779
1780
/**
1781
 * Retrieve the plural or single form based on the amount.
1782
 *
1783
 * @since 1.2.0
1784
 * @deprecated 2.8.0 Use _n()
1785
 * @see _n()
1786
 */
1787
function __ngettext() {
1788
	_deprecated_function( __FUNCTION__, '2.8.0', '_n()' );
1789
	$args = func_get_args();
1790
	return call_user_func_array('_n', $args);
1791
}
1792
1793
/**
1794
 * Register plural strings in POT file, but don't translate them.
1795
 *
1796
 * @since 2.5.0
1797
 * @deprecated 2.8.0 Use _n_noop()
1798
 * @see _n_noop()
1799
 */
1800
function __ngettext_noop() {
1801
	_deprecated_function( __FUNCTION__, '2.8.0', '_n_noop()' );
1802
	$args = func_get_args();
1803
	return call_user_func_array('_n_noop', $args);
1804
1805
}
1806
1807
/**
1808
 * Retrieve all autoload options, or all options if no autoloaded ones exist.
1809
 *
1810
 * @since 1.0.0
1811
 * @deprecated 3.0.0 Use wp_load_alloptions())
1812
 * @see wp_load_alloptions()
1813
 *
1814
 * @return array List of all options.
1815
 */
1816
function get_alloptions() {
1817
	_deprecated_function( __FUNCTION__, '3.0.0', 'wp_load_alloptions()' );
1818
	return wp_load_alloptions();
1819
}
1820
1821
/**
1822
 * Retrieve HTML content of attachment image with link.
1823
 *
1824
 * @since 2.0.0
1825
 * @deprecated 2.5.0 Use wp_get_attachment_link()
1826
 * @see wp_get_attachment_link()
1827
 *
1828
 * @param int $id Optional. Post ID.
1829
 * @param bool $fullsize Optional, default is false. Whether to use full size image.
1830
 * @param array $max_dims Optional. Max image dimensions.
0 ignored issues
show
Should the type for parameter $max_dims not be false|array? Also, consider making the array more specific, something like array<String>, or String[].

This check looks for @param annotations where the type inferred by our type inference engine differs from the declared type.

It makes a suggestion as to what type it considers more descriptive. In addition it looks for parameters that have the generic type array and suggests a stricter type like array<String>.

Most often this is a case of a parameter that can be null in addition to its declared types.

Loading history...
1831
 * @param bool $permalink Optional, default is false. Whether to include permalink to image.
1832
 * @return string
1833
 */
1834
function get_the_attachment_link($id = 0, $fullsize = false, $max_dims = false, $permalink = false) {
1835
	_deprecated_function( __FUNCTION__, '2.5.0', 'wp_get_attachment_link()' );
1836
	$id = (int) $id;
1837
	$_post = get_post($id);
1838
1839 View Code Duplication
	if ( ('attachment' != $_post->post_type) || !$url = wp_get_attachment_url($_post->ID) )
1840
		return __('Missing Attachment');
1841
1842
	if ( $permalink )
1843
		$url = get_attachment_link($_post->ID);
1844
1845
	$post_title = esc_attr($_post->post_title);
1846
1847
	$innerHTML = get_attachment_innerHTML($_post->ID, $fullsize, $max_dims);
0 ignored issues
show
Deprecated Code introduced by
The function get_attachment_innerHTML() has been deprecated with message: 2.5.0 Use wp_get_attachment_image()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
1848
	return "<a href='$url' title='$post_title'>$innerHTML</a>";
1849
}
1850
1851
/**
1852
 * Retrieve icon URL and Path.
1853
 *
1854
 * @since 2.1.0
1855
 * @deprecated 2.5.0 Use wp_get_attachment_image_src()
1856
 * @see wp_get_attachment_image_src()
1857
 *
1858
 * @param int $id Optional. Post ID.
1859
 * @param bool $fullsize Optional, default to false. Whether to have full image.
1860
 * @return array Icon URL and full path to file, respectively.
0 ignored issues
show
Should the return type not be false|array<string|false>?

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

Loading history...
1861
 */
1862
function get_attachment_icon_src( $id = 0, $fullsize = false ) {
1863
	_deprecated_function( __FUNCTION__, '2.5.0', 'wp_get_attachment_image_src()' );
1864
	$id = (int) $id;
1865
	if ( !$post = get_post($id) )
1866
		return false;
1867
1868
	$file = get_attached_file( $post->ID );
1869
1870
	if ( !$fullsize && $src = wp_get_attachment_thumb_url( $post->ID ) ) {
1871
		// We have a thumbnail desired, specified and existing
1872
1873
		$src_file = basename($src);
1874
	} elseif ( wp_attachment_is_image( $post->ID ) ) {
1875
		// We have an image without a thumbnail
1876
1877
		$src = wp_get_attachment_url( $post->ID );
1878
		$src_file = & $file;
1879
	} elseif ( $src = wp_mime_type_icon( $post->ID ) ) {
1880
		// No thumb, no image. We'll look for a mime-related icon instead.
1881
1882
		$icon_dir = apply_filters( 'icon_dir', get_template_directory() . '/images' );
1883
		$src_file = $icon_dir . '/' . basename($src);
1884
	}
1885
1886
	if ( !isset($src) || !$src )
0 ignored issues
show
Bug Best Practice introduced by
The expression $src of type string|false is loosely compared to false; this is ambiguous if the string can be empty. You might want to explicitly use === false instead.

In PHP, under loose comparison (like ==, or !=, or switch conditions), values of different types might be equal.

For string values, the empty string '' is a special case, in particular the following results might be unexpected:

''   == false // true
''   == null  // true
'ab' == false // false
'ab' == null  // false

// It is often better to use strict comparison
'' === false // false
'' === null  // false
Loading history...
1887
		return false;
1888
1889
	return array($src, $src_file);
0 ignored issues
show
The variable $src_file does not seem to be defined for all execution paths leading up to this point.

If you define a variable conditionally, it can happen that it is not defined for all execution paths.

Let’s take a look at an example:

function myFunction($a) {
    switch ($a) {
        case 'foo':
            $x = 1;
            break;

        case 'bar':
            $x = 2;
            break;
    }

    // $x is potentially undefined here.
    echo $x;
}

In the above example, the variable $x is defined if you pass “foo” or “bar” as argument for $a. However, since the switch statement has no default case statement, if you pass any other value, the variable $x would be undefined.

Available Fixes

  1. Check for existence of the variable explicitly:

    function myFunction($a) {
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
        }
    
        if (isset($x)) { // Make sure it's always set.
            echo $x;
        }
    }
    
  2. Define a default value for the variable:

    function myFunction($a) {
        $x = ''; // Set a default which gets overridden for certain paths.
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
        }
    
        echo $x;
    }
    
  3. Add a value for the missing path:

    function myFunction($a) {
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
    
            // We add support for the missing case.
            default:
                $x = '';
                break;
        }
    
        echo $x;
    }
    
Loading history...
1890
}
1891
1892
/**
1893
 * Retrieve HTML content of icon attachment image element.
1894
 *
1895
 * @since 2.0.0
1896
 * @deprecated 2.5.0 Use wp_get_attachment_image()
1897
 * @see wp_get_attachment_image()
1898
 *
1899
 * @param int $id Optional. Post ID.
1900
 * @param bool $fullsize Optional, default to false. Whether to have full size image.
1901
 * @param array $max_dims Optional. Dimensions of image.
0 ignored issues
show
Should the type for parameter $max_dims not be false|array? Also, consider making the array more specific, something like array<String>, or String[].

This check looks for @param annotations where the type inferred by our type inference engine differs from the declared type.

It makes a suggestion as to what type it considers more descriptive. In addition it looks for parameters that have the generic type array and suggests a stricter type like array<String>.

Most often this is a case of a parameter that can be null in addition to its declared types.

Loading history...
1902
 * @return false|string HTML content.
1903
 */
1904
function get_attachment_icon( $id = 0, $fullsize = false, $max_dims = false ) {
1905
	_deprecated_function( __FUNCTION__, '2.5.0', 'wp_get_attachment_image()' );
1906
	$id = (int) $id;
1907
	if ( !$post = get_post($id) )
1908
		return false;
1909
1910
	if ( !$src = get_attachment_icon_src( $post->ID, $fullsize ) )
0 ignored issues
show
Deprecated Code introduced by
The function get_attachment_icon_src() has been deprecated with message: 2.5.0 Use wp_get_attachment_image_src()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
1911
		return false;
1912
1913
	list($src, $src_file) = $src;
1914
1915
	// Do we need to constrain the image?
1916
	if ( ($max_dims = apply_filters('attachment_max_dims', $max_dims)) && file_exists($src_file) ) {
1917
1918
		$imagesize = getimagesize($src_file);
1919
1920
		if (($imagesize[0] > $max_dims[0]) || $imagesize[1] > $max_dims[1] ) {
1921
			$actual_aspect = $imagesize[0] / $imagesize[1];
1922
			$desired_aspect = $max_dims[0] / $max_dims[1];
1923
1924
			if ( $actual_aspect >= $desired_aspect ) {
1925
				$height = $actual_aspect * $max_dims[0];
1926
				$constraint = "width='{$max_dims[0]}' ";
1927
				$post->iconsize = array($max_dims[0], $height);
1928
			} else {
1929
				$width = $max_dims[1] / $actual_aspect;
1930
				$constraint = "height='{$max_dims[1]}' ";
1931
				$post->iconsize = array($width, $max_dims[1]);
1932
			}
1933
		} else {
1934
			$post->iconsize = array($imagesize[0], $imagesize[1]);
1935
			$constraint = '';
1936
		}
1937
	} else {
1938
		$constraint = '';
1939
	}
1940
1941
	$post_title = esc_attr($post->post_title);
1942
1943
	$icon = "<img src='$src' title='$post_title' alt='$post_title' $constraint/>";
1944
1945
	return apply_filters( 'attachment_icon', $icon, $post->ID );
1946
}
1947
1948
/**
1949
 * Retrieve HTML content of image element.
1950
 *
1951
 * @since 2.0.0
1952
 * @deprecated 2.5.0 Use wp_get_attachment_image()
1953
 * @see wp_get_attachment_image()
1954
 *
1955
 * @param int $id Optional. Post ID.
1956
 * @param bool $fullsize Optional, default to false. Whether to have full size image.
1957
 * @param array $max_dims Optional. Dimensions of image.
0 ignored issues
show
Should the type for parameter $max_dims not be false|array? Also, consider making the array more specific, something like array<String>, or String[].

This check looks for @param annotations where the type inferred by our type inference engine differs from the declared type.

It makes a suggestion as to what type it considers more descriptive. In addition it looks for parameters that have the generic type array and suggests a stricter type like array<String>.

Most often this is a case of a parameter that can be null in addition to its declared types.

Loading history...
1958
 * @return false|string
1959
 */
1960
function get_attachment_innerHTML($id = 0, $fullsize = false, $max_dims = false) {
1961
	_deprecated_function( __FUNCTION__, '2.5.0', 'wp_get_attachment_image()' );
1962
	$id = (int) $id;
1963
	if ( !$post = get_post($id) )
1964
		return false;
1965
1966
	if ( $innerHTML = get_attachment_icon($post->ID, $fullsize, $max_dims))
0 ignored issues
show
Deprecated Code introduced by
The function get_attachment_icon() has been deprecated with message: 2.5.0 Use wp_get_attachment_image()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
1967
		return $innerHTML;
1968
1969
	$innerHTML = esc_attr($post->post_title);
1970
1971
	return apply_filters('attachment_innerHTML', $innerHTML, $post->ID);
1972
}
1973
1974
/**
1975
 * Retrieves bookmark data based on ID.
1976
 *
1977
 * @since 2.0.0
1978
 * @deprecated 2.1.0 Use get_bookmark()
1979
 * @see get_bookmark()
1980
 *
1981
 * @param int    $bookmark_id ID of link
1982
 * @param string $output      Optional. Type of output. Accepts OBJECT, ARRAY_N, or ARRAY_A.
1983
 *                            Default OBJECT.
1984
 * @param string $filter      Optional. How to filter the link for output. Accepts 'raw', 'edit',
1985
 *                            'attribute', 'js', 'db', or 'display'. Default 'raw'.
1986
 * @return object|array Bookmark object or array, depending on the type specified by `$output`.
1987
 */
1988
function get_link( $bookmark_id, $output = OBJECT, $filter = 'raw' ) {
1989
	_deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmark()' );
1990
	return get_bookmark($bookmark_id, $output, $filter);
1991
}
1992
1993
/**
1994
 * Performs esc_url() for database or redirect usage.
1995
 *
1996
 * @since 2.3.1
1997
 * @deprecated 2.8.0 Use esc_url_raw()
1998
 * @see esc_url_raw()
1999
 *
2000
 * @param string $url The URL to be cleaned.
2001
 * @param array $protocols An array of acceptable protocols.
0 ignored issues
show
Should the type for parameter $protocols not be array|null? Also, consider making the array more specific, something like array<String>, or String[].

This check looks for @param annotations where the type inferred by our type inference engine differs from the declared type.

It makes a suggestion as to what type it considers more descriptive. In addition it looks for parameters that have the generic type array and suggests a stricter type like array<String>.

Most often this is a case of a parameter that can be null in addition to its declared types.

Loading history...
2002
 * @return string The cleaned URL.
2003
 */
2004
function sanitize_url( $url, $protocols = null ) {
2005
	_deprecated_function( __FUNCTION__, '2.8.0', 'esc_url_raw()' );
2006
	return esc_url_raw( $url, $protocols );
2007
}
2008
2009
/**
2010
 * Checks and cleans a URL.
2011
 *
2012
 * A number of characters are removed from the URL. If the URL is for displaying
2013
 * (the default behaviour) ampersands are also replaced. The 'clean_url' filter
2014
 * is applied to the returned cleaned URL.
2015
 *
2016
 * @since 1.2.0
2017
 * @deprecated 3.0.0 Use esc_url()
2018
 * @see esc_url()
2019
 *
2020
 * @param string $url The URL to be cleaned.
2021
 * @param array $protocols Optional. An array of acceptable protocols.
0 ignored issues
show
Should the type for parameter $protocols not be array|null? Also, consider making the array more specific, something like array<String>, or String[].

This check looks for @param annotations where the type inferred by our type inference engine differs from the declared type.

It makes a suggestion as to what type it considers more descriptive. In addition it looks for parameters that have the generic type array and suggests a stricter type like array<String>.

Most often this is a case of a parameter that can be null in addition to its declared types.

Loading history...
2022
 * @param string $context Optional. How the URL will be used. Default is 'display'.
2023
 * @return string The cleaned $url after the {@see 'clean_url'} filter is applied.
2024
 */
2025
function clean_url( $url, $protocols = null, $context = 'display' ) {
2026
	if ( $context == 'db' )
2027
		_deprecated_function( 'clean_url( $context = \'db\' )', '3.0.0', 'esc_url_raw()' );
2028
	else
2029
		_deprecated_function( __FUNCTION__, '3.0.0', 'esc_url()' );
2030
	return esc_url( $url, $protocols, $context );
2031
}
2032
2033
/**
2034
 * Escape single quotes, specialchar double quotes, and fix line endings.
2035
 *
2036
 * The filter {@see 'js_escape'} is also applied by esc_js().
2037
 *
2038
 * @since 2.0.4
2039
 * @deprecated 2.8.0 Use esc_js()
2040
 * @see esc_js()
2041
 *
2042
 * @param string $text The text to be escaped.
2043
 * @return string Escaped text.
2044
 */
2045
function js_escape( $text ) {
2046
	_deprecated_function( __FUNCTION__, '2.8.0', 'esc_js()' );
2047
	return esc_js( $text );
2048
}
2049
2050
/**
2051
 * Legacy escaping for HTML blocks.
2052
 *
2053
 * @deprecated 2.8.0 Use esc_html()
2054
 * @see esc_html()
2055
 *
2056
 * @param string       $string        String to escape.
2057
 * @param string       $quote_style   Unused.
2058
 * @param false|string $charset       Unused.
2059
 * @param false        $double_encode Whether to double encode. Unused.
2060
 * @return string Escaped `$string`.
2061
 */
2062
function wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = false, $double_encode = false ) {
0 ignored issues
show
The parameter $quote_style is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $charset is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $double_encode is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
2063
	_deprecated_function( __FUNCTION__, '2.8.0', 'esc_html()' );
2064
	if ( func_num_args() > 1 ) { // Maintain back-compat for people passing additional arguments.
2065
		$args = func_get_args();
2066
		return call_user_func_array( '_wp_specialchars', $args );
2067
	} else {
2068
		return esc_html( $string );
2069
	}
2070
}
2071
2072
/**
2073
 * Escaping for HTML attributes.
2074
 *
2075
 * @since 2.0.6
2076
 * @deprecated 2.8.0 Use esc_attr()
2077
 * @see esc_attr()
2078
 *
2079
 * @param string $text
2080
 * @return string
2081
 */
2082
function attribute_escape( $text ) {
2083
	_deprecated_function( __FUNCTION__, '2.8.0', 'esc_attr()' );
2084
	return esc_attr( $text );
2085
}
2086
2087
/**
2088
 * Register widget for sidebar with backward compatibility.
2089
 *
2090
 * Allows $name to be an array that accepts either three elements to grab the
2091
 * first element and the third for the name or just uses the first element of
2092
 * the array for the name.
2093
 *
2094
 * Passes to wp_register_sidebar_widget() after argument list and backward
2095
 * compatibility is complete.
2096
 *
2097
 * @since 2.2.0
2098
 * @deprecated 2.8.0 Use wp_register_sidebar_widget()
2099
 * @see wp_register_sidebar_widget()
2100
 *
2101
 * @param string|int $name            Widget ID.
2102
 * @param callable   $output_callback Run when widget is called.
2103
 * @param string     $classname       Optional. Classname widget option. Default empty.
2104
 * @param mixed      $params ,...     Widget parameters.
0 ignored issues
show
There is no parameter named $params. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
2105
 */
2106
function register_sidebar_widget($name, $output_callback, $classname = '') {
2107
	_deprecated_function( __FUNCTION__, '2.8.0', 'wp_register_sidebar_widget()' );
2108
	// Compat
2109 View Code Duplication
	if ( is_array($name) ) {
2110
		if ( count($name) == 3 )
2111
			$name = sprintf($name[0], $name[2]);
2112
		else
2113
			$name = $name[0];
2114
	}
2115
2116
	$id = sanitize_title($name);
2117
	$options = array();
2118
	if ( !empty($classname) && is_string($classname) )
2119
		$options['classname'] = $classname;
2120
	$params = array_slice(func_get_args(), 2);
2121
	$args = array($id, $name, $output_callback, $options);
2122
	if ( !empty($params) )
2123
		$args = array_merge($args, $params);
2124
2125
	call_user_func_array('wp_register_sidebar_widget', $args);
2126
}
2127
2128
/**
2129
 * Serves as an alias of wp_unregister_sidebar_widget().
2130
 *
2131
 * @since 2.2.0
2132
 * @deprecated 2.8.0 Use wp_unregister_sidebar_widget()
2133
 * @see wp_unregister_sidebar_widget()
2134
 *
2135
 * @param int|string $id Widget ID.
2136
 */
2137
function unregister_sidebar_widget($id) {
2138
	_deprecated_function( __FUNCTION__, '2.8.0', 'wp_unregister_sidebar_widget()' );
2139
	return wp_unregister_sidebar_widget($id);
2140
}
2141
2142
/**
2143
 * Registers widget control callback for customizing options.
2144
 *
2145
 * Allows $name to be an array that accepts either three elements to grab the
2146
 * first element and the third for the name or just uses the first element of
2147
 * the array for the name.
2148
 *
2149
 * Passes to wp_register_widget_control() after the argument list has
2150
 * been compiled.
2151
 *
2152
 * @since 2.2.0
2153
 * @deprecated 2.8.0 Use wp_register_widget_control()
2154
 * @see wp_register_widget_control()
2155
 *
2156
 * @param int|string $name Sidebar ID.
2157
 * @param callable $control_callback Widget control callback to display and process form.
2158
 * @param int $width Widget width.
2159
 * @param int $height Widget height.
2160
 */
2161
function register_widget_control($name, $control_callback, $width = '', $height = '') {
2162
	_deprecated_function( __FUNCTION__, '2.8.0', 'wp_register_widget_control()' );
2163
	// Compat
2164 View Code Duplication
	if ( is_array($name) ) {
2165
		if ( count($name) == 3 )
2166
			$name = sprintf($name[0], $name[2]);
2167
		else
2168
			$name = $name[0];
2169
	}
2170
2171
	$id = sanitize_title($name);
2172
	$options = array();
2173
	if ( !empty($width) )
2174
		$options['width'] = $width;
2175
	if ( !empty($height) )
2176
		$options['height'] = $height;
2177
	$params = array_slice(func_get_args(), 4);
2178
	$args = array($id, $name, $control_callback, $options);
2179
	if ( !empty($params) )
2180
		$args = array_merge($args, $params);
2181
2182
	call_user_func_array('wp_register_widget_control', $args);
2183
}
2184
2185
/**
2186
 * Alias of wp_unregister_widget_control().
2187
 *
2188
 * @since 2.2.0
2189
 * @deprecated 2.8.0 Use wp_unregister_widget_control()
2190
 * @see wp_unregister_widget_control()
2191
 *
2192
 * @param int|string $id Widget ID.
2193
 */
2194
function unregister_widget_control($id) {
2195
	_deprecated_function( __FUNCTION__, '2.8.0', 'wp_unregister_widget_control()' );
2196
	return wp_unregister_widget_control($id);
2197
}
2198
2199
/**
2200
 * Remove user meta data.
2201
 *
2202
 * @since 2.0.0
2203
 * @deprecated 3.0.0 Use delete_user_meta()
2204
 * @see delete_user_meta()
2205
 *
2206
 * @param int $user_id User ID.
2207
 * @param string $meta_key Metadata key.
2208
 * @param mixed $meta_value Metadata value.
2209
 * @return bool True deletion completed and false if user_id is not a number.
2210
 */
2211
function delete_usermeta( $user_id, $meta_key, $meta_value = '' ) {
2212
	_deprecated_function( __FUNCTION__, '3.0.0', 'delete_user_meta()' );
2213
	global $wpdb;
2214
	if ( !is_numeric( $user_id ) )
2215
		return false;
2216
	$meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
2217
2218
	if ( is_array($meta_value) || is_object($meta_value) )
2219
		$meta_value = serialize($meta_value);
2220
	$meta_value = trim( $meta_value );
2221
2222
	$cur = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) );
2223
2224
	if ( $cur && $cur->umeta_id )
2225
		do_action( 'delete_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value );
2226
2227
	if ( ! empty($meta_value) )
2228
		$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s AND meta_value = %s", $user_id, $meta_key, $meta_value) );
2229
	else
2230
		$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) );
2231
2232
	clean_user_cache( $user_id );
2233
	wp_cache_delete( $user_id, 'user_meta' );
2234
2235
	if ( $cur && $cur->umeta_id )
2236
		do_action( 'deleted_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value );
2237
2238
	return true;
2239
}
2240
2241
/**
2242
 * Retrieve user metadata.
2243
 *
2244
 * If $user_id is not a number, then the function will fail over with a 'false'
2245
 * boolean return value. Other returned values depend on whether there is only
2246
 * one item to be returned, which be that single item type. If there is more
2247
 * than one metadata value, then it will be list of metadata values.
2248
 *
2249
 * @since 2.0.0
2250
 * @deprecated 3.0.0 Use get_user_meta()
2251
 * @see get_user_meta()
2252
 *
2253
 * @param int $user_id User ID
2254
 * @param string $meta_key Optional. Metadata key.
2255
 * @return mixed
2256
 */
2257
function get_usermeta( $user_id, $meta_key = '' ) {
2258
	_deprecated_function( __FUNCTION__, '3.0.0', 'get_user_meta()' );
2259
	global $wpdb;
2260
	$user_id = (int) $user_id;
2261
2262
	if ( !$user_id )
2263
		return false;
2264
2265
	if ( !empty($meta_key) ) {
2266
		$meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
2267
		$user = wp_cache_get($user_id, 'users');
2268
		// Check the cached user object
2269
		if ( false !== $user && isset($user->$meta_key) )
2270
			$metas = array($user->$meta_key);
2271
		else
2272
			$metas = $wpdb->get_col( $wpdb->prepare("SELECT meta_value FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) );
2273
	} else {
2274
		$metas = $wpdb->get_col( $wpdb->prepare("SELECT meta_value FROM $wpdb->usermeta WHERE user_id = %d", $user_id) );
2275
	}
2276
2277
	if ( empty($metas) ) {
2278
		if ( empty($meta_key) )
2279
			return array();
2280
		else
2281
			return '';
2282
	}
2283
2284
	$metas = array_map('maybe_unserialize', $metas);
2285
2286
	if ( count($metas) == 1 )
2287
		return $metas[0];
2288
	else
2289
		return $metas;
2290
}
2291
2292
/**
2293
 * Update metadata of user.
2294
 *
2295
 * There is no need to serialize values, they will be serialized if it is
2296
 * needed. The metadata key can only be a string with underscores. All else will
2297
 * be removed.
2298
 *
2299
 * Will remove the metadata, if the meta value is empty.
2300
 *
2301
 * @since 2.0.0
2302
 * @deprecated 3.0.0 Use update_user_meta()
2303
 * @see update_user_meta()
2304
 *
2305
 * @param int $user_id User ID
2306
 * @param string $meta_key Metadata key.
2307
 * @param mixed $meta_value Metadata value.
2308
 * @return bool True on successful update, false on failure.
2309
 */
2310
function update_usermeta( $user_id, $meta_key, $meta_value ) {
2311
	_deprecated_function( __FUNCTION__, '3.0.0', 'update_user_meta()' );
2312
	global $wpdb;
2313
	if ( !is_numeric( $user_id ) )
2314
		return false;
2315
	$meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
2316
2317
	/** @todo Might need fix because usermeta data is assumed to be already escaped */
2318
	if ( is_string($meta_value) )
2319
		$meta_value = stripslashes($meta_value);
2320
	$meta_value = maybe_serialize($meta_value);
2321
2322
	if (empty($meta_value)) {
2323
		return delete_usermeta($user_id, $meta_key);
0 ignored issues
show
Deprecated Code introduced by
The function delete_usermeta() has been deprecated with message: 3.0.0 Use delete_user_meta()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
2324
	}
2325
2326
	$cur = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) );
2327
2328
	if ( $cur )
2329
		do_action( 'update_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value );
2330
2331
	if ( !$cur )
2332
		$wpdb->insert($wpdb->usermeta, compact('user_id', 'meta_key', 'meta_value') );
2333
	elseif ( $cur->meta_value != $meta_value )
2334
		$wpdb->update($wpdb->usermeta, compact('meta_value'), compact('user_id', 'meta_key') );
2335
	else
2336
		return false;
2337
2338
	clean_user_cache( $user_id );
2339
	wp_cache_delete( $user_id, 'user_meta' );
2340
2341
	if ( !$cur )
2342
		do_action( 'added_usermeta', $wpdb->insert_id, $user_id, $meta_key, $meta_value );
2343
	else
2344
		do_action( 'updated_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value );
2345
2346
	return true;
2347
}
2348
2349
/**
2350
 * Get users for the site.
2351
 *
2352
 * For setups that use the multisite feature. Can be used outside of the
2353
 * multisite feature.
2354
 *
2355
 * @since 2.2.0
2356
 * @deprecated 3.1.0 Use get_users()
2357
 * @see get_users()
2358
 *
2359
 * @global wpdb $wpdb    WordPress database abstraction object.
2360
 *
2361
 * @param int $id Site ID.
2362
 * @return array List of users that are part of that site ID
2363
 */
2364
function get_users_of_blog( $id = '' ) {
2365
	_deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' );
2366
2367
	global $wpdb;
2368
	if ( empty( $id ) ) {
2369
		$id = get_current_blog_id();
2370
	}
2371
	$blog_prefix = $wpdb->get_blog_prefix($id);
2372
	$users = $wpdb->get_results( "SELECT user_id, user_id AS ID, user_login, display_name, user_email, meta_value FROM $wpdb->users, $wpdb->usermeta WHERE {$wpdb->users}.ID = {$wpdb->usermeta}.user_id AND meta_key = '{$blog_prefix}capabilities' ORDER BY {$wpdb->usermeta}.user_id" );
2373
	return $users;
2374
}
2375
2376
/**
2377
 * Enable/disable automatic general feed link outputting.
2378
 *
2379
 * @since 2.8.0
2380
 * @deprecated 3.0.0 Use add_theme_support()
2381
 * @see add_theme_support()
2382
 *
2383
 * @param bool $add Optional, default is true. Add or remove links. Defaults to true.
2384
 */
2385
function automatic_feed_links( $add = true ) {
2386
	_deprecated_function( __FUNCTION__, '3.0.0', "add_theme_support( 'automatic-feed-links' )" );
2387
2388
	if ( $add )
2389
		add_theme_support( 'automatic-feed-links' );
2390
	else
2391
		remove_action( 'wp_head', 'feed_links_extra', 3 ); // Just do this yourself in 3.0+
2392
}
2393
2394
/**
2395
 * Retrieve user data based on field.
2396
 *
2397
 * @since 1.5.0
2398
 * @deprecated 3.0.0 Use get_the_author_meta()
2399
 * @see get_the_author_meta()
2400
 *
2401
 * @param string    $field User meta field.
2402
 * @param false|int $user Optional. User ID to retrieve the field for. Default false (current user).
2403
 * @return string The author's field from the current author's DB object.
2404
 */
2405
function get_profile( $field, $user = false ) {
2406
	_deprecated_function( __FUNCTION__, '3.0.0', 'get_the_author_meta()' );
2407
	if ( $user ) {
0 ignored issues
show
Bug Best Practice introduced by
The expression $user of type false|integer is loosely compared to true; this is ambiguous if the integer can be zero. You might want to explicitly use !== null instead.

In PHP, under loose comparison (like ==, or !=, or switch conditions), values of different types might be equal.

For integer values, zero is a special case, in particular the following results might be unexpected:

0   == false // true
0   == null  // true
123 == false // false
123 == null  // false

// It is often better to use strict comparison
0 === false // false
0 === null  // false
Loading history...
2408
		$user = get_user_by( 'login', $user );
2409
		$user = $user->ID;
2410
	}
2411
	return get_the_author_meta( $field, $user );
2412
}
2413
2414
/**
2415
 * Retrieves the number of posts a user has written.
2416
 *
2417
 * @since 0.71
2418
 * @deprecated 3.0.0 Use count_user_posts()
2419
 * @see count_user_posts()
2420
 *
2421
 * @param int $userid User to count posts for.
2422
 * @return int Number of posts the given user has written.
0 ignored issues
show
Should the return type not be string?

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

Loading history...
2423
 */
2424
function get_usernumposts( $userid ) {
2425
	_deprecated_function( __FUNCTION__, '3.0.0', 'count_user_posts()' );
2426
	return count_user_posts( $userid );
2427
}
2428
2429
/**
2430
 * Callback used to change %uXXXX to &#YYY; syntax
2431
 *
2432
 * @since 2.8.0
2433
 * @access private
2434
 * @deprecated 3.0.0
2435
 *
2436
 * @param array $matches Single Match
2437
 * @return string An HTML entity
2438
 */
2439
function funky_javascript_callback($matches) {
2440
	return "&#".base_convert($matches[1],16,10).";";
2441
}
2442
2443
/**
2444
 * Fixes JavaScript bugs in browsers.
2445
 *
2446
 * Converts unicode characters to HTML numbered entities.
2447
 *
2448
 * @since 1.5.0
2449
 * @deprecated 3.0.0
2450
 *
2451
 * @global $is_macIE
2452
 * @global $is_winIE
2453
 *
2454
 * @param string $text Text to be made safe.
2455
 * @return string Fixed text.
2456
 */
2457
function funky_javascript_fix($text) {
2458
	_deprecated_function( __FUNCTION__, '3.0.0' );
2459
	// Fixes for browsers' JavaScript bugs.
2460
	global $is_macIE, $is_winIE;
2461
2462
	if ( $is_winIE || $is_macIE )
2463
		$text =  preg_replace_callback("/\%u([0-9A-F]{4,4})/",
2464
					"funky_javascript_callback",
2465
					$text);
2466
2467
	return $text;
2468
}
2469
2470
/**
2471
 * Checks that the taxonomy name exists.
2472
 *
2473
 * @since 2.3.0
2474
 * @deprecated 3.0.0 Use taxonomy_exists()
2475
 * @see taxonomy_exists()
2476
 *
2477
 * @param string $taxonomy Name of taxonomy object
2478
 * @return bool Whether the taxonomy exists.
2479
 */
2480
function is_taxonomy( $taxonomy ) {
2481
	_deprecated_function( __FUNCTION__, '3.0.0', 'taxonomy_exists()' );
2482
	return taxonomy_exists( $taxonomy );
2483
}
2484
2485
/**
2486
 * Check if Term exists.
2487
 *
2488
 * @since 2.3.0
2489
 * @deprecated 3.0.0 Use term_exists()
2490
 * @see term_exists()
2491
 *
2492
 * @param int|string $term The term to check
2493
 * @param string $taxonomy The taxonomy name to use
2494
 * @param int $parent ID of parent term under which to confine the exists search.
2495
 * @return mixed Get the term id or Term Object, if exists.
2496
 */
2497
function is_term( $term, $taxonomy = '', $parent = 0 ) {
2498
	_deprecated_function( __FUNCTION__, '3.0.0', 'term_exists()' );
2499
	return term_exists( $term, $taxonomy, $parent );
2500
}
2501
2502
/**
2503
 * Is the current admin page generated by a plugin?
2504
 *
2505
 * Use global $plugin_page and/or get_plugin_page_hookname() hooks.
2506
 *
2507
 * @since 1.5.0
2508
 * @deprecated 3.1.0
2509
 *
2510
 * @global $plugin_page
2511
 *
2512
 * @return bool
2513
 */
2514
function is_plugin_page() {
2515
	_deprecated_function( __FUNCTION__, '3.1.0'  );
2516
2517
	global $plugin_page;
2518
2519
	if ( isset($plugin_page) )
0 ignored issues
show
This if statement, and the following return statement can be replaced with return isset($plugin_page);.
Loading history...
2520
		return true;
2521
2522
	return false;
2523
}
2524
2525
/**
2526
 * Update the categories cache.
2527
 *
2528
 * This function does not appear to be used anymore or does not appear to be
2529
 * needed. It might be a legacy function left over from when there was a need
2530
 * for updating the category cache.
2531
 *
2532
 * @since 1.5.0
2533
 * @deprecated 3.1.0
2534
 *
2535
 * @return bool Always return True
2536
 */
2537
function update_category_cache() {
2538
	_deprecated_function( __FUNCTION__, '3.1.0'  );
2539
2540
	return true;
2541
}
2542
2543
/**
2544
 * Check for PHP timezone support
2545
 *
2546
 * @since 2.9.0
2547
 * @deprecated 3.2.0
2548
 *
2549
 * @return bool
2550
 */
2551
function wp_timezone_supported() {
2552
	_deprecated_function( __FUNCTION__, '3.2.0' );
2553
2554
	return true;
2555
}
2556
2557
/**
2558
 * Displays an editor: TinyMCE, HTML, or both.
2559
 *
2560
 * @since 2.1.0
2561
 * @deprecated 3.3.0 Use wp_editor()
2562
 * @see wp_editor()
2563
 *
2564
 * @param string $content       Textarea content.
2565
 * @param string $id            Optional. HTML ID attribute value. Default 'content'.
2566
 * @param string $prev_id       Optional. Unused.
2567
 * @param bool   $media_buttons Optional. Whether to display media buttons. Default true.
2568
 * @param int    $tab_index     Optional. Unused.
2569
 * @param bool   $extended      Optional. Unused.
2570
 */
2571
function the_editor($content, $id = 'content', $prev_id = 'title', $media_buttons = true, $tab_index = 2, $extended = true) {
0 ignored issues
show
The parameter $prev_id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $tab_index is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $extended is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
2572
	_deprecated_function( __FUNCTION__, '3.3.0', 'wp_editor()' );
2573
2574
	wp_editor( $content, $id, array( 'media_buttons' => $media_buttons ) );
2575
}
2576
2577
/**
2578
 * Perform the query to get the $metavalues array(s) needed by _fill_user and _fill_many_users
2579
 *
2580
 * @since 3.0.0
2581
 * @deprecated 3.3.0
2582
 *
2583
 * @param array $ids User ID numbers list.
2584
 * @return array of arrays. The array is indexed by user_id, containing $metavalues object arrays.
2585
 */
2586
function get_user_metavalues($ids) {
2587
	_deprecated_function( __FUNCTION__, '3.3.0' );
2588
2589
	$objects = array();
2590
2591
	$ids = array_map('intval', $ids);
2592
	foreach ( $ids as $id )
2593
		$objects[$id] = array();
2594
2595
	$metas = update_meta_cache('user', $ids);
2596
2597
	foreach ( $metas as $id => $meta ) {
0 ignored issues
show
The expression $metas of type false|array is not guaranteed to be traversable. How about adding an additional type check?

There are different options of fixing this problem.

  1. If you want to be on the safe side, you can add an additional type-check:

    $collection = json_decode($data, true);
    if ( ! is_array($collection)) {
        throw new \RuntimeException('$collection must be an array.');
    }
    
    foreach ($collection as $item) { /** ... */ }
    
  2. If you are sure that the expression is traversable, you might want to add a doc comment cast to improve IDE auto-completion and static analysis:

    /** @var array $collection */
    $collection = json_decode($data, true);
    
    foreach ($collection as $item) { /** .. */ }
    
  3. Mark the issue as a false-positive: Just hover the remove button, in the top-right corner of this issue for more options.

Loading history...
2598
		foreach ( $meta as $key => $metavalues ) {
2599
			foreach ( $metavalues as $value ) {
2600
				$objects[$id][] = (object)array( 'user_id' => $id, 'meta_key' => $key, 'meta_value' => $value);
2601
			}
2602
		}
2603
	}
2604
2605
	return $objects;
2606
}
2607
2608
/**
2609
 * Sanitize every user field.
2610
 *
2611
 * If the context is 'raw', then the user object or array will get minimal santization of the int fields.
2612
 *
2613
 * @since 2.3.0
2614
 * @deprecated 3.3.0
2615
 *
2616
 * @param object|array $user The User Object or Array
2617
 * @param string $context Optional, default is 'display'. How to sanitize user fields.
2618
 * @return object|array The now sanitized User Object or Array (will be the same type as $user)
0 ignored issues
show
Consider making the return type a bit more specific; maybe use object|array<string,string>.

This check looks for the generic type array as a return type and suggests a more specific type. This type is inferred from the actual code.

Loading history...
2619
 */
2620
function sanitize_user_object($user, $context = 'display') {
2621
	_deprecated_function( __FUNCTION__, '3.3.0' );
2622
2623
	if ( is_object($user) ) {
2624
		if ( !isset($user->ID) )
2625
			$user->ID = 0;
2626
		if ( ! ( $user instanceof WP_User ) ) {
2627
			$vars = get_object_vars($user);
2628
			foreach ( array_keys($vars) as $field ) {
2629
				if ( is_string($user->$field) || is_numeric($user->$field) )
2630
					$user->$field = sanitize_user_field($field, $user->$field, $user->ID, $context);
2631
			}
2632
		}
2633
		$user->filter = $context;
2634
	} else {
2635
		if ( !isset($user['ID']) )
2636
			$user['ID'] = 0;
2637
		foreach ( array_keys($user) as $field )
2638
			$user[$field] = sanitize_user_field($field, $user[$field], $user['ID'], $context);
2639
		$user['filter'] = $context;
2640
	}
2641
2642
	return $user;
2643
}
2644
2645
/**
2646
 * Get boundary post relational link.
2647
 *
2648
 * Can either be start or end post relational link.
2649
 *
2650
 * @since 2.8.0
2651
 * @deprecated 3.3.0
2652
 *
2653
 * @param string $title Optional. Link title format.
2654
 * @param bool $in_same_cat Optional. Whether link should be in a same category.
2655
 * @param string $excluded_categories Optional. Excluded categories IDs.
2656
 * @param bool $start Optional, default is true. Whether to display link to first or last post.
2657
 * @return string
2658
 */
2659
function get_boundary_post_rel_link($title = '%title', $in_same_cat = false, $excluded_categories = '', $start = true) {
2660
	_deprecated_function( __FUNCTION__, '3.3.0' );
2661
2662
	$posts = get_boundary_post($in_same_cat, $excluded_categories, $start);
2663
	// If there is no post stop.
2664
	if ( empty($posts) )
2665
		return;
2666
2667
	// Even though we limited get_posts to return only 1 item it still returns an array of objects.
2668
	$post = $posts[0];
2669
2670
	if ( empty($post->post_title) )
2671
		$post->post_title = $start ? __('First Post') : __('Last Post');
2672
2673
	$date = mysql2date(get_option('date_format'), $post->post_date);
2674
2675
	$title = str_replace('%title', $post->post_title, $title);
2676
	$title = str_replace('%date', $date, $title);
2677
	$title = apply_filters('the_title', $title, $post->ID);
2678
2679
	$link = $start ? "<link rel='start' title='" : "<link rel='end' title='";
2680
	$link .= esc_attr($title);
2681
	$link .= "' href='" . get_permalink($post) . "' />\n";
2682
2683
	$boundary = $start ? 'start' : 'end';
2684
	return apply_filters( "{$boundary}_post_rel_link", $link );
2685
}
2686
2687
/**
2688
 * Display relational link for the first post.
2689
 *
2690
 * @since 2.8.0
2691
 * @deprecated 3.3.0
2692
 *
2693
 * @param string $title Optional. Link title format.
2694
 * @param bool $in_same_cat Optional. Whether link should be in a same category.
2695
 * @param string $excluded_categories Optional. Excluded categories IDs.
2696
 */
2697
function start_post_rel_link($title = '%title', $in_same_cat = false, $excluded_categories = '') {
2698
	_deprecated_function( __FUNCTION__, '3.3.0' );
2699
2700
	echo get_boundary_post_rel_link($title, $in_same_cat, $excluded_categories, true);
0 ignored issues
show
Deprecated Code introduced by
The function get_boundary_post_rel_link() has been deprecated with message: 3.3.0

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
2701
}
2702
2703
/**
2704
 * Get site index relational link.
2705
 *
2706
 * @since 2.8.0
2707
 * @deprecated 3.3.0
2708
 *
2709
 * @return string
2710
 */
2711
function get_index_rel_link() {
2712
	_deprecated_function( __FUNCTION__, '3.3.0' );
2713
2714
	$link = "<link rel='index' title='" . esc_attr( get_bloginfo( 'name', 'display' ) ) . "' href='" . esc_url( user_trailingslashit( get_bloginfo( 'url', 'display' ) ) ) . "' />\n";
2715
	return apply_filters( "index_rel_link", $link );
2716
}
2717
2718
/**
2719
 * Display relational link for the site index.
2720
 *
2721
 * @since 2.8.0
2722
 * @deprecated 3.3.0
2723
 */
2724
function index_rel_link() {
2725
	_deprecated_function( __FUNCTION__, '3.3.0' );
2726
2727
	echo get_index_rel_link();
0 ignored issues
show
Deprecated Code introduced by
The function get_index_rel_link() has been deprecated with message: 3.3.0

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
2728
}
2729
2730
/**
2731
 * Get parent post relational link.
2732
 *
2733
 * @since 2.8.0
2734
 * @deprecated 3.3.0
2735
 *
2736
 * @param string $title Optional. Link title format. Default '%title'.
2737
 * @return string
2738
 */
2739
function get_parent_post_rel_link( $title = '%title' ) {
2740
	_deprecated_function( __FUNCTION__, '3.3.0' );
2741
2742
	if ( ! empty( $GLOBALS['post'] ) && ! empty( $GLOBALS['post']->post_parent ) )
2743
		$post = get_post($GLOBALS['post']->post_parent);
2744
2745
	if ( empty($post) )
2746
		return;
2747
2748
	$date = mysql2date(get_option('date_format'), $post->post_date);
2749
2750
	$title = str_replace('%title', $post->post_title, $title);
2751
	$title = str_replace('%date', $date, $title);
2752
	$title = apply_filters('the_title', $title, $post->ID);
2753
2754
	$link = "<link rel='up' title='";
2755
	$link .= esc_attr( $title );
2756
	$link .= "' href='" . get_permalink($post) . "' />\n";
2757
2758
	return apply_filters( "parent_post_rel_link", $link );
2759
}
2760
2761
/**
2762
 * Display relational link for parent item
2763
 *
2764
 * @since 2.8.0
2765
 * @deprecated 3.3.0
2766
 *
2767
 * @param string $title Optional. Link title format. Default '%title'.
2768
 */
2769
function parent_post_rel_link( $title = '%title' ) {
2770
	_deprecated_function( __FUNCTION__, '3.3.0' );
2771
2772
	echo get_parent_post_rel_link($title);
0 ignored issues
show
Deprecated Code introduced by
The function get_parent_post_rel_link() has been deprecated with message: 3.3.0

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
2773
}
2774
2775
/**
2776
 * Add the "Dashboard"/"Visit Site" menu.
2777
 *
2778
 * @since 3.2.0
2779
 * @deprecated 3.3.0
2780
 *
2781
 * @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance.
2782
 */
2783
function wp_admin_bar_dashboard_view_site_menu( $wp_admin_bar ) {
2784
	_deprecated_function( __FUNCTION__, '3.3.0' );
2785
2786
	$user_id = get_current_user_id();
2787
2788
	if ( 0 != $user_id ) {
2789
		if ( is_admin() )
2790
			$wp_admin_bar->add_menu( array( 'id' => 'view-site', 'title' => __( 'Visit Site' ), 'href' => home_url() ) );
2791
		elseif ( is_multisite() )
2792
			$wp_admin_bar->add_menu( array( 'id' => 'dashboard', 'title' => __( 'Dashboard' ), 'href' => get_dashboard_url( $user_id ) ) );
2793
		else
2794
			$wp_admin_bar->add_menu( array( 'id' => 'dashboard', 'title' => __( 'Dashboard' ), 'href' => admin_url() ) );
2795
	}
2796
}
2797
2798
/**
2799
 * Checks if the current user belong to a given site.
2800
 *
2801
 * @since MU
2802
 * @deprecated 3.3.0 Use is_user_member_of_blog()
2803
 * @see is_user_member_of_blog()
2804
 *
2805
 * @param int $blog_id Site ID
2806
 * @return bool True if the current users belong to $blog_id, false if not.
2807
 */
2808
function is_blog_user( $blog_id = 0 ) {
2809
	_deprecated_function( __FUNCTION__, '3.3.0', 'is_user_member_of_blog()' );
2810
2811
	return is_user_member_of_blog( get_current_user_id(), $blog_id );
2812
}
2813
2814
/**
2815
 * Open the file handle for debugging.
2816
 *
2817
 * @since 0.71
2818
 * @deprecated 3.4.0 Use error_log()
2819
 * @see error_log()
2820
 *
2821
 * @link https://secure.php.net/manual/en/function.error-log.php
2822
 *
2823
 * @param string $filename File name.
2824
 * @param string $mode     Type of access you required to the stream.
2825
 * @return false Always false.
0 ignored issues
show
Should the return type not be boolean?

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

Loading history...
2826
 */
2827
function debug_fopen( $filename, $mode ) {
0 ignored issues
show
The parameter $filename is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $mode is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
2828
	_deprecated_function( __FUNCTION__, 'error_log()' );
2829
	return false;
2830
}
2831
2832
/**
2833
 * Write contents to the file used for debugging.
2834
 *
2835
 * @since 0.71
2836
 * @deprecated 3.4.0 Use error_log()
2837
 * @see error_log()
2838
 *
2839
 * @link https://secure.php.net/manual/en/function.error-log.php
2840
 *
2841
 * @param mixed  $fp     Unused.
2842
 * @param string $string Message to log.
2843
 */
2844
function debug_fwrite( $fp, $string ) {
0 ignored issues
show
The parameter $fp is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
2845
	_deprecated_function( __FUNCTION__, 'error_log()' );
2846
	if ( ! empty( $GLOBALS['debug'] ) )
2847
		error_log( $string );
2848
}
2849
2850
/**
2851
 * Close the debugging file handle.
2852
 *
2853
 * @since 0.71
2854
 * @deprecated 3.4.0 Use error_log()
2855
 * @see error_log()
2856
 *
2857
 * @link https://secure.php.net/manual/en/function.error-log.php
2858
 *
2859
 * @param mixed $fp Unused.
2860
 */
2861
function debug_fclose( $fp ) {
0 ignored issues
show
The parameter $fp is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
2862
	_deprecated_function( __FUNCTION__, 'error_log()' );
2863
}
2864
2865
/**
2866
 * Retrieve list of themes with theme data in theme directory.
2867
 *
2868
 * The theme is broken, if it doesn't have a parent theme and is missing either
2869
 * style.css and, or index.php. If the theme has a parent theme then it is
2870
 * broken, if it is missing style.css; index.php is optional.
2871
 *
2872
 * @since 1.5.0
2873
 * @deprecated 3.4.0 Use wp_get_themes()
2874
 * @see wp_get_themes()
2875
 *
2876
 * @return array Theme list with theme data.
2877
 */
2878
function get_themes() {
2879
	_deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_themes()' );
2880
2881
	global $wp_themes;
2882
	if ( isset( $wp_themes ) )
2883
		return $wp_themes;
2884
2885
	$themes = wp_get_themes();
2886
	$wp_themes = array();
2887
2888
	foreach ( $themes as $theme ) {
2889
		$name = $theme->get('Name');
2890
		if ( isset( $wp_themes[ $name ] ) )
2891
			$wp_themes[ $name . '/' . $theme->get_stylesheet() ] = $theme;
2892
		else
2893
			$wp_themes[ $name ] = $theme;
2894
	}
2895
2896
	return $wp_themes;
2897
}
2898
2899
/**
2900
 * Retrieve theme data.
2901
 *
2902
 * @since 1.5.0
2903
 * @deprecated 3.4.0 Use wp_get_theme()
2904
 * @see wp_get_theme()
2905
 *
2906
 * @param string $theme Theme name.
2907
 * @return array|null Null, if theme name does not exist. Theme data, if exists.
2908
 */
2909
function get_theme( $theme ) {
2910
	_deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_theme( $stylesheet )' );
2911
2912
	$themes = get_themes();
0 ignored issues
show
Deprecated Code introduced by
The function get_themes() has been deprecated with message: 3.4.0 Use wp_get_themes()

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
2913
	if ( is_array( $themes ) && array_key_exists( $theme, $themes ) )
2914
		return $themes[ $theme ];
2915
	return null;
2916
}
2917
2918
/**
2919
 * Retrieve current theme name.
2920
 *
2921
 * @since 1.5.0
2922
 * @deprecated 3.4.0 Use wp_get_theme()
2923
 * @see wp_get_theme()
2924
 *
2925
 * @return string
2926
 */
2927
function get_current_theme() {
2928
	_deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_theme()' );
2929
2930
	if ( $theme = get_option( 'current_theme' ) )
2931
		return $theme;
2932
2933
	return wp_get_theme()->get('Name');
2934
}
2935
2936
/**
2937
 * Accepts matches array from preg_replace_callback in wpautop() or a string.
2938
 *
2939
 * Ensures that the contents of a `<pre>...</pre>` HTML block are not
2940
 * converted into paragraphs or line-breaks.
2941
 *
2942
 * @since 1.2.0
2943
 * @deprecated 3.4.0
2944
 *
2945
 * @param array|string $matches The array or string
2946
 * @return string The pre block without paragraph/line-break conversion.
2947
 */
2948
function clean_pre($matches) {
2949
	_deprecated_function( __FUNCTION__, '3.4.0' );
2950
2951
	if ( is_array($matches) )
2952
		$text = $matches[1] . $matches[2] . "</pre>";
2953
	else
2954
		$text = $matches;
2955
2956
	$text = str_replace(array('<br />', '<br/>', '<br>'), array('', '', ''), $text);
2957
	$text = str_replace('<p>', "\n", $text);
2958
	$text = str_replace('</p>', '', $text);
2959
2960
	return $text;
2961
}
2962
2963
2964
/**
2965
 * Add callbacks for image header display.
2966
 *
2967
 * @since 2.1.0
2968
 * @deprecated 3.4.0 Use add_theme_support()
2969
 * @see add_theme_support()
2970
 *
2971
 * @param callable $wp_head_callback Call on the {@see 'wp_head'} action.
2972
 * @param callable $admin_head_callback Call on custom header administration screen.
2973
 * @param callable $admin_preview_callback Output a custom header image div on the custom header administration screen. Optional.
2974
 */
2975
function add_custom_image_header( $wp_head_callback, $admin_head_callback, $admin_preview_callback = '' ) {
2976
	_deprecated_function( __FUNCTION__, '3.4.0', 'add_theme_support( \'custom-header\', $args )' );
2977
	$args = array(
2978
		'wp-head-callback'    => $wp_head_callback,
2979
		'admin-head-callback' => $admin_head_callback,
2980
	);
2981
	if ( $admin_preview_callback )
2982
		$args['admin-preview-callback'] = $admin_preview_callback;
2983
	return add_theme_support( 'custom-header', $args );
2984
}
2985
2986
/**
2987
 * Remove image header support.
2988
 *
2989
 * @since 3.1.0
2990
 * @deprecated 3.4.0 Use remove_theme_support()
2991
 * @see remove_theme_support()
2992
 *
2993
 * @return null|bool Whether support was removed.
2994
 */
2995
function remove_custom_image_header() {
2996
	_deprecated_function( __FUNCTION__, '3.4.0', 'remove_theme_support( \'custom-header\' )' );
2997
	return remove_theme_support( 'custom-header' );
2998
}
2999
3000
/**
3001
 * Add callbacks for background image display.
3002
 *
3003
 * @since 3.0.0
3004
 * @deprecated 3.4.0 Use add_theme_support()
3005
 * @see add_theme_support()
3006
 *
3007
 * @param callable $wp_head_callback Call on the {@see 'wp_head'} action.
3008
 * @param callable $admin_head_callback Call on custom background administration screen.
3009
 * @param callable $admin_preview_callback Output a custom background image div on the custom background administration screen. Optional.
3010
 */
3011
function add_custom_background( $wp_head_callback = '', $admin_head_callback = '', $admin_preview_callback = '' ) {
3012
	_deprecated_function( __FUNCTION__, '3.4.0', 'add_theme_support( \'custom-background\', $args )' );
3013
	$args = array();
3014
	if ( $wp_head_callback )
3015
		$args['wp-head-callback'] = $wp_head_callback;
3016
	if ( $admin_head_callback )
3017
		$args['admin-head-callback'] = $admin_head_callback;
3018
	if ( $admin_preview_callback )
3019
		$args['admin-preview-callback'] = $admin_preview_callback;
3020
	return add_theme_support( 'custom-background', $args );
3021
}
3022
3023
/**
3024
 * Remove custom background support.
3025
 *
3026
 * @since 3.1.0
3027
 * @deprecated 3.4.0 Use add_custom_background()
3028
 * @see add_custom_background()
3029
 *
3030
 * @return null|bool Whether support was removed.
3031
 */
3032
function remove_custom_background() {
3033
	_deprecated_function( __FUNCTION__, '3.4.0', 'remove_theme_support( \'custom-background\' )' );
3034
	return remove_theme_support( 'custom-background' );
3035
}
3036
3037
/**
3038
 * Retrieve theme data from parsed theme file.
3039
 *
3040
 * @since 1.5.0
3041
 * @deprecated 3.4.0 Use wp_get_theme()
3042
 * @see wp_get_theme()
3043
 *
3044
 * @param string $theme_file Theme file path.
3045
 * @return array Theme data.
0 ignored issues
show
Consider making the return type a bit more specific; maybe use array<*,string|false>.

This check looks for the generic type array as a return type and suggests a more specific type. This type is inferred from the actual code.

Loading history...
3046
 */
3047
function get_theme_data( $theme_file ) {
3048
	_deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_theme()' );
3049
	$theme = new WP_Theme( basename( dirname( $theme_file ) ), dirname( dirname( $theme_file ) ) );
3050
3051
	$theme_data = array(
3052
		'Name' => $theme->get('Name'),
3053
		'URI' => $theme->display('ThemeURI', true, false),
3054
		'Description' => $theme->display('Description', true, false),
3055
		'Author' => $theme->display('Author', true, false),
3056
		'AuthorURI' => $theme->display('AuthorURI', true, false),
3057
		'Version' => $theme->get('Version'),
3058
		'Template' => $theme->get('Template'),
3059
		'Status' => $theme->get('Status'),
3060
		'Tags' => $theme->get('Tags'),
3061
		'Title' => $theme->get('Name'),
3062
		'AuthorName' => $theme->get('Author'),
3063
	);
3064
3065
	foreach ( apply_filters( 'extra_theme_headers', array() ) as $extra_header ) {
3066
		if ( ! isset( $theme_data[ $extra_header ] ) )
3067
			$theme_data[ $extra_header ] = $theme->get( $extra_header );
3068
	}
3069
3070
	return $theme_data;
3071
}
3072
3073
/**
3074
 * Alias of update_post_cache().
3075
 *
3076
 * @see update_post_cache() Posts and pages are the same, alias is intentional
3077
 *
3078
 * @since 1.5.1
3079
 * @deprecated 3.4.0 Use update_post_cache()
3080
 * @see update_post_cache()
3081
 *
3082
 * @param array $pages list of page objects
3083
 */
3084
function update_page_cache( &$pages ) {
3085
	_deprecated_function( __FUNCTION__, '3.4.0', 'update_post_cache()' );
3086
3087
	update_post_cache( $pages );
3088
}
3089
3090
/**
3091
 * Will clean the page in the cache.
3092
 *
3093
 * Clean (read: delete) page from cache that matches $id. Will also clean cache
3094
 * associated with 'all_page_ids' and 'get_pages'.
3095
 *
3096
 * @since 2.0.0
3097
 * @deprecated 3.4.0 Use clean_post_cache
3098
 * @see clean_post_cache()
3099
 *
3100
 * @param int $id Page ID to clean
3101
 */
3102
function clean_page_cache( $id ) {
3103
	_deprecated_function( __FUNCTION__, '3.4.0', 'clean_post_cache()' );
3104
3105
	clean_post_cache( $id );
3106
}
3107
3108
/**
3109
 * Retrieve nonce action "Are you sure" message.
3110
 *
3111
 * Deprecated in 3.4.1 and 3.5.0. Backported to 3.3.3.
3112
 *
3113
 * @since 2.0.4
3114
 * @deprecated 3.4.1 Use wp_nonce_ays()
3115
 * @see wp_nonce_ays()
3116
 *
3117
 * @param string $action Nonce action.
3118
 * @return string Are you sure message.
3119
 */
3120
function wp_explain_nonce( $action ) {
0 ignored issues
show
The parameter $action is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
3121
	_deprecated_function( __FUNCTION__, '3.4.1', 'wp_nonce_ays()' );
3122
	return __( 'Are you sure you want to do this?' );
3123
}
3124
3125
/**
3126
 * Display "sticky" CSS class, if a post is sticky.
3127
 *
3128
 * @since 2.7.0
3129
 * @deprecated 3.5.0 Use post_class()
3130
 * @see post_class()
3131
 *
3132
 * @param int $post_id An optional post ID.
3133
 */
3134
function sticky_class( $post_id = null ) {
3135
	_deprecated_function( __FUNCTION__, '3.5.0', 'post_class()' );
3136
	if ( is_sticky( $post_id ) )
3137
		echo ' sticky';
3138
}
3139
3140
/**
3141
 * Retrieve post ancestors.
3142
 *
3143
 * This is no longer needed as WP_Post lazy-loads the ancestors
3144
 * property with get_post_ancestors().
3145
 *
3146
 * @since 2.3.4
3147
 * @deprecated 3.5.0 Use get_post_ancestors()
3148
 * @see get_post_ancestors()
3149
 *
3150
 * @param WP_Post &$post Post object, passed by reference (unused).
3151
 */
3152
function _get_post_ancestors( &$post ) {
0 ignored issues
show
The parameter $post is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
3153
	_deprecated_function( __FUNCTION__, '3.5.0' );
3154
}
3155
3156
/**
3157
 * Load an image from a string, if PHP supports it.
3158
 *
3159
 * @since 2.1.0
3160
 * @deprecated 3.5.0 Use wp_get_image_editor()
3161
 * @see wp_get_image_editor()
3162
 *
3163
 * @param string $file Filename of the image to load.
3164
 * @return resource The resulting image resource on success, Error string on failure.
0 ignored issues
show
Should the return type not be string|resource?

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

Loading history...
3165
 */
3166
function wp_load_image( $file ) {
3167
	_deprecated_function( __FUNCTION__, '3.5.0', 'wp_get_image_editor()' );
3168
3169
	if ( is_numeric( $file ) )
3170
		$file = get_attached_file( $file );
3171
3172
	if ( ! is_file( $file ) ) {
3173
		/* translators: %s: file name */
3174
		return sprintf( __( 'File &#8220;%s&#8221; doesn&#8217;t exist?' ), $file );
3175
	}
3176
3177
	if ( ! function_exists('imagecreatefromstring') )
3178
		return __('The GD image library is not installed.');
3179
3180
	// Set artificially high because GD uses uncompressed images in memory.
3181
	wp_raise_memory_limit( 'image' );
3182
3183
	$image = imagecreatefromstring( file_get_contents( $file ) );
3184
3185
	if ( ! is_resource( $image ) ) {
3186
		/* translators: %s: file name */
3187
		return sprintf( __( 'File &#8220;%s&#8221; is not an image.' ), $file );
3188
	}
3189
3190
	return $image;
3191
}
3192
3193
/**
3194
 * Scale down an image to fit a particular size and save a new copy of the image.
3195
 *
3196
 * The PNG transparency will be preserved using the function, as well as the
3197
 * image type. If the file going in is PNG, then the resized image is going to
3198
 * be PNG. The only supported image types are PNG, GIF, and JPEG.
3199
 *
3200
 * Some functionality requires API to exist, so some PHP version may lose out
3201
 * support. This is not the fault of WordPress (where functionality is
3202
 * downgraded, not actual defects), but of your PHP version.
3203
 *
3204
 * @since 2.5.0
3205
 * @deprecated 3.5.0 Use wp_get_image_editor()
3206
 * @see wp_get_image_editor()
3207
 *
3208
 * @param string $file Image file path.
3209
 * @param int $max_w Maximum width to resize to.
3210
 * @param int $max_h Maximum height to resize to.
3211
 * @param bool $crop Optional. Whether to crop image or resize.
3212
 * @param string $suffix Optional. File suffix.
3213
 * @param string $dest_path Optional. New image file path.
3214
 * @param int $jpeg_quality Optional, default is 90. Image quality percentage.
3215
 * @return mixed WP_Error on failure. String with new destination path.
3216
 */
3217
function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 ) {
3218
	_deprecated_function( __FUNCTION__, '3.5.0', 'wp_get_image_editor()' );
3219
3220
	$editor = wp_get_image_editor( $file );
3221
	if ( is_wp_error( $editor ) )
3222
		return $editor;
3223
	$editor->set_quality( $jpeg_quality );
0 ignored issues
show
The method set_quality does only exist in WP_Image_Editor, but not in WP_Error.

It seems like the method you are trying to call exists only in some of the possible types.

Let’s take a look at an example:

class A
{
    public function foo() { }
}

class B extends A
{
    public function bar() { }
}

/**
 * @param A|B $x
 */
function someFunction($x)
{
    $x->foo(); // This call is fine as the method exists in A and B.
    $x->bar(); // This method only exists in B and might cause an error.
}

Available Fixes

  1. Add an additional type-check:

    /**
     * @param A|B $x
     */
    function someFunction($x)
    {
        $x->foo();
    
        if ($x instanceof B) {
            $x->bar();
        }
    }
    
  2. Only allow a single type to be passed if the variable comes from a parameter:

    function someFunction(B $x) { /** ... */ }
    
Loading history...
3224
3225
	$resized = $editor->resize( $max_w, $max_h, $crop );
0 ignored issues
show
The method resize does only exist in WP_Image_Editor, but not in WP_Error.

It seems like the method you are trying to call exists only in some of the possible types.

Let’s take a look at an example:

class A
{
    public function foo() { }
}

class B extends A
{
    public function bar() { }
}

/**
 * @param A|B $x
 */
function someFunction($x)
{
    $x->foo(); // This call is fine as the method exists in A and B.
    $x->bar(); // This method only exists in B and might cause an error.
}

Available Fixes

  1. Add an additional type-check:

    /**
     * @param A|B $x
     */
    function someFunction($x)
    {
        $x->foo();
    
        if ($x instanceof B) {
            $x->bar();
        }
    }
    
  2. Only allow a single type to be passed if the variable comes from a parameter:

    function someFunction(B $x) { /** ... */ }
    
Loading history...
3226
	if ( is_wp_error( $resized ) )
3227
		return $resized;
3228
3229
	$dest_file = $editor->generate_filename( $suffix, $dest_path );
0 ignored issues
show
The method generate_filename does only exist in WP_Image_Editor, but not in WP_Error.

It seems like the method you are trying to call exists only in some of the possible types.

Let’s take a look at an example:

class A
{
    public function foo() { }
}

class B extends A
{
    public function bar() { }
}

/**
 * @param A|B $x
 */
function someFunction($x)
{
    $x->foo(); // This call is fine as the method exists in A and B.
    $x->bar(); // This method only exists in B and might cause an error.
}

Available Fixes

  1. Add an additional type-check:

    /**
     * @param A|B $x
     */
    function someFunction($x)
    {
        $x->foo();
    
        if ($x instanceof B) {
            $x->bar();
        }
    }
    
  2. Only allow a single type to be passed if the variable comes from a parameter:

    function someFunction(B $x) { /** ... */ }
    
Loading history...
3230
	$saved = $editor->save( $dest_file );
0 ignored issues
show
The method save does only exist in WP_Image_Editor, but not in WP_Error.

It seems like the method you are trying to call exists only in some of the possible types.

Let’s take a look at an example:

class A
{
    public function foo() { }
}

class B extends A
{
    public function bar() { }
}

/**
 * @param A|B $x
 */
function someFunction($x)
{
    $x->foo(); // This call is fine as the method exists in A and B.
    $x->bar(); // This method only exists in B and might cause an error.
}

Available Fixes

  1. Add an additional type-check:

    /**
     * @param A|B $x
     */
    function someFunction($x)
    {
        $x->foo();
    
        if ($x instanceof B) {
            $x->bar();
        }
    }
    
  2. Only allow a single type to be passed if the variable comes from a parameter:

    function someFunction(B $x) { /** ... */ }
    
Loading history...
3231
3232
	if ( is_wp_error( $saved ) )
3233
		return $saved;
3234
3235
	return $dest_file;
3236
}
3237
3238
/**
3239
 * Retrieve a single post, based on post ID.
3240
 *
3241
 * Has categories in 'post_category' property or key. Has tags in 'tags_input'
3242
 * property or key.
3243
 *
3244
 * @since 1.0.0
3245
 * @deprecated 3.5.0 Use get_post()
3246
 * @see get_post()
3247
 *
3248
 * @param int $postid Post ID.
3249
 * @param string $mode How to return result, either OBJECT, ARRAY_N, or ARRAY_A.
3250
 * @return WP_Post|null Post object or array holding post contents and information
0 ignored issues
show
Should the return type not be WP_Post|array|null? Also, consider making the array more specific, something like array<String>, or String[].

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

If the return type contains the type array, this check recommends the use of a more specific type like String[] or array<String>.

Loading history...
3251
 */
3252
function wp_get_single_post( $postid = 0, $mode = OBJECT ) {
3253
	_deprecated_function( __FUNCTION__, '3.5.0', 'get_post()' );
3254
	return get_post( $postid, $mode );
3255
}
3256
3257
/**
3258
 * Check that the user login name and password is correct.
3259
 *
3260
 * @since 0.71
3261
 * @deprecated 3.5.0 Use wp_authenticate()
3262
 * @see wp_authenticate()
3263
 *
3264
 * @param string $user_login User name.
3265
 * @param string $user_pass User password.
3266
 * @return bool False if does not authenticate, true if username and password authenticates.
3267
 */
3268
function user_pass_ok($user_login, $user_pass) {
3269
	_deprecated_function( __FUNCTION__, '3.5.0', 'wp_authenticate()' );
3270
	$user = wp_authenticate( $user_login, $user_pass );
3271
	if ( is_wp_error( $user ) )
0 ignored issues
show
This if statement, and the following return statement can be replaced with return !is_wp_error($user);.
Loading history...
3272
		return false;
3273
3274
	return true;
3275
}
3276
3277
/**
3278
 * Callback formerly fired on the save_post hook. No longer needed.
3279
 *
3280
 * @since 2.3.0
3281
 * @deprecated 3.5.0
3282
 */
3283
function _save_post_hook() {}
3284
3285
/**
3286
 * Check if the installed version of GD supports particular image type
3287
 *
3288
 * @since 2.9.0
3289
 * @deprecated 3.5.0 Use wp_image_editor_supports()
3290
 * @see wp_image_editor_supports()
3291
 *
3292
 * @param string $mime_type
3293
 * @return bool
3294
 */
3295
function gd_edit_image_support($mime_type) {
3296
	_deprecated_function( __FUNCTION__, '3.5.0', 'wp_image_editor_supports()' );
3297
3298
	if ( function_exists('imagetypes') ) {
3299
		switch( $mime_type ) {
3300
			case 'image/jpeg':
3301
				return (imagetypes() & IMG_JPG) != 0;
3302
			case 'image/png':
3303
				return (imagetypes() & IMG_PNG) != 0;
3304
			case 'image/gif':
3305
				return (imagetypes() & IMG_GIF) != 0;
3306
		}
3307
	} else {
3308
		switch( $mime_type ) {
3309
			case 'image/jpeg':
3310
				return function_exists('imagecreatefromjpeg');
3311
			case 'image/png':
3312
				return function_exists('imagecreatefrompng');
3313
			case 'image/gif':
3314
				return function_exists('imagecreatefromgif');
3315
		}
3316
	}
3317
	return false;
3318
}
3319
3320
/**
3321
 * Converts an integer byte value to a shorthand byte value.
3322
 *
3323
 * @since 2.3.0
3324
 * @deprecated 3.6.0 Use size_format()
3325
 * @see size_format()
3326
 *
3327
 * @param int $bytes An integer byte value.
3328
 * @return string A shorthand byte value.
3329
 */
3330
function wp_convert_bytes_to_hr( $bytes ) {
3331
	_deprecated_function( __FUNCTION__, '3.6.0', 'size_format()' );
3332
3333
	$units = array( 0 => 'B', 1 => 'KB', 2 => 'MB', 3 => 'GB', 4 => 'TB' );
3334
	$log   = log( $bytes, KB_IN_BYTES );
3335
	$power = (int) $log;
3336
	$size  = pow( KB_IN_BYTES, $log - $power );
3337
3338
	if ( ! is_nan( $size ) && array_key_exists( $power, $units ) ) {
3339
		$unit = $units[ $power ];
3340
	} else {
3341
		$size = $bytes;
3342
		$unit = $units[0];
3343
	}
3344
3345
	return $size . $unit;
3346
}
3347
3348
/**
3349
 * Formerly used internally to tidy up the search terms.
3350
 *
3351
 * @since 2.9.0
3352
 * @access private
3353
 * @deprecated 3.7.0
3354
 *
3355
 * @param string $t Search terms to "tidy", e.g. trim.
3356
 * @return string Trimmed search terms.
3357
 */
3358
function _search_terms_tidy( $t ) {
3359
	_deprecated_function( __FUNCTION__, '3.7.0' );
3360
	return trim( $t, "\"'\n\r " );
3361
}
3362
3363
/**
3364
 * Determine if TinyMCE is available.
3365
 *
3366
 * Checks to see if the user has deleted the tinymce files to slim down
3367
 * their WordPress install.
3368
 *
3369
 * @since 2.1.0
3370
 * @deprecated 3.9.0
3371
 *
3372
 * @return bool Whether TinyMCE exists.
3373
 */
3374
function rich_edit_exists() {
3375
	global $wp_rich_edit_exists;
3376
	_deprecated_function( __FUNCTION__, '3.9.0' );
3377
3378
	if ( ! isset( $wp_rich_edit_exists ) )
3379
		$wp_rich_edit_exists = file_exists( ABSPATH . WPINC . '/js/tinymce/tinymce.js' );
3380
3381
	return $wp_rich_edit_exists;
3382
}
3383
3384
/**
3385
 * Old callback for tag link tooltips.
3386
 *
3387
 * @since 2.7.0
3388
 * @access private
3389
 * @deprecated 3.9.0
3390
 *
3391
 * @param int $count Number of topics.
3392
 * @return int Number of topics.
3393
 */
3394
function default_topic_count_text( $count ) {
3395
	return $count;
3396
}
3397
3398
/**
3399
 * Formerly used to escape strings before inserting into the DB.
3400
 *
3401
 * Has not performed this function for many, many years. Use wpdb::prepare() instead.
3402
 *
3403
 * @since 0.71
3404
 * @deprecated 3.9.0
3405
 *
3406
 * @param string $content The text to format.
3407
 * @return string The very same text.
3408
 */
3409
function format_to_post( $content ) {
3410
	_deprecated_function( __FUNCTION__, '3.9.0' );
3411
	return $content;
3412
}
3413
3414
/**
3415
 * Formerly used to escape strings before searching the DB. It was poorly documented and never worked as described.
3416
 *
3417
 * @since 2.5.0
3418
 * @deprecated 4.0.0 Use wpdb::esc_like()
3419
 * @see wpdb::esc_like()
3420
 *
3421
 * @param string $text The text to be escaped.
3422
 * @return string text, safe for inclusion in LIKE query.
3423
 */
3424
function like_escape($text) {
3425
	_deprecated_function( __FUNCTION__, '4.0.0', 'wpdb::esc_like()' );
3426
	return str_replace( array( "%", "_" ), array( "\\%", "\\_" ), $text );
3427
}
3428
3429
/**
3430
 * Determines if the URL can be accessed over SSL.
3431
 *
3432
 * Determines if the URL can be accessed over SSL by using the WordPress HTTP API to access
3433
 * the URL using https as the scheme.
3434
 *
3435
 * @since 2.5.0
3436
 * @deprecated 4.0.0
3437
 *
3438
 * @param string $url The URL to test.
3439
 * @return bool Whether SSL access is available.
3440
 */
3441
function url_is_accessable_via_ssl( $url ) {
3442
	_deprecated_function( __FUNCTION__, '4.0.0' );
3443
3444
	$response = wp_remote_get( set_url_scheme( $url, 'https' ) );
3445
3446
	if ( !is_wp_error( $response ) ) {
3447
		$status = wp_remote_retrieve_response_code( $response );
3448
		if ( 200 == $status || 401 == $status ) {
3449
			return true;
3450
		}
3451
	}
3452
3453
	return false;
3454
}
3455
3456
/**
3457
 * Start preview theme output buffer.
3458
 *
3459
 * Will only perform task if the user has permissions and template and preview
3460
 * query variables exist.
3461
 *
3462
 * @since 2.6.0
3463
 * @deprecated 4.3.0
3464
 */
3465
function preview_theme() {
3466
	_deprecated_function( __FUNCTION__, '4.3.0' );
3467
}
3468
3469
/**
3470
 * Private function to modify the current template when previewing a theme
3471
 *
3472
 * @since 2.9.0
3473
 * @deprecated 4.3.0
3474
 * @access private
3475
 *
3476
 * @return string
3477
 */
3478
function _preview_theme_template_filter() {
3479
	_deprecated_function( __FUNCTION__, '4.3.0' );
3480
	return '';
3481
}
3482
3483
/**
3484
 * Private function to modify the current stylesheet when previewing a theme
3485
 *
3486
 * @since 2.9.0
3487
 * @deprecated 4.3.0
3488
 * @access private
3489
 *
3490
 * @return string
3491
 */
3492
function _preview_theme_stylesheet_filter() {
3493
	_deprecated_function( __FUNCTION__, '4.3.0' );
3494
	return '';
3495
}
3496
3497
/**
3498
 * Callback function for ob_start() to capture all links in the theme.
3499
 *
3500
 * @since 2.6.0
3501
 * @deprecated 4.3.0
3502
 * @access private
3503
 *
3504
 * @param string $content
3505
 * @return string
3506
 */
3507
function preview_theme_ob_filter( $content ) {
3508
	_deprecated_function( __FUNCTION__, '4.3.0' );
3509
	return $content;
3510
}
3511
3512
/**
3513
 * Manipulates preview theme links in order to control and maintain location.
3514
 *
3515
 * Callback function for preg_replace_callback() to accept and filter matches.
3516
 *
3517
 * @since 2.6.0
3518
 * @deprecated 4.3.0
3519
 * @access private
3520
 *
3521
 * @param array $matches
3522
 * @return string
3523
 */
3524
function preview_theme_ob_filter_callback( $matches ) {
0 ignored issues
show
The parameter $matches is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
3525
	_deprecated_function( __FUNCTION__, '4.3.0' );
3526
	return '';
3527
}
3528
3529
/**
3530
 * Formats text for the rich text editor.
3531
 *
3532
 * The {@see 'richedit_pre'} filter is applied here. If $text is empty the filter will
3533
 * be applied to an empty string.
3534
 *
3535
 * @since 2.0.0
3536
 * @deprecated 4.3.0
3537
 *
3538
 * @param string $text The text to be formatted.
3539
 * @return string The formatted text after filter is applied.
3540
 */
3541
function wp_richedit_pre($text) {
3542
	_deprecated_function( __FUNCTION__, '4.3.0', 'format_for_editor()' );
3543
3544
	if ( empty( $text ) ) {
3545
		/**
3546
		 * Filters text returned for the rich text editor.
3547
		 *
3548
		 * This filter is first evaluated, and the value returned, if an empty string
3549
		 * is passed to wp_richedit_pre(). If an empty string is passed, it results
3550
		 * in a break tag and line feed.
3551
		 *
3552
		 * If a non-empty string is passed, the filter is evaluated on the wp_richedit_pre()
3553
		 * return after being formatted.
3554
		 *
3555
		 * @since 2.0.0
3556
		 * @deprecated 4.3.0
3557
		 *
3558
		 * @param string $output Text for the rich text editor.
3559
		 */
3560
		return apply_filters( 'richedit_pre', '' );
3561
	}
3562
3563
	$output = convert_chars($text);
3564
	$output = wpautop($output);
3565
	$output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) );
3566
3567
	/** This filter is documented in wp-includes/deprecated.php */
3568
	return apply_filters( 'richedit_pre', $output );
3569
}
3570
3571
/**
3572
 * Formats text for the HTML editor.
3573
 *
3574
 * Unless $output is empty it will pass through htmlspecialchars before the
3575
 * {@see 'htmledit_pre'} filter is applied.
3576
 *
3577
 * @since 2.5.0
3578
 * @deprecated 4.3.0 Use format_for_editor()
3579
 * @see format_for_editor()
3580
 *
3581
 * @param string $output The text to be formatted.
3582
 * @return string Formatted text after filter applied.
3583
 */
3584
function wp_htmledit_pre($output) {
3585
	_deprecated_function( __FUNCTION__, '4.3.0', 'format_for_editor()' );
3586
3587
	if ( !empty($output) )
3588
		$output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) ); // convert only < > &
3589
3590
	/**
3591
	 * Filters the text before it is formatted for the HTML editor.
3592
	 *
3593
	 * @since 2.5.0
3594
	 * @deprecated 4.3.0
3595
	 *
3596
	 * @param string $output The HTML-formatted text.
3597
	 */
3598
	return apply_filters( 'htmledit_pre', $output );
3599
}
3600
3601
/**
3602
 * Retrieve permalink from post ID.
3603
 *
3604
 * @since 1.0.0
3605
 * @deprecated 4.4.0 Use get_permalink()
3606
 * @see get_permalink()
3607
 *
3608
 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
0 ignored issues
show
Consider making the type for parameter $post_id a bit more specific; maybe use integer.
Loading history...
3609
 * @return string|false
3610
 */
3611
function post_permalink( $post_id = 0 ) {
3612
	_deprecated_function( __FUNCTION__, '4.4.0', 'get_permalink()' );
3613
3614
	return get_permalink( $post_id );
3615
}
3616
3617
/**
3618
 * Perform a HTTP HEAD or GET request.
3619
 *
3620
 * If $file_path is a writable filename, this will do a GET request and write
3621
 * the file to that path.
3622
 *
3623
 * @since 2.5.0
3624
 * @deprecated 4.4.0 Use WP_Http
3625
 * @see WP_Http
3626
 *
3627
 * @param string      $url       URL to fetch.
3628
 * @param string|bool $file_path Optional. File path to write request to. Default false.
3629
 * @param int         $red       Optional. The number of Redirects followed, Upon 5 being hit,
3630
 *                               returns false. Default 1.
3631
 * @return bool|string False on failure and string of headers if HEAD request.
0 ignored issues
show
Should the return type not be boolean|string|array|Req...seInsensitiveDictionary? Also, consider making the array more specific, something like array<String>, or String[].

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

If the return type contains the type array, this check recommends the use of a more specific type like String[] or array<String>.

Loading history...
3632
 */
3633
function wp_get_http( $url, $file_path = false, $red = 1 ) {
3634
	_deprecated_function( __FUNCTION__, '4.4.0', 'WP_Http' );
3635
3636
	@set_time_limit( 60 );
0 ignored issues
show
Security Best Practice introduced by
It seems like you do not handle an error condition here. This can introduce security issues, and is generally not recommended.

If you suppress an error, we recommend checking for the error condition explicitly:

// For example instead of
@mkdir($dir);

// Better use
if (@mkdir($dir) === false) {
    throw new \RuntimeException('The directory '.$dir.' could not be created.');
}
Loading history...
3637
3638
	if ( $red > 5 )
3639
		return false;
3640
3641
	$options = array();
3642
	$options['redirection'] = 5;
3643
3644
	if ( false == $file_path )
3645
		$options['method'] = 'HEAD';
3646
	else
3647
		$options['method'] = 'GET';
3648
3649
	$response = wp_safe_remote_request( $url, $options );
3650
3651
	if ( is_wp_error( $response ) )
3652
		return false;
3653
3654
	$headers = wp_remote_retrieve_headers( $response );
3655
	$headers['response'] = wp_remote_retrieve_response_code( $response );
3656
3657
	// WP_HTTP no longer follows redirects for HEAD requests.
3658
	if ( 'HEAD' == $options['method'] && in_array($headers['response'], array(301, 302)) && isset( $headers['location'] ) ) {
3659
		return wp_get_http( $headers['location'], $file_path, ++$red );
0 ignored issues
show
Deprecated Code introduced by
The function wp_get_http() has been deprecated with message: 4.4.0 Use WP_Http

This function has been deprecated. The supplier of the file has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed from the class and what other function to use instead.

Loading history...
3660
	}
3661
3662
	if ( false == $file_path )
3663
		return $headers;
3664
3665
	// GET request - write it to the supplied filename
3666
	$out_fp = fopen($file_path, 'w');
3667
	if ( !$out_fp )
3668
		return $headers;
3669
3670
	fwrite( $out_fp,  wp_remote_retrieve_body( $response ) );
3671
	fclose($out_fp);
3672
	clearstatcache();
3673
3674
	return $headers;
3675
}
3676
3677
/**
3678
 * Whether SSL login should be forced.
3679
 *
3680
 * @since 2.6.0
3681
 * @deprecated 4.4.0 Use force_ssl_admin()
3682
 * @see force_ssl_admin()
3683
 *
3684
 * @param string|bool $force Optional Whether to force SSL login. Default null.
3685
 * @return bool True if forced, false if not forced.
3686
 */
3687
function force_ssl_login( $force = null ) {
3688
	_deprecated_function( __FUNCTION__, '4.4.0', 'force_ssl_admin()' );
3689
	return force_ssl_admin( $force );
3690
}
3691
3692
/**
3693
 * Retrieve path of comment popup template in current or parent template.
3694
 *
3695
 * @since 1.5.0
3696
 * @deprecated 4.5.0
3697
 *
3698
 * @return string Full path to comments popup template file.
3699
 */
3700
function get_comments_popup_template() {
3701
	_deprecated_function( __FUNCTION__, '4.5.0' );
3702
3703
	return '';
3704
}
3705
3706
/**
3707
 * Whether the current URL is within the comments popup window.
3708
 *
3709
 * @since 1.5.0
3710
 * @deprecated 4.5.0
3711
 *
3712
 * @return bool
3713
 */
3714
function is_comments_popup() {
3715
	_deprecated_function( __FUNCTION__, '4.5.0' );
3716
3717
	return false;
3718
}
3719
3720
/**
3721
 * Display the JS popup script to show a comment.
3722
 *
3723
 * @since 0.71
3724
 * @deprecated 4.5.0
3725
 */
3726
function comments_popup_script() {
3727
	_deprecated_function( __FUNCTION__, '4.5.0' );
3728
}
3729
3730
/**
3731
 * Adds element attributes to open links in new windows.
3732
 *
3733
 * @since 0.71
3734
 * @deprecated 4.5.0
3735
 *
3736
 * @param string $text Content to replace links to open in a new window.
3737
 * @return string Content that has filtered links.
3738
 */
3739
function popuplinks( $text ) {
3740
	_deprecated_function( __FUNCTION__, '4.5.0' );
3741
	$text = preg_replace('/<a (.+?)>/i', "<a $1 target='_blank' rel='external'>", $text);
3742
	return $text;
3743
}
3744
3745
/**
3746
 * The Google Video embed handler callback.
3747
 *
3748
 * Deprecated function that previously assisted in turning Google Video URLs
3749
 * into embeds but that service has since been shut down.
3750
 *
3751
 * @since 2.9.0
3752
 * @deprecated 4.6.0
3753
 *
3754
 * @return string An empty string.
3755
 */
3756
function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
0 ignored issues
show
The parameter $matches is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $attr is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $url is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
The parameter $rawattr is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
3757
	_deprecated_function( __FUNCTION__, '4.6.0' );
3758
3759
	return '';
3760
}
3761
3762
/**
3763
 * Retrieve path of paged template in current or parent template.
3764
 *
3765
 * @since 1.5.0
3766
 * @deprecated 4.7.0 The paged.php template is no longer part of the theme template hierarchy.
3767
 *
3768
 * @return string Full path to paged template file.
3769
 */
3770
function get_paged_template() {
3771
	_deprecated_function( __FUNCTION__, '4.7.0' );
3772
3773
	return get_query_template( 'paged' );
3774
}
3775
3776
/**
3777
 * Removes the HTML JavaScript entities found in early versions of Netscape 4.
3778
 *
3779
 * Previously, this function was pulled in from the original
3780
 * import of kses and removed a specific vulnerability only
3781
 * existent in early version of Netscape 4. However, this
3782
 * vulnerability never affected any other browsers and can
3783
 * be considered safe for the modern web.
3784
 *
3785
 * The regular expression which sanitized this vulnerability
3786
 * has been removed in consideration of the performance and
3787
 * energy demands it placed, now merely passing through its
3788
 * input to the return.
3789
 *
3790
 * @since 1.0.0
3791
 * @deprecated 4.7.0 Officially dropped security support for Netscape 4.
3792
 *
3793
 * @param string $string
3794
 * @return string
3795
 */
3796
function wp_kses_js_entities( $string ) {
3797
	_deprecated_function( __FUNCTION__, '4.7.0' );
3798
3799
	return preg_replace( '%&\s*\{[^}]*(\}\s*;?|$)%', '', $string );
3800
}
3801
3802
/**
3803
 * Sort categories by ID.
3804
 *
3805
 * Used by usort() as a callback, should not be used directly. Can actually be
3806
 * used to sort any term object.
3807
 *
3808
 * @since 2.3.0
3809
 * @deprecated 4.7.0 Use wp_list_sort()
3810
 * @access private
3811
 *
3812
 * @param object $a
3813
 * @param object $b
3814
 * @return int
3815
 */
3816
function _usort_terms_by_ID( $a, $b ) {
3817
	_deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort' );
3818
3819
	if ( $a->term_id > $b->term_id )
3820
		return 1;
3821
	elseif ( $a->term_id < $b->term_id )
3822
		return -1;
3823
	else
3824
		return 0;
3825
}
3826
3827
/**
3828
 * Sort categories by name.
3829
 *
3830
 * Used by usort() as a callback, should not be used directly. Can actually be
3831
 * used to sort any term object.
3832
 *
3833
 * @since 2.3.0
3834
 * @deprecated 4.7.0 Use wp_list_sort()
3835
 * @access private
3836
 *
3837
 * @param object $a
3838
 * @param object $b
3839
 * @return int
3840
 */
3841
function _usort_terms_by_name( $a, $b ) {
3842
	_deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort' );
3843
3844
	return strcmp( $a->name, $b->name );
3845
}
3846
3847
/**
3848
 * Sort menu items by the desired key.
3849
 *
3850
 * @since 3.0.0
3851
 * @deprecated 4.7.0 Use wp_list_sort()
3852
 * @access private
3853
 *
3854
 * @global string $_menu_item_sort_prop
3855
 *
3856
 * @param object $a The first object to compare
3857
 * @param object $b The second object to compare
3858
 * @return int -1, 0, or 1 if $a is considered to be respectively less than, equal to, or greater than $b.
3859
 */
3860
function _sort_nav_menu_items( $a, $b ) {
3861
	global $_menu_item_sort_prop;
3862
3863
	_deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort' );
3864
3865
	if ( empty( $_menu_item_sort_prop ) )
3866
		return 0;
3867
3868
	if ( ! isset( $a->$_menu_item_sort_prop ) || ! isset( $b->$_menu_item_sort_prop ) )
3869
		return 0;
3870
3871
	$_a = (int) $a->$_menu_item_sort_prop;
3872
	$_b = (int) $b->$_menu_item_sort_prop;
3873
3874
	if ( $a->$_menu_item_sort_prop == $b->$_menu_item_sort_prop )
3875
		return 0;
3876
	elseif ( $_a == $a->$_menu_item_sort_prop && $_b == $b->$_menu_item_sort_prop )
3877
		return $_a < $_b ? -1 : 1;
3878
	else
3879
		return strcmp( $a->$_menu_item_sort_prop, $b->$_menu_item_sort_prop );
3880
}
3881