Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-inclu...
File: functions.php
* the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
[1000] Fix | Delete
* Conditional Tags} article in the Theme Developer Handbook.
[1001] Fix | Delete
*
[1002] Fix | Delete
* @since 0.71
[1003] Fix | Delete
*
[1004] Fix | Delete
* @global string $currentday The day of the current post in the loop.
[1005] Fix | Delete
* @global string $previousday The day of the previous post in the loop.
[1006] Fix | Delete
*
[1007] Fix | Delete
* @return int 1 when new day, 0 if not a new day.
[1008] Fix | Delete
*/
[1009] Fix | Delete
function is_new_day() {
[1010] Fix | Delete
global $currentday, $previousday;
[1011] Fix | Delete
[1012] Fix | Delete
if ( $currentday !== $previousday ) {
[1013] Fix | Delete
return 1;
[1014] Fix | Delete
} else {
[1015] Fix | Delete
return 0;
[1016] Fix | Delete
}
[1017] Fix | Delete
}
[1018] Fix | Delete
[1019] Fix | Delete
/**
[1020] Fix | Delete
* Builds URL query based on an associative and, or indexed array.
[1021] Fix | Delete
*
[1022] Fix | Delete
* This is a convenient function for easily building url queries. It sets the
[1023] Fix | Delete
* separator to '&' and uses _http_build_query() function.
[1024] Fix | Delete
*
[1025] Fix | Delete
* @since 2.3.0
[1026] Fix | Delete
*
[1027] Fix | Delete
* @see _http_build_query() Used to build the query
[1028] Fix | Delete
* @link https://www.php.net/manual/en/function.http-build-query.php for more on what
[1029] Fix | Delete
* http_build_query() does.
[1030] Fix | Delete
*
[1031] Fix | Delete
* @param array $data URL-encode key/value pairs.
[1032] Fix | Delete
* @return string URL-encoded string.
[1033] Fix | Delete
*/
[1034] Fix | Delete
function build_query( $data ) {
[1035] Fix | Delete
return _http_build_query( $data, null, '&', '', false );
[1036] Fix | Delete
}
[1037] Fix | Delete
[1038] Fix | Delete
/**
[1039] Fix | Delete
* From php.net (modified by Mark Jaquith to behave like the native PHP5 function).
[1040] Fix | Delete
*
[1041] Fix | Delete
* @since 3.2.0
[1042] Fix | Delete
* @access private
[1043] Fix | Delete
*
[1044] Fix | Delete
* @see https://www.php.net/manual/en/function.http-build-query.php
[1045] Fix | Delete
*
[1046] Fix | Delete
* @param array|object $data An array or object of data. Converted to array.
[1047] Fix | Delete
* @param string $prefix Optional. Numeric index. If set, start parameter numbering with it.
[1048] Fix | Delete
* Default null.
[1049] Fix | Delete
* @param string $sep Optional. Argument separator; defaults to 'arg_separator.output'.
[1050] Fix | Delete
* Default null.
[1051] Fix | Delete
* @param string $key Optional. Used to prefix key name. Default empty string.
[1052] Fix | Delete
* @param bool $urlencode Optional. Whether to use urlencode() in the result. Default true.
[1053] Fix | Delete
* @return string The query string.
[1054] Fix | Delete
*/
[1055] Fix | Delete
function _http_build_query( $data, $prefix = null, $sep = null, $key = '', $urlencode = true ) {
[1056] Fix | Delete
$ret = array();
[1057] Fix | Delete
[1058] Fix | Delete
foreach ( (array) $data as $k => $v ) {
[1059] Fix | Delete
if ( $urlencode ) {
[1060] Fix | Delete
$k = urlencode( $k );
[1061] Fix | Delete
}
[1062] Fix | Delete
[1063] Fix | Delete
if ( is_int( $k ) && null !== $prefix ) {
[1064] Fix | Delete
$k = $prefix . $k;
[1065] Fix | Delete
}
[1066] Fix | Delete
[1067] Fix | Delete
if ( ! empty( $key ) ) {
[1068] Fix | Delete
$k = $key . '%5B' . $k . '%5D';
[1069] Fix | Delete
}
[1070] Fix | Delete
[1071] Fix | Delete
if ( null === $v ) {
[1072] Fix | Delete
continue;
[1073] Fix | Delete
} elseif ( false === $v ) {
[1074] Fix | Delete
$v = '0';
[1075] Fix | Delete
}
[1076] Fix | Delete
[1077] Fix | Delete
if ( is_array( $v ) || is_object( $v ) ) {
[1078] Fix | Delete
array_push( $ret, _http_build_query( $v, '', $sep, $k, $urlencode ) );
[1079] Fix | Delete
} elseif ( $urlencode ) {
[1080] Fix | Delete
array_push( $ret, $k . '=' . urlencode( $v ) );
[1081] Fix | Delete
} else {
[1082] Fix | Delete
array_push( $ret, $k . '=' . $v );
[1083] Fix | Delete
}
[1084] Fix | Delete
}
[1085] Fix | Delete
[1086] Fix | Delete
if ( null === $sep ) {
[1087] Fix | Delete
$sep = ini_get( 'arg_separator.output' );
[1088] Fix | Delete
}
[1089] Fix | Delete
[1090] Fix | Delete
return implode( $sep, $ret );
[1091] Fix | Delete
}
[1092] Fix | Delete
[1093] Fix | Delete
/**
[1094] Fix | Delete
* Retrieves a modified URL query string.
[1095] Fix | Delete
*
[1096] Fix | Delete
* You can rebuild the URL and append query variables to the URL query by using this function.
[1097] Fix | Delete
* There are two ways to use this function; either a single key and value, or an associative array.
[1098] Fix | Delete
*
[1099] Fix | Delete
* Using a single key and value:
[1100] Fix | Delete
*
[1101] Fix | Delete
* add_query_arg( 'key', 'value', 'http://example.com' );
[1102] Fix | Delete
*
[1103] Fix | Delete
* Using an associative array:
[1104] Fix | Delete
*
[1105] Fix | Delete
* add_query_arg( array(
[1106] Fix | Delete
* 'key1' => 'value1',
[1107] Fix | Delete
* 'key2' => 'value2',
[1108] Fix | Delete
* ), 'http://example.com' );
[1109] Fix | Delete
*
[1110] Fix | Delete
* Omitting the URL from either use results in the current URL being used
[1111] Fix | Delete
* (the value of `$_SERVER['REQUEST_URI']`).
[1112] Fix | Delete
*
[1113] Fix | Delete
* Values are expected to be encoded appropriately with urlencode() or rawurlencode().
[1114] Fix | Delete
*
[1115] Fix | Delete
* Setting any query variable's value to boolean false removes the key (see remove_query_arg()).
[1116] Fix | Delete
*
[1117] Fix | Delete
* Important: The return value of add_query_arg() is not escaped by default. Output should be
[1118] Fix | Delete
* late-escaped with esc_url() or similar to help prevent vulnerability to cross-site scripting
[1119] Fix | Delete
* (XSS) attacks.
[1120] Fix | Delete
*
[1121] Fix | Delete
* @since 1.5.0
[1122] Fix | Delete
* @since 5.3.0 Formalized the existing and already documented parameters
[1123] Fix | Delete
* by adding `...$args` to the function signature.
[1124] Fix | Delete
*
[1125] Fix | Delete
* @param string|array $key Either a query variable key, or an associative array of query variables.
[1126] Fix | Delete
* @param string $value Optional. Either a query variable value, or a URL to act upon.
[1127] Fix | Delete
* @param string $url Optional. A URL to act upon.
[1128] Fix | Delete
* @return string New URL query string (unescaped).
[1129] Fix | Delete
*/
[1130] Fix | Delete
function add_query_arg( ...$args ) {
[1131] Fix | Delete
if ( is_array( $args[0] ) ) {
[1132] Fix | Delete
if ( count( $args ) < 2 || false === $args[1] ) {
[1133] Fix | Delete
$uri = $_SERVER['REQUEST_URI'];
[1134] Fix | Delete
} else {
[1135] Fix | Delete
$uri = $args[1];
[1136] Fix | Delete
}
[1137] Fix | Delete
} else {
[1138] Fix | Delete
if ( count( $args ) < 3 || false === $args[2] ) {
[1139] Fix | Delete
$uri = $_SERVER['REQUEST_URI'];
[1140] Fix | Delete
} else {
[1141] Fix | Delete
$uri = $args[2];
[1142] Fix | Delete
}
[1143] Fix | Delete
}
[1144] Fix | Delete
[1145] Fix | Delete
$frag = strstr( $uri, '#' );
[1146] Fix | Delete
if ( $frag ) {
[1147] Fix | Delete
$uri = substr( $uri, 0, -strlen( $frag ) );
[1148] Fix | Delete
} else {
[1149] Fix | Delete
$frag = '';
[1150] Fix | Delete
}
[1151] Fix | Delete
[1152] Fix | Delete
if ( 0 === stripos( $uri, 'http://' ) ) {
[1153] Fix | Delete
$protocol = 'http://';
[1154] Fix | Delete
$uri = substr( $uri, 7 );
[1155] Fix | Delete
} elseif ( 0 === stripos( $uri, 'https://' ) ) {
[1156] Fix | Delete
$protocol = 'https://';
[1157] Fix | Delete
$uri = substr( $uri, 8 );
[1158] Fix | Delete
} else {
[1159] Fix | Delete
$protocol = '';
[1160] Fix | Delete
}
[1161] Fix | Delete
[1162] Fix | Delete
if ( str_contains( $uri, '?' ) ) {
[1163] Fix | Delete
list( $base, $query ) = explode( '?', $uri, 2 );
[1164] Fix | Delete
$base .= '?';
[1165] Fix | Delete
} elseif ( $protocol || ! str_contains( $uri, '=' ) ) {
[1166] Fix | Delete
$base = $uri . '?';
[1167] Fix | Delete
$query = '';
[1168] Fix | Delete
} else {
[1169] Fix | Delete
$base = '';
[1170] Fix | Delete
$query = $uri;
[1171] Fix | Delete
}
[1172] Fix | Delete
[1173] Fix | Delete
wp_parse_str( $query, $qs );
[1174] Fix | Delete
$qs = urlencode_deep( $qs ); // This re-URL-encodes things that were already in the query string.
[1175] Fix | Delete
if ( is_array( $args[0] ) ) {
[1176] Fix | Delete
foreach ( $args[0] as $k => $v ) {
[1177] Fix | Delete
$qs[ $k ] = $v;
[1178] Fix | Delete
}
[1179] Fix | Delete
} else {
[1180] Fix | Delete
$qs[ $args[0] ] = $args[1];
[1181] Fix | Delete
}
[1182] Fix | Delete
[1183] Fix | Delete
foreach ( $qs as $k => $v ) {
[1184] Fix | Delete
if ( false === $v ) {
[1185] Fix | Delete
unset( $qs[ $k ] );
[1186] Fix | Delete
}
[1187] Fix | Delete
}
[1188] Fix | Delete
[1189] Fix | Delete
$ret = build_query( $qs );
[1190] Fix | Delete
$ret = trim( $ret, '?' );
[1191] Fix | Delete
$ret = preg_replace( '#=(&|$)#', '$1', $ret );
[1192] Fix | Delete
$ret = $protocol . $base . $ret . $frag;
[1193] Fix | Delete
$ret = rtrim( $ret, '?' );
[1194] Fix | Delete
$ret = str_replace( '?#', '#', $ret );
[1195] Fix | Delete
return $ret;
[1196] Fix | Delete
}
[1197] Fix | Delete
[1198] Fix | Delete
/**
[1199] Fix | Delete
* Removes an item or items from a query string.
[1200] Fix | Delete
*
[1201] Fix | Delete
* Important: The return value of remove_query_arg() is not escaped by default. Output should be
[1202] Fix | Delete
* late-escaped with esc_url() or similar to help prevent vulnerability to cross-site scripting
[1203] Fix | Delete
* (XSS) attacks.
[1204] Fix | Delete
*
[1205] Fix | Delete
* @since 1.5.0
[1206] Fix | Delete
*
[1207] Fix | Delete
* @param string|string[] $key Query key or keys to remove.
[1208] Fix | Delete
* @param false|string $query Optional. When false uses the current URL. Default false.
[1209] Fix | Delete
* @return string New URL query string.
[1210] Fix | Delete
*/
[1211] Fix | Delete
function remove_query_arg( $key, $query = false ) {
[1212] Fix | Delete
if ( is_array( $key ) ) { // Removing multiple keys.
[1213] Fix | Delete
foreach ( $key as $k ) {
[1214] Fix | Delete
$query = add_query_arg( $k, false, $query );
[1215] Fix | Delete
}
[1216] Fix | Delete
return $query;
[1217] Fix | Delete
}
[1218] Fix | Delete
return add_query_arg( $key, false, $query );
[1219] Fix | Delete
}
[1220] Fix | Delete
[1221] Fix | Delete
/**
[1222] Fix | Delete
* Returns an array of single-use query variable names that can be removed from a URL.
[1223] Fix | Delete
*
[1224] Fix | Delete
* @since 4.4.0
[1225] Fix | Delete
*
[1226] Fix | Delete
* @return string[] An array of query variable names to remove from the URL.
[1227] Fix | Delete
*/
[1228] Fix | Delete
function wp_removable_query_args() {
[1229] Fix | Delete
$removable_query_args = array(
[1230] Fix | Delete
'activate',
[1231] Fix | Delete
'activated',
[1232] Fix | Delete
'admin_email_remind_later',
[1233] Fix | Delete
'approved',
[1234] Fix | Delete
'core-major-auto-updates-saved',
[1235] Fix | Delete
'deactivate',
[1236] Fix | Delete
'delete_count',
[1237] Fix | Delete
'deleted',
[1238] Fix | Delete
'disabled',
[1239] Fix | Delete
'doing_wp_cron',
[1240] Fix | Delete
'enabled',
[1241] Fix | Delete
'error',
[1242] Fix | Delete
'hotkeys_highlight_first',
[1243] Fix | Delete
'hotkeys_highlight_last',
[1244] Fix | Delete
'ids',
[1245] Fix | Delete
'locked',
[1246] Fix | Delete
'message',
[1247] Fix | Delete
'same',
[1248] Fix | Delete
'saved',
[1249] Fix | Delete
'settings-updated',
[1250] Fix | Delete
'skipped',
[1251] Fix | Delete
'spammed',
[1252] Fix | Delete
'trashed',
[1253] Fix | Delete
'unspammed',
[1254] Fix | Delete
'untrashed',
[1255] Fix | Delete
'update',
[1256] Fix | Delete
'updated',
[1257] Fix | Delete
'wp-post-new-reload',
[1258] Fix | Delete
);
[1259] Fix | Delete
[1260] Fix | Delete
/**
[1261] Fix | Delete
* Filters the list of query variable names to remove.
[1262] Fix | Delete
*
[1263] Fix | Delete
* @since 4.2.0
[1264] Fix | Delete
*
[1265] Fix | Delete
* @param string[] $removable_query_args An array of query variable names to remove from a URL.
[1266] Fix | Delete
*/
[1267] Fix | Delete
return apply_filters( 'removable_query_args', $removable_query_args );
[1268] Fix | Delete
}
[1269] Fix | Delete
[1270] Fix | Delete
/**
[1271] Fix | Delete
* Walks the array while sanitizing the contents.
[1272] Fix | Delete
*
[1273] Fix | Delete
* @since 0.71
[1274] Fix | Delete
* @since 5.5.0 Non-string values are left untouched.
[1275] Fix | Delete
*
[1276] Fix | Delete
* @param array $input_array Array to walk while sanitizing contents.
[1277] Fix | Delete
* @return array Sanitized $input_array.
[1278] Fix | Delete
*/
[1279] Fix | Delete
function add_magic_quotes( $input_array ) {
[1280] Fix | Delete
foreach ( (array) $input_array as $k => $v ) {
[1281] Fix | Delete
if ( is_array( $v ) ) {
[1282] Fix | Delete
$input_array[ $k ] = add_magic_quotes( $v );
[1283] Fix | Delete
} elseif ( is_string( $v ) ) {
[1284] Fix | Delete
$input_array[ $k ] = addslashes( $v );
[1285] Fix | Delete
}
[1286] Fix | Delete
}
[1287] Fix | Delete
[1288] Fix | Delete
return $input_array;
[1289] Fix | Delete
}
[1290] Fix | Delete
[1291] Fix | Delete
/**
[1292] Fix | Delete
* HTTP request for URI to retrieve content.
[1293] Fix | Delete
*
[1294] Fix | Delete
* @since 1.5.1
[1295] Fix | Delete
*
[1296] Fix | Delete
* @see wp_safe_remote_get()
[1297] Fix | Delete
*
[1298] Fix | Delete
* @param string $uri URI/URL of web page to retrieve.
[1299] Fix | Delete
* @return string|false HTTP content. False on failure.
[1300] Fix | Delete
*/
[1301] Fix | Delete
function wp_remote_fopen( $uri ) {
[1302] Fix | Delete
$parsed_url = parse_url( $uri );
[1303] Fix | Delete
[1304] Fix | Delete
if ( ! $parsed_url || ! is_array( $parsed_url ) ) {
[1305] Fix | Delete
return false;
[1306] Fix | Delete
}
[1307] Fix | Delete
[1308] Fix | Delete
$options = array();
[1309] Fix | Delete
$options['timeout'] = 10;
[1310] Fix | Delete
[1311] Fix | Delete
$response = wp_safe_remote_get( $uri, $options );
[1312] Fix | Delete
[1313] Fix | Delete
if ( is_wp_error( $response ) ) {
[1314] Fix | Delete
return false;
[1315] Fix | Delete
}
[1316] Fix | Delete
[1317] Fix | Delete
return wp_remote_retrieve_body( $response );
[1318] Fix | Delete
}
[1319] Fix | Delete
[1320] Fix | Delete
/**
[1321] Fix | Delete
* Sets up the WordPress query.
[1322] Fix | Delete
*
[1323] Fix | Delete
* @since 2.0.0
[1324] Fix | Delete
*
[1325] Fix | Delete
* @global WP $wp Current WordPress environment instance.
[1326] Fix | Delete
* @global WP_Query $wp_query WordPress Query object.
[1327] Fix | Delete
* @global WP_Query $wp_the_query Copy of the WordPress Query object.
[1328] Fix | Delete
*
[1329] Fix | Delete
* @param string|array $query_vars Default WP_Query arguments.
[1330] Fix | Delete
*/
[1331] Fix | Delete
function wp( $query_vars = '' ) {
[1332] Fix | Delete
global $wp, $wp_query, $wp_the_query;
[1333] Fix | Delete
[1334] Fix | Delete
$wp->main( $query_vars );
[1335] Fix | Delete
[1336] Fix | Delete
if ( ! isset( $wp_the_query ) ) {
[1337] Fix | Delete
$wp_the_query = $wp_query;
[1338] Fix | Delete
}
[1339] Fix | Delete
}
[1340] Fix | Delete
[1341] Fix | Delete
/**
[1342] Fix | Delete
* Retrieves the description for the HTTP status.
[1343] Fix | Delete
*
[1344] Fix | Delete
* @since 2.3.0
[1345] Fix | Delete
* @since 3.9.0 Added status codes 418, 428, 429, 431, and 511.
[1346] Fix | Delete
* @since 4.5.0 Added status codes 308, 421, and 451.
[1347] Fix | Delete
* @since 5.1.0 Added status code 103.
[1348] Fix | Delete
* @since 6.6.0 Added status code 425.
[1349] Fix | Delete
*
[1350] Fix | Delete
* @global array $wp_header_to_desc
[1351] Fix | Delete
*
[1352] Fix | Delete
* @param int $code HTTP status code.
[1353] Fix | Delete
* @return string Status description if found, an empty string otherwise.
[1354] Fix | Delete
*/
[1355] Fix | Delete
function get_status_header_desc( $code ) {
[1356] Fix | Delete
global $wp_header_to_desc;
[1357] Fix | Delete
[1358] Fix | Delete
$code = absint( $code );
[1359] Fix | Delete
[1360] Fix | Delete
if ( ! isset( $wp_header_to_desc ) ) {
[1361] Fix | Delete
$wp_header_to_desc = array(
[1362] Fix | Delete
100 => 'Continue',
[1363] Fix | Delete
101 => 'Switching Protocols',
[1364] Fix | Delete
102 => 'Processing',
[1365] Fix | Delete
103 => 'Early Hints',
[1366] Fix | Delete
[1367] Fix | Delete
200 => 'OK',
[1368] Fix | Delete
201 => 'Created',
[1369] Fix | Delete
202 => 'Accepted',
[1370] Fix | Delete
203 => 'Non-Authoritative Information',
[1371] Fix | Delete
204 => 'No Content',
[1372] Fix | Delete
205 => 'Reset Content',
[1373] Fix | Delete
206 => 'Partial Content',
[1374] Fix | Delete
207 => 'Multi-Status',
[1375] Fix | Delete
226 => 'IM Used',
[1376] Fix | Delete
[1377] Fix | Delete
300 => 'Multiple Choices',
[1378] Fix | Delete
301 => 'Moved Permanently',
[1379] Fix | Delete
302 => 'Found',
[1380] Fix | Delete
303 => 'See Other',
[1381] Fix | Delete
304 => 'Not Modified',
[1382] Fix | Delete
305 => 'Use Proxy',
[1383] Fix | Delete
306 => 'Reserved',
[1384] Fix | Delete
307 => 'Temporary Redirect',
[1385] Fix | Delete
308 => 'Permanent Redirect',
[1386] Fix | Delete
[1387] Fix | Delete
400 => 'Bad Request',
[1388] Fix | Delete
401 => 'Unauthorized',
[1389] Fix | Delete
402 => 'Payment Required',
[1390] Fix | Delete
403 => 'Forbidden',
[1391] Fix | Delete
404 => 'Not Found',
[1392] Fix | Delete
405 => 'Method Not Allowed',
[1393] Fix | Delete
406 => 'Not Acceptable',
[1394] Fix | Delete
407 => 'Proxy Authentication Required',
[1395] Fix | Delete
408 => 'Request Timeout',
[1396] Fix | Delete
409 => 'Conflict',
[1397] Fix | Delete
410 => 'Gone',
[1398] Fix | Delete
411 => 'Length Required',
[1399] Fix | Delete
412 => 'Precondition Failed',
[1400] Fix | Delete
413 => 'Request Entity Too Large',
[1401] Fix | Delete
414 => 'Request-URI Too Long',
[1402] Fix | Delete
415 => 'Unsupported Media Type',
[1403] Fix | Delete
416 => 'Requested Range Not Satisfiable',
[1404] Fix | Delete
417 => 'Expectation Failed',
[1405] Fix | Delete
418 => 'I\'m a teapot',
[1406] Fix | Delete
421 => 'Misdirected Request',
[1407] Fix | Delete
422 => 'Unprocessable Entity',
[1408] Fix | Delete
423 => 'Locked',
[1409] Fix | Delete
424 => 'Failed Dependency',
[1410] Fix | Delete
425 => 'Too Early',
[1411] Fix | Delete
426 => 'Upgrade Required',
[1412] Fix | Delete
428 => 'Precondition Required',
[1413] Fix | Delete
429 => 'Too Many Requests',
[1414] Fix | Delete
431 => 'Request Header Fields Too Large',
[1415] Fix | Delete
451 => 'Unavailable For Legal Reasons',
[1416] Fix | Delete
[1417] Fix | Delete
500 => 'Internal Server Error',
[1418] Fix | Delete
501 => 'Not Implemented',
[1419] Fix | Delete
502 => 'Bad Gateway',
[1420] Fix | Delete
503 => 'Service Unavailable',
[1421] Fix | Delete
504 => 'Gateway Timeout',
[1422] Fix | Delete
505 => 'HTTP Version Not Supported',
[1423] Fix | Delete
506 => 'Variant Also Negotiates',
[1424] Fix | Delete
507 => 'Insufficient Storage',
[1425] Fix | Delete
510 => 'Not Extended',
[1426] Fix | Delete
511 => 'Network Authentication Required',
[1427] Fix | Delete
);
[1428] Fix | Delete
}
[1429] Fix | Delete
[1430] Fix | Delete
if ( isset( $wp_header_to_desc[ $code ] ) ) {
[1431] Fix | Delete
return $wp_header_to_desc[ $code ];
[1432] Fix | Delete
} else {
[1433] Fix | Delete
return '';
[1434] Fix | Delete
}
[1435] Fix | Delete
}
[1436] Fix | Delete
[1437] Fix | Delete
/**
[1438] Fix | Delete
* Sets HTTP status header.
[1439] Fix | Delete
*
[1440] Fix | Delete
* @since 2.0.0
[1441] Fix | Delete
* @since 4.4.0 Added the `$description` parameter.
[1442] Fix | Delete
*
[1443] Fix | Delete
* @see get_status_header_desc()
[1444] Fix | Delete
*
[1445] Fix | Delete
* @param int $code HTTP status code.
[1446] Fix | Delete
* @param string $description Optional. A custom description for the HTTP status.
[1447] Fix | Delete
* Defaults to the result of get_status_header_desc() for the given code.
[1448] Fix | Delete
*/
[1449] Fix | Delete
function status_header( $code, $description = '' ) {
[1450] Fix | Delete
if ( ! $description ) {
[1451] Fix | Delete
$description = get_status_header_desc( $code );
[1452] Fix | Delete
}
[1453] Fix | Delete
[1454] Fix | Delete
if ( empty( $description ) ) {
[1455] Fix | Delete
return;
[1456] Fix | Delete
}
[1457] Fix | Delete
[1458] Fix | Delete
$protocol = wp_get_server_protocol();
[1459] Fix | Delete
$status_header = "$protocol $code $description";
[1460] Fix | Delete
if ( function_exists( 'apply_filters' ) ) {
[1461] Fix | Delete
[1462] Fix | Delete
/**
[1463] Fix | Delete
* Filters an HTTP status header.
[1464] Fix | Delete
*
[1465] Fix | Delete
* @since 2.2.0
[1466] Fix | Delete
*
[1467] Fix | Delete
* @param string $status_header HTTP status header.
[1468] Fix | Delete
* @param int $code HTTP status code.
[1469] Fix | Delete
* @param string $description Description for the status code.
[1470] Fix | Delete
* @param string $protocol Server protocol.
[1471] Fix | Delete
*/
[1472] Fix | Delete
$status_header = apply_filters( 'status_header', $status_header, $code, $description, $protocol );
[1473] Fix | Delete
}
[1474] Fix | Delete
[1475] Fix | Delete
if ( ! headers_sent() ) {
[1476] Fix | Delete
header( $status_header, true, $code );
[1477] Fix | Delete
}
[1478] Fix | Delete
}
[1479] Fix | Delete
[1480] Fix | Delete
/**
[1481] Fix | Delete
* Gets the HTTP header information to prevent caching.
[1482] Fix | Delete
*
[1483] Fix | Delete
* The several different headers cover the different ways cache prevention
[1484] Fix | Delete
* is handled by different browsers.
[1485] Fix | Delete
*
[1486] Fix | Delete
* @since 2.8.0
[1487] Fix | Delete
* @since 6.3.0 The `Cache-Control` header for logged in users now includes the
[1488] Fix | Delete
* `no-store` and `private` directives.
[1489] Fix | Delete
*
[1490] Fix | Delete
* @return array The associative array of header names and field values.
[1491] Fix | Delete
*/
[1492] Fix | Delete
function wp_get_nocache_headers() {
[1493] Fix | Delete
$cache_control = ( function_exists( 'is_user_logged_in' ) && is_user_logged_in() )
[1494] Fix | Delete
? 'no-cache, must-revalidate, max-age=0, no-store, private'
[1495] Fix | Delete
: 'no-cache, must-revalidate, max-age=0';
[1496] Fix | Delete
[1497] Fix | Delete
$headers = array(
[1498] Fix | Delete
'Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT',
[1499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function