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-admin/includes
File: post.php
[1000] Fix | Delete
$metakeyselect = isset( $_POST['metakeyselect'] ) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : '';
[1001] Fix | Delete
$metakeyinput = isset( $_POST['metakeyinput'] ) ? wp_unslash( trim( $_POST['metakeyinput'] ) ) : '';
[1002] Fix | Delete
$metavalue = isset( $_POST['metavalue'] ) ? $_POST['metavalue'] : '';
[1003] Fix | Delete
if ( is_string( $metavalue ) ) {
[1004] Fix | Delete
$metavalue = trim( $metavalue );
[1005] Fix | Delete
}
[1006] Fix | Delete
[1007] Fix | Delete
if ( ( ( '#NONE#' !== $metakeyselect ) && ! empty( $metakeyselect ) ) || ! empty( $metakeyinput ) ) {
[1008] Fix | Delete
/*
[1009] Fix | Delete
* We have a key/value pair. If both the select and the input
[1010] Fix | Delete
* for the key have data, the input takes precedence.
[1011] Fix | Delete
*/
[1012] Fix | Delete
if ( '#NONE#' !== $metakeyselect ) {
[1013] Fix | Delete
$metakey = $metakeyselect;
[1014] Fix | Delete
}
[1015] Fix | Delete
[1016] Fix | Delete
if ( $metakeyinput ) {
[1017] Fix | Delete
$metakey = $metakeyinput; // Default.
[1018] Fix | Delete
}
[1019] Fix | Delete
[1020] Fix | Delete
if ( is_protected_meta( $metakey, 'post' ) || ! current_user_can( 'add_post_meta', $post_id, $metakey ) ) {
[1021] Fix | Delete
return false;
[1022] Fix | Delete
}
[1023] Fix | Delete
[1024] Fix | Delete
$metakey = wp_slash( $metakey );
[1025] Fix | Delete
[1026] Fix | Delete
return add_post_meta( $post_id, $metakey, $metavalue );
[1027] Fix | Delete
}
[1028] Fix | Delete
[1029] Fix | Delete
return false;
[1030] Fix | Delete
}
[1031] Fix | Delete
[1032] Fix | Delete
/**
[1033] Fix | Delete
* Deletes post meta data by meta ID.
[1034] Fix | Delete
*
[1035] Fix | Delete
* @since 1.2.0
[1036] Fix | Delete
*
[1037] Fix | Delete
* @param int $mid
[1038] Fix | Delete
* @return bool
[1039] Fix | Delete
*/
[1040] Fix | Delete
function delete_meta( $mid ) {
[1041] Fix | Delete
return delete_metadata_by_mid( 'post', $mid );
[1042] Fix | Delete
}
[1043] Fix | Delete
[1044] Fix | Delete
/**
[1045] Fix | Delete
* Returns a list of previously defined keys.
[1046] Fix | Delete
*
[1047] Fix | Delete
* @since 1.2.0
[1048] Fix | Delete
*
[1049] Fix | Delete
* @global wpdb $wpdb WordPress database abstraction object.
[1050] Fix | Delete
*
[1051] Fix | Delete
* @return string[] Array of meta key names.
[1052] Fix | Delete
*/
[1053] Fix | Delete
function get_meta_keys() {
[1054] Fix | Delete
global $wpdb;
[1055] Fix | Delete
[1056] Fix | Delete
$keys = $wpdb->get_col(
[1057] Fix | Delete
"SELECT meta_key
[1058] Fix | Delete
FROM $wpdb->postmeta
[1059] Fix | Delete
GROUP BY meta_key
[1060] Fix | Delete
ORDER BY meta_key"
[1061] Fix | Delete
);
[1062] Fix | Delete
[1063] Fix | Delete
return $keys;
[1064] Fix | Delete
}
[1065] Fix | Delete
[1066] Fix | Delete
/**
[1067] Fix | Delete
* Returns post meta data by meta ID.
[1068] Fix | Delete
*
[1069] Fix | Delete
* @since 2.1.0
[1070] Fix | Delete
*
[1071] Fix | Delete
* @param int $mid
[1072] Fix | Delete
* @return object|bool
[1073] Fix | Delete
*/
[1074] Fix | Delete
function get_post_meta_by_id( $mid ) {
[1075] Fix | Delete
return get_metadata_by_mid( 'post', $mid );
[1076] Fix | Delete
}
[1077] Fix | Delete
[1078] Fix | Delete
/**
[1079] Fix | Delete
* Returns meta data for the given post ID.
[1080] Fix | Delete
*
[1081] Fix | Delete
* @since 1.2.0
[1082] Fix | Delete
*
[1083] Fix | Delete
* @global wpdb $wpdb WordPress database abstraction object.
[1084] Fix | Delete
*
[1085] Fix | Delete
* @param int $post_id A post ID.
[1086] Fix | Delete
* @return array[] {
[1087] Fix | Delete
* Array of meta data arrays for the given post ID.
[1088] Fix | Delete
*
[1089] Fix | Delete
* @type array ...$0 {
[1090] Fix | Delete
* Associative array of meta data.
[1091] Fix | Delete
*
[1092] Fix | Delete
* @type string $meta_key Meta key.
[1093] Fix | Delete
* @type mixed $meta_value Meta value.
[1094] Fix | Delete
* @type string $meta_id Meta ID as a numeric string.
[1095] Fix | Delete
* @type string $post_id Post ID as a numeric string.
[1096] Fix | Delete
* }
[1097] Fix | Delete
* }
[1098] Fix | Delete
*/
[1099] Fix | Delete
function has_meta( $post_id ) {
[1100] Fix | Delete
global $wpdb;
[1101] Fix | Delete
[1102] Fix | Delete
return $wpdb->get_results(
[1103] Fix | Delete
$wpdb->prepare(
[1104] Fix | Delete
"SELECT meta_key, meta_value, meta_id, post_id
[1105] Fix | Delete
FROM $wpdb->postmeta WHERE post_id = %d
[1106] Fix | Delete
ORDER BY meta_key,meta_id",
[1107] Fix | Delete
$post_id
[1108] Fix | Delete
),
[1109] Fix | Delete
ARRAY_A
[1110] Fix | Delete
);
[1111] Fix | Delete
}
[1112] Fix | Delete
[1113] Fix | Delete
/**
[1114] Fix | Delete
* Updates post meta data by meta ID.
[1115] Fix | Delete
*
[1116] Fix | Delete
* @since 1.2.0
[1117] Fix | Delete
*
[1118] Fix | Delete
* @param int $meta_id Meta ID.
[1119] Fix | Delete
* @param string $meta_key Meta key. Expect slashed.
[1120] Fix | Delete
* @param string $meta_value Meta value. Expect slashed.
[1121] Fix | Delete
* @return bool
[1122] Fix | Delete
*/
[1123] Fix | Delete
function update_meta( $meta_id, $meta_key, $meta_value ) {
[1124] Fix | Delete
$meta_key = wp_unslash( $meta_key );
[1125] Fix | Delete
$meta_value = wp_unslash( $meta_value );
[1126] Fix | Delete
[1127] Fix | Delete
return update_metadata_by_mid( 'post', $meta_id, $meta_value, $meta_key );
[1128] Fix | Delete
}
[1129] Fix | Delete
[1130] Fix | Delete
//
[1131] Fix | Delete
// Private.
[1132] Fix | Delete
//
[1133] Fix | Delete
[1134] Fix | Delete
/**
[1135] Fix | Delete
* Replaces hrefs of attachment anchors with up-to-date permalinks.
[1136] Fix | Delete
*
[1137] Fix | Delete
* @since 2.3.0
[1138] Fix | Delete
* @access private
[1139] Fix | Delete
*
[1140] Fix | Delete
* @param int|WP_Post $post Post ID or post object.
[1141] Fix | Delete
* @return void|int|WP_Error Void if nothing fixed. 0 or WP_Error on update failure. The post ID on update success.
[1142] Fix | Delete
*/
[1143] Fix | Delete
function _fix_attachment_links( $post ) {
[1144] Fix | Delete
$post = get_post( $post, ARRAY_A );
[1145] Fix | Delete
$content = $post['post_content'];
[1146] Fix | Delete
[1147] Fix | Delete
// Don't run if no pretty permalinks or post is not published, scheduled, or privately published.
[1148] Fix | Delete
if ( ! get_option( 'permalink_structure' ) || ! in_array( $post['post_status'], array( 'publish', 'future', 'private' ), true ) ) {
[1149] Fix | Delete
return;
[1150] Fix | Delete
}
[1151] Fix | Delete
[1152] Fix | Delete
// Short if there aren't any links or no '?attachment_id=' strings (strpos cannot be zero).
[1153] Fix | Delete
if ( ! strpos( $content, '?attachment_id=' ) || ! preg_match_all( '/<a ([^>]+)>[\s\S]+?<\/a>/', $content, $link_matches ) ) {
[1154] Fix | Delete
return;
[1155] Fix | Delete
}
[1156] Fix | Delete
[1157] Fix | Delete
$site_url = get_bloginfo( 'url' );
[1158] Fix | Delete
$site_url = substr( $site_url, (int) strpos( $site_url, '://' ) ); // Remove the http(s).
[1159] Fix | Delete
$replace = '';
[1160] Fix | Delete
[1161] Fix | Delete
foreach ( $link_matches[1] as $key => $value ) {
[1162] Fix | Delete
if ( ! strpos( $value, '?attachment_id=' ) || ! strpos( $value, 'wp-att-' )
[1163] Fix | Delete
|| ! preg_match( '/href=(["\'])[^"\']*\?attachment_id=(\d+)[^"\']*\\1/', $value, $url_match )
[1164] Fix | Delete
|| ! preg_match( '/rel=["\'][^"\']*wp-att-(\d+)/', $value, $rel_match ) ) {
[1165] Fix | Delete
continue;
[1166] Fix | Delete
}
[1167] Fix | Delete
[1168] Fix | Delete
$quote = $url_match[1]; // The quote (single or double).
[1169] Fix | Delete
$url_id = (int) $url_match[2];
[1170] Fix | Delete
$rel_id = (int) $rel_match[1];
[1171] Fix | Delete
[1172] Fix | Delete
if ( ! $url_id || ! $rel_id || $url_id != $rel_id || ! str_contains( $url_match[0], $site_url ) ) {
[1173] Fix | Delete
continue;
[1174] Fix | Delete
}
[1175] Fix | Delete
[1176] Fix | Delete
$link = $link_matches[0][ $key ];
[1177] Fix | Delete
$replace = str_replace( $url_match[0], 'href=' . $quote . get_attachment_link( $url_id ) . $quote, $link );
[1178] Fix | Delete
[1179] Fix | Delete
$content = str_replace( $link, $replace, $content );
[1180] Fix | Delete
}
[1181] Fix | Delete
[1182] Fix | Delete
if ( $replace ) {
[1183] Fix | Delete
$post['post_content'] = $content;
[1184] Fix | Delete
// Escape data pulled from DB.
[1185] Fix | Delete
$post = add_magic_quotes( $post );
[1186] Fix | Delete
[1187] Fix | Delete
return wp_update_post( $post );
[1188] Fix | Delete
}
[1189] Fix | Delete
}
[1190] Fix | Delete
[1191] Fix | Delete
/**
[1192] Fix | Delete
* Returns all the possible statuses for a post type.
[1193] Fix | Delete
*
[1194] Fix | Delete
* @since 2.5.0
[1195] Fix | Delete
*
[1196] Fix | Delete
* @param string $type The post_type you want the statuses for. Default 'post'.
[1197] Fix | Delete
* @return string[] An array of all the statuses for the supplied post type.
[1198] Fix | Delete
*/
[1199] Fix | Delete
function get_available_post_statuses( $type = 'post' ) {
[1200] Fix | Delete
$statuses = wp_count_posts( $type );
[1201] Fix | Delete
[1202] Fix | Delete
return array_keys( get_object_vars( $statuses ) );
[1203] Fix | Delete
}
[1204] Fix | Delete
[1205] Fix | Delete
/**
[1206] Fix | Delete
* Runs the query to fetch the posts for listing on the edit posts page.
[1207] Fix | Delete
*
[1208] Fix | Delete
* @since 2.5.0
[1209] Fix | Delete
*
[1210] Fix | Delete
* @param array|false $q Optional. Array of query variables to use to build the query.
[1211] Fix | Delete
* Defaults to the `$_GET` superglobal.
[1212] Fix | Delete
* @return array
[1213] Fix | Delete
*/
[1214] Fix | Delete
function wp_edit_posts_query( $q = false ) {
[1215] Fix | Delete
if ( false === $q ) {
[1216] Fix | Delete
$q = $_GET;
[1217] Fix | Delete
}
[1218] Fix | Delete
[1219] Fix | Delete
$q['m'] = isset( $q['m'] ) ? (int) $q['m'] : 0;
[1220] Fix | Delete
$q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0;
[1221] Fix | Delete
[1222] Fix | Delete
$post_statuses = get_post_stati();
[1223] Fix | Delete
[1224] Fix | Delete
if ( isset( $q['post_type'] ) && in_array( $q['post_type'], get_post_types(), true ) ) {
[1225] Fix | Delete
$post_type = $q['post_type'];
[1226] Fix | Delete
} else {
[1227] Fix | Delete
$post_type = 'post';
[1228] Fix | Delete
}
[1229] Fix | Delete
[1230] Fix | Delete
$avail_post_stati = get_available_post_statuses( $post_type );
[1231] Fix | Delete
$post_status = '';
[1232] Fix | Delete
$perm = '';
[1233] Fix | Delete
[1234] Fix | Delete
if ( isset( $q['post_status'] ) && in_array( $q['post_status'], $post_statuses, true ) ) {
[1235] Fix | Delete
$post_status = $q['post_status'];
[1236] Fix | Delete
$perm = 'readable';
[1237] Fix | Delete
}
[1238] Fix | Delete
[1239] Fix | Delete
$orderby = '';
[1240] Fix | Delete
[1241] Fix | Delete
if ( isset( $q['orderby'] ) ) {
[1242] Fix | Delete
$orderby = $q['orderby'];
[1243] Fix | Delete
} elseif ( isset( $q['post_status'] ) && in_array( $q['post_status'], array( 'pending', 'draft' ), true ) ) {
[1244] Fix | Delete
$orderby = 'modified';
[1245] Fix | Delete
}
[1246] Fix | Delete
[1247] Fix | Delete
$order = '';
[1248] Fix | Delete
[1249] Fix | Delete
if ( isset( $q['order'] ) ) {
[1250] Fix | Delete
$order = $q['order'];
[1251] Fix | Delete
} elseif ( isset( $q['post_status'] ) && 'pending' === $q['post_status'] ) {
[1252] Fix | Delete
$order = 'ASC';
[1253] Fix | Delete
}
[1254] Fix | Delete
[1255] Fix | Delete
$per_page = "edit_{$post_type}_per_page";
[1256] Fix | Delete
$posts_per_page = (int) get_user_option( $per_page );
[1257] Fix | Delete
if ( empty( $posts_per_page ) || $posts_per_page < 1 ) {
[1258] Fix | Delete
$posts_per_page = 20;
[1259] Fix | Delete
}
[1260] Fix | Delete
[1261] Fix | Delete
/**
[1262] Fix | Delete
* Filters the number of items per page to show for a specific 'per_page' type.
[1263] Fix | Delete
*
[1264] Fix | Delete
* The dynamic portion of the hook name, `$post_type`, refers to the post type.
[1265] Fix | Delete
*
[1266] Fix | Delete
* Possible hook names include:
[1267] Fix | Delete
*
[1268] Fix | Delete
* - `edit_post_per_page`
[1269] Fix | Delete
* - `edit_page_per_page`
[1270] Fix | Delete
* - `edit_attachment_per_page`
[1271] Fix | Delete
*
[1272] Fix | Delete
* @since 3.0.0
[1273] Fix | Delete
*
[1274] Fix | Delete
* @param int $posts_per_page Number of posts to display per page for the given post
[1275] Fix | Delete
* type. Default 20.
[1276] Fix | Delete
*/
[1277] Fix | Delete
$posts_per_page = apply_filters( "edit_{$post_type}_per_page", $posts_per_page );
[1278] Fix | Delete
[1279] Fix | Delete
/**
[1280] Fix | Delete
* Filters the number of posts displayed per page when specifically listing "posts".
[1281] Fix | Delete
*
[1282] Fix | Delete
* @since 2.8.0
[1283] Fix | Delete
*
[1284] Fix | Delete
* @param int $posts_per_page Number of posts to be displayed. Default 20.
[1285] Fix | Delete
* @param string $post_type The post type.
[1286] Fix | Delete
*/
[1287] Fix | Delete
$posts_per_page = apply_filters( 'edit_posts_per_page', $posts_per_page, $post_type );
[1288] Fix | Delete
[1289] Fix | Delete
$query = compact( 'post_type', 'post_status', 'perm', 'order', 'orderby', 'posts_per_page' );
[1290] Fix | Delete
[1291] Fix | Delete
// Hierarchical types require special args.
[1292] Fix | Delete
if ( is_post_type_hierarchical( $post_type ) && empty( $orderby ) ) {
[1293] Fix | Delete
$query['orderby'] = 'menu_order title';
[1294] Fix | Delete
$query['order'] = 'asc';
[1295] Fix | Delete
$query['posts_per_page'] = -1;
[1296] Fix | Delete
$query['posts_per_archive_page'] = -1;
[1297] Fix | Delete
$query['fields'] = 'id=>parent';
[1298] Fix | Delete
}
[1299] Fix | Delete
[1300] Fix | Delete
if ( ! empty( $q['show_sticky'] ) ) {
[1301] Fix | Delete
$query['post__in'] = (array) get_option( 'sticky_posts' );
[1302] Fix | Delete
}
[1303] Fix | Delete
[1304] Fix | Delete
wp( $query );
[1305] Fix | Delete
[1306] Fix | Delete
return $avail_post_stati;
[1307] Fix | Delete
}
[1308] Fix | Delete
[1309] Fix | Delete
/**
[1310] Fix | Delete
* Returns the query variables for the current attachments request.
[1311] Fix | Delete
*
[1312] Fix | Delete
* @since 4.2.0
[1313] Fix | Delete
*
[1314] Fix | Delete
* @param array|false $q Optional. Array of query variables to use to build the query.
[1315] Fix | Delete
* Defaults to the `$_GET` superglobal.
[1316] Fix | Delete
* @return array The parsed query vars.
[1317] Fix | Delete
*/
[1318] Fix | Delete
function wp_edit_attachments_query_vars( $q = false ) {
[1319] Fix | Delete
if ( false === $q ) {
[1320] Fix | Delete
$q = $_GET;
[1321] Fix | Delete
}
[1322] Fix | Delete
$q['m'] = isset( $q['m'] ) ? (int) $q['m'] : 0;
[1323] Fix | Delete
$q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0;
[1324] Fix | Delete
$q['post_type'] = 'attachment';
[1325] Fix | Delete
$post_type = get_post_type_object( 'attachment' );
[1326] Fix | Delete
$states = 'inherit';
[1327] Fix | Delete
if ( current_user_can( $post_type->cap->read_private_posts ) ) {
[1328] Fix | Delete
$states .= ',private';
[1329] Fix | Delete
}
[1330] Fix | Delete
[1331] Fix | Delete
$q['post_status'] = isset( $q['status'] ) && 'trash' === $q['status'] ? 'trash' : $states;
[1332] Fix | Delete
$q['post_status'] = isset( $q['attachment-filter'] ) && 'trash' === $q['attachment-filter'] ? 'trash' : $states;
[1333] Fix | Delete
[1334] Fix | Delete
$media_per_page = (int) get_user_option( 'upload_per_page' );
[1335] Fix | Delete
if ( empty( $media_per_page ) || $media_per_page < 1 ) {
[1336] Fix | Delete
$media_per_page = 20;
[1337] Fix | Delete
}
[1338] Fix | Delete
[1339] Fix | Delete
/**
[1340] Fix | Delete
* Filters the number of items to list per page when listing media items.
[1341] Fix | Delete
*
[1342] Fix | Delete
* @since 2.9.0
[1343] Fix | Delete
*
[1344] Fix | Delete
* @param int $media_per_page Number of media to list. Default 20.
[1345] Fix | Delete
*/
[1346] Fix | Delete
$q['posts_per_page'] = apply_filters( 'upload_per_page', $media_per_page );
[1347] Fix | Delete
[1348] Fix | Delete
$post_mime_types = get_post_mime_types();
[1349] Fix | Delete
if ( isset( $q['post_mime_type'] ) && ! array_intersect( (array) $q['post_mime_type'], array_keys( $post_mime_types ) ) ) {
[1350] Fix | Delete
unset( $q['post_mime_type'] );
[1351] Fix | Delete
}
[1352] Fix | Delete
[1353] Fix | Delete
foreach ( array_keys( $post_mime_types ) as $type ) {
[1354] Fix | Delete
if ( isset( $q['attachment-filter'] ) && "post_mime_type:$type" === $q['attachment-filter'] ) {
[1355] Fix | Delete
$q['post_mime_type'] = $type;
[1356] Fix | Delete
break;
[1357] Fix | Delete
}
[1358] Fix | Delete
}
[1359] Fix | Delete
[1360] Fix | Delete
if ( isset( $q['detached'] ) || ( isset( $q['attachment-filter'] ) && 'detached' === $q['attachment-filter'] ) ) {
[1361] Fix | Delete
$q['post_parent'] = 0;
[1362] Fix | Delete
}
[1363] Fix | Delete
[1364] Fix | Delete
if ( isset( $q['mine'] ) || ( isset( $q['attachment-filter'] ) && 'mine' === $q['attachment-filter'] ) ) {
[1365] Fix | Delete
$q['author'] = get_current_user_id();
[1366] Fix | Delete
}
[1367] Fix | Delete
[1368] Fix | Delete
// Filter query clauses to include filenames.
[1369] Fix | Delete
if ( isset( $q['s'] ) ) {
[1370] Fix | Delete
add_filter( 'wp_allow_query_attachment_by_filename', '__return_true' );
[1371] Fix | Delete
}
[1372] Fix | Delete
[1373] Fix | Delete
return $q;
[1374] Fix | Delete
}
[1375] Fix | Delete
[1376] Fix | Delete
/**
[1377] Fix | Delete
* Executes a query for attachments. An array of WP_Query arguments
[1378] Fix | Delete
* can be passed in, which will override the arguments set by this function.
[1379] Fix | Delete
*
[1380] Fix | Delete
* @since 2.5.0
[1381] Fix | Delete
*
[1382] Fix | Delete
* @param array|false $q Optional. Array of query variables to use to build the query.
[1383] Fix | Delete
* Defaults to the `$_GET` superglobal.
[1384] Fix | Delete
* @return array
[1385] Fix | Delete
*/
[1386] Fix | Delete
function wp_edit_attachments_query( $q = false ) {
[1387] Fix | Delete
wp( wp_edit_attachments_query_vars( $q ) );
[1388] Fix | Delete
[1389] Fix | Delete
$post_mime_types = get_post_mime_types();
[1390] Fix | Delete
$avail_post_mime_types = get_available_post_mime_types( 'attachment' );
[1391] Fix | Delete
[1392] Fix | Delete
return array( $post_mime_types, $avail_post_mime_types );
[1393] Fix | Delete
}
[1394] Fix | Delete
[1395] Fix | Delete
/**
[1396] Fix | Delete
* Returns the list of classes to be used by a meta box.
[1397] Fix | Delete
*
[1398] Fix | Delete
* @since 2.5.0
[1399] Fix | Delete
*
[1400] Fix | Delete
* @param string $box_id Meta box ID (used in the 'id' attribute for the meta box).
[1401] Fix | Delete
* @param string $screen_id The screen on which the meta box is shown.
[1402] Fix | Delete
* @return string Space-separated string of class names.
[1403] Fix | Delete
*/
[1404] Fix | Delete
function postbox_classes( $box_id, $screen_id ) {
[1405] Fix | Delete
if ( isset( $_GET['edit'] ) && $_GET['edit'] === $box_id ) {
[1406] Fix | Delete
$classes = array( '' );
[1407] Fix | Delete
} elseif ( get_user_option( 'closedpostboxes_' . $screen_id ) ) {
[1408] Fix | Delete
$closed = get_user_option( 'closedpostboxes_' . $screen_id );
[1409] Fix | Delete
if ( ! is_array( $closed ) ) {
[1410] Fix | Delete
$classes = array( '' );
[1411] Fix | Delete
} else {
[1412] Fix | Delete
$classes = in_array( $box_id, $closed, true ) ? array( 'closed' ) : array( '' );
[1413] Fix | Delete
}
[1414] Fix | Delete
} else {
[1415] Fix | Delete
$classes = array( '' );
[1416] Fix | Delete
}
[1417] Fix | Delete
[1418] Fix | Delete
/**
[1419] Fix | Delete
* Filters the postbox classes for a specific screen and box ID combo.
[1420] Fix | Delete
*
[1421] Fix | Delete
* The dynamic portions of the hook name, `$screen_id` and `$box_id`, refer to
[1422] Fix | Delete
* the screen ID and meta box ID, respectively.
[1423] Fix | Delete
*
[1424] Fix | Delete
* @since 3.2.0
[1425] Fix | Delete
*
[1426] Fix | Delete
* @param string[] $classes An array of postbox classes.
[1427] Fix | Delete
*/
[1428] Fix | Delete
$classes = apply_filters( "postbox_classes_{$screen_id}_{$box_id}", $classes );
[1429] Fix | Delete
[1430] Fix | Delete
return implode( ' ', $classes );
[1431] Fix | Delete
}
[1432] Fix | Delete
[1433] Fix | Delete
/**
[1434] Fix | Delete
* Returns a sample permalink based on the post name.
[1435] Fix | Delete
*
[1436] Fix | Delete
* @since 2.5.0
[1437] Fix | Delete
*
[1438] Fix | Delete
* @param int|WP_Post $post Post ID or post object.
[1439] Fix | Delete
* @param string|null $title Optional. Title to override the post's current title
[1440] Fix | Delete
* when generating the post name. Default null.
[1441] Fix | Delete
* @param string|null $name Optional. Name to override the post name. Default null.
[1442] Fix | Delete
* @return array {
[1443] Fix | Delete
* Array containing the sample permalink with placeholder for the post name, and the post name.
[1444] Fix | Delete
*
[1445] Fix | Delete
* @type string $0 The permalink with placeholder for the post name.
[1446] Fix | Delete
* @type string $1 The post name.
[1447] Fix | Delete
* }
[1448] Fix | Delete
*/
[1449] Fix | Delete
function get_sample_permalink( $post, $title = null, $name = null ) {
[1450] Fix | Delete
$post = get_post( $post );
[1451] Fix | Delete
[1452] Fix | Delete
if ( ! $post ) {
[1453] Fix | Delete
return array( '', '' );
[1454] Fix | Delete
}
[1455] Fix | Delete
[1456] Fix | Delete
$ptype = get_post_type_object( $post->post_type );
[1457] Fix | Delete
[1458] Fix | Delete
$original_status = $post->post_status;
[1459] Fix | Delete
$original_date = $post->post_date;
[1460] Fix | Delete
$original_name = $post->post_name;
[1461] Fix | Delete
$original_filter = $post->filter;
[1462] Fix | Delete
[1463] Fix | Delete
// Hack: get_permalink() would return plain permalink for drafts, so we will fake that our post is published.
[1464] Fix | Delete
if ( in_array( $post->post_status, array( 'auto-draft', 'draft', 'pending', 'future' ), true ) ) {
[1465] Fix | Delete
$post->post_status = 'publish';
[1466] Fix | Delete
$post->post_name = sanitize_title( $post->post_name ? $post->post_name : $post->post_title, $post->ID );
[1467] Fix | Delete
}
[1468] Fix | Delete
[1469] Fix | Delete
/*
[1470] Fix | Delete
* If the user wants to set a new name -- override the current one.
[1471] Fix | Delete
* Note: if empty name is supplied -- use the title instead, see #6072.
[1472] Fix | Delete
*/
[1473] Fix | Delete
if ( ! is_null( $name ) ) {
[1474] Fix | Delete
$post->post_name = sanitize_title( $name ? $name : $title, $post->ID );
[1475] Fix | Delete
}
[1476] Fix | Delete
[1477] Fix | Delete
$post->post_name = wp_unique_post_slug( $post->post_name, $post->ID, $post->post_status, $post->post_type, $post->post_parent );
[1478] Fix | Delete
[1479] Fix | Delete
$post->filter = 'sample';
[1480] Fix | Delete
[1481] Fix | Delete
$permalink = get_permalink( $post, true );
[1482] Fix | Delete
[1483] Fix | Delete
// Replace custom post_type token with generic pagename token for ease of use.
[1484] Fix | Delete
$permalink = str_replace( "%$post->post_type%", '%pagename%', $permalink );
[1485] Fix | Delete
[1486] Fix | Delete
// Handle page hierarchy.
[1487] Fix | Delete
if ( $ptype->hierarchical ) {
[1488] Fix | Delete
$uri = get_page_uri( $post );
[1489] Fix | Delete
if ( $uri ) {
[1490] Fix | Delete
$uri = untrailingslashit( $uri );
[1491] Fix | Delete
$uri = strrev( stristr( strrev( $uri ), '/' ) );
[1492] Fix | Delete
$uri = untrailingslashit( $uri );
[1493] Fix | Delete
}
[1494] Fix | Delete
[1495] Fix | Delete
/** This filter is documented in wp-admin/edit-tag-form.php */
[1496] Fix | Delete
$uri = apply_filters( 'editable_slug', $uri, $post );
[1497] Fix | Delete
if ( ! empty( $uri ) ) {
[1498] Fix | Delete
$uri .= '/';
[1499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function