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/clone/wp-inclu...
File: nav-menu.php
$original_title = $original_object->post_title;
[500] Fix | Delete
} elseif ( 'post_type_archive' === $args['menu-item-type'] ) {
[501] Fix | Delete
$original_object = get_post_type_object( $args['menu-item-object'] );
[502] Fix | Delete
if ( $original_object ) {
[503] Fix | Delete
$original_title = $original_object->labels->archives;
[504] Fix | Delete
}
[505] Fix | Delete
}
[506] Fix | Delete
[507] Fix | Delete
if ( wp_unslash( $args['menu-item-title'] ) === wp_specialchars_decode( $original_title ) ) {
[508] Fix | Delete
$args['menu-item-title'] = '';
[509] Fix | Delete
}
[510] Fix | Delete
[511] Fix | Delete
// Hack to get wp to create a post object when too many properties are empty.
[512] Fix | Delete
if ( '' === $args['menu-item-title'] && '' === $args['menu-item-description'] ) {
[513] Fix | Delete
$args['menu-item-description'] = ' ';
[514] Fix | Delete
}
[515] Fix | Delete
}
[516] Fix | Delete
[517] Fix | Delete
// Populate the menu item object.
[518] Fix | Delete
$post = array(
[519] Fix | Delete
'menu_order' => $args['menu-item-position'],
[520] Fix | Delete
'ping_status' => 0,
[521] Fix | Delete
'post_content' => $args['menu-item-description'],
[522] Fix | Delete
'post_excerpt' => $args['menu-item-attr-title'],
[523] Fix | Delete
'post_parent' => $original_parent,
[524] Fix | Delete
'post_title' => $args['menu-item-title'],
[525] Fix | Delete
'post_type' => 'nav_menu_item',
[526] Fix | Delete
);
[527] Fix | Delete
[528] Fix | Delete
$post_date = wp_resolve_post_date( $args['menu-item-post-date'], $args['menu-item-post-date-gmt'] );
[529] Fix | Delete
if ( $post_date ) {
[530] Fix | Delete
$post['post_date'] = $post_date;
[531] Fix | Delete
}
[532] Fix | Delete
[533] Fix | Delete
$update = 0 !== $menu_item_db_id;
[534] Fix | Delete
[535] Fix | Delete
// New menu item. Default is draft status.
[536] Fix | Delete
if ( ! $update ) {
[537] Fix | Delete
$post['ID'] = 0;
[538] Fix | Delete
$post['post_status'] = 'publish' === $args['menu-item-status'] ? 'publish' : 'draft';
[539] Fix | Delete
$menu_item_db_id = wp_insert_post( $post, true, $fire_after_hooks );
[540] Fix | Delete
if ( ! $menu_item_db_id || is_wp_error( $menu_item_db_id ) ) {
[541] Fix | Delete
return $menu_item_db_id;
[542] Fix | Delete
}
[543] Fix | Delete
[544] Fix | Delete
/**
[545] Fix | Delete
* Fires immediately after a new navigation menu item has been added.
[546] Fix | Delete
*
[547] Fix | Delete
* @since 4.4.0
[548] Fix | Delete
*
[549] Fix | Delete
* @see wp_update_nav_menu_item()
[550] Fix | Delete
*
[551] Fix | Delete
* @param int $menu_id ID of the updated menu.
[552] Fix | Delete
* @param int $menu_item_db_id ID of the new menu item.
[553] Fix | Delete
* @param array $args An array of arguments used to update/add the menu item.
[554] Fix | Delete
*/
[555] Fix | Delete
do_action( 'wp_add_nav_menu_item', $menu_id, $menu_item_db_id, $args );
[556] Fix | Delete
}
[557] Fix | Delete
[558] Fix | Delete
/*
[559] Fix | Delete
* Associate the menu item with the menu term.
[560] Fix | Delete
* Only set the menu term if it isn't set to avoid unnecessary wp_get_object_terms().
[561] Fix | Delete
*/
[562] Fix | Delete
if ( $menu_id && ( ! $update || ! is_object_in_term( $menu_item_db_id, 'nav_menu', (int) $menu->term_id ) ) ) {
[563] Fix | Delete
$update_terms = wp_set_object_terms( $menu_item_db_id, array( $menu->term_id ), 'nav_menu' );
[564] Fix | Delete
if ( is_wp_error( $update_terms ) ) {
[565] Fix | Delete
return $update_terms;
[566] Fix | Delete
}
[567] Fix | Delete
}
[568] Fix | Delete
[569] Fix | Delete
if ( 'custom' === $args['menu-item-type'] ) {
[570] Fix | Delete
$args['menu-item-object-id'] = $menu_item_db_id;
[571] Fix | Delete
$args['menu-item-object'] = 'custom';
[572] Fix | Delete
}
[573] Fix | Delete
[574] Fix | Delete
$menu_item_db_id = (int) $menu_item_db_id;
[575] Fix | Delete
[576] Fix | Delete
// Reset invalid `menu_item_parent`.
[577] Fix | Delete
if ( (int) $args['menu-item-parent-id'] === $menu_item_db_id ) {
[578] Fix | Delete
$args['menu-item-parent-id'] = 0;
[579] Fix | Delete
}
[580] Fix | Delete
[581] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_type', sanitize_key( $args['menu-item-type'] ) );
[582] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_menu_item_parent', (string) ( (int) $args['menu-item-parent-id'] ) );
[583] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_object_id', (string) ( (int) $args['menu-item-object-id'] ) );
[584] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_object', sanitize_key( $args['menu-item-object'] ) );
[585] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_target', sanitize_key( $args['menu-item-target'] ) );
[586] Fix | Delete
[587] Fix | Delete
$args['menu-item-classes'] = array_map( 'sanitize_html_class', explode( ' ', $args['menu-item-classes'] ) );
[588] Fix | Delete
$args['menu-item-xfn'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['menu-item-xfn'] ) ) );
[589] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_classes', $args['menu-item-classes'] );
[590] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_xfn', $args['menu-item-xfn'] );
[591] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_url', sanitize_url( $args['menu-item-url'] ) );
[592] Fix | Delete
[593] Fix | Delete
if ( 0 === $menu_id ) {
[594] Fix | Delete
update_post_meta( $menu_item_db_id, '_menu_item_orphaned', (string) time() );
[595] Fix | Delete
} elseif ( get_post_meta( $menu_item_db_id, '_menu_item_orphaned' ) ) {
[596] Fix | Delete
delete_post_meta( $menu_item_db_id, '_menu_item_orphaned' );
[597] Fix | Delete
}
[598] Fix | Delete
[599] Fix | Delete
// Update existing menu item. Default is publish status.
[600] Fix | Delete
if ( $update ) {
[601] Fix | Delete
$post['ID'] = $menu_item_db_id;
[602] Fix | Delete
$post['post_status'] = ( 'draft' === $args['menu-item-status'] ) ? 'draft' : 'publish';
[603] Fix | Delete
[604] Fix | Delete
$update_post = wp_update_post( $post, true );
[605] Fix | Delete
if ( is_wp_error( $update_post ) ) {
[606] Fix | Delete
return $update_post;
[607] Fix | Delete
}
[608] Fix | Delete
}
[609] Fix | Delete
[610] Fix | Delete
/**
[611] Fix | Delete
* Fires after a navigation menu item has been updated.
[612] Fix | Delete
*
[613] Fix | Delete
* @since 3.0.0
[614] Fix | Delete
*
[615] Fix | Delete
* @see wp_update_nav_menu_item()
[616] Fix | Delete
*
[617] Fix | Delete
* @param int $menu_id ID of the updated menu.
[618] Fix | Delete
* @param int $menu_item_db_id ID of the updated menu item.
[619] Fix | Delete
* @param array $args An array of arguments used to update a menu item.
[620] Fix | Delete
*/
[621] Fix | Delete
do_action( 'wp_update_nav_menu_item', $menu_id, $menu_item_db_id, $args );
[622] Fix | Delete
[623] Fix | Delete
return $menu_item_db_id;
[624] Fix | Delete
}
[625] Fix | Delete
[626] Fix | Delete
/**
[627] Fix | Delete
* Returns all navigation menu objects.
[628] Fix | Delete
*
[629] Fix | Delete
* @since 3.0.0
[630] Fix | Delete
* @since 4.1.0 Default value of the 'orderby' argument was changed from 'none'
[631] Fix | Delete
* to 'name'.
[632] Fix | Delete
*
[633] Fix | Delete
* @param array $args Optional. Array of arguments passed on to get_terms().
[634] Fix | Delete
* Default empty array.
[635] Fix | Delete
* @return WP_Term[] An array of menu objects.
[636] Fix | Delete
*/
[637] Fix | Delete
function wp_get_nav_menus( $args = array() ) {
[638] Fix | Delete
$defaults = array(
[639] Fix | Delete
'taxonomy' => 'nav_menu',
[640] Fix | Delete
'hide_empty' => false,
[641] Fix | Delete
'orderby' => 'name',
[642] Fix | Delete
);
[643] Fix | Delete
$args = wp_parse_args( $args, $defaults );
[644] Fix | Delete
[645] Fix | Delete
/**
[646] Fix | Delete
* Filters the navigation menu objects being returned.
[647] Fix | Delete
*
[648] Fix | Delete
* @since 3.0.0
[649] Fix | Delete
*
[650] Fix | Delete
* @see get_terms()
[651] Fix | Delete
*
[652] Fix | Delete
* @param WP_Term[] $menus An array of menu objects.
[653] Fix | Delete
* @param array $args An array of arguments used to retrieve menu objects.
[654] Fix | Delete
*/
[655] Fix | Delete
return apply_filters( 'wp_get_nav_menus', get_terms( $args ), $args );
[656] Fix | Delete
}
[657] Fix | Delete
[658] Fix | Delete
/**
[659] Fix | Delete
* Determines whether a menu item is valid.
[660] Fix | Delete
*
[661] Fix | Delete
* @link https://core.trac.wordpress.org/ticket/13958
[662] Fix | Delete
*
[663] Fix | Delete
* @since 3.2.0
[664] Fix | Delete
* @access private
[665] Fix | Delete
*
[666] Fix | Delete
* @param object $item The menu item to check.
[667] Fix | Delete
* @return bool False if invalid, otherwise true.
[668] Fix | Delete
*/
[669] Fix | Delete
function _is_valid_nav_menu_item( $item ) {
[670] Fix | Delete
return empty( $item->_invalid );
[671] Fix | Delete
}
[672] Fix | Delete
[673] Fix | Delete
/**
[674] Fix | Delete
* Retrieves all menu items of a navigation menu.
[675] Fix | Delete
*
[676] Fix | Delete
* Note: Most arguments passed to the `$args` parameter – save for 'output_key' – are
[677] Fix | Delete
* specifically for retrieving nav_menu_item posts from get_posts() and may only
[678] Fix | Delete
* indirectly affect the ultimate ordering and content of the resulting nav menu
[679] Fix | Delete
* items that get returned from this function.
[680] Fix | Delete
*
[681] Fix | Delete
* @since 3.0.0
[682] Fix | Delete
*
[683] Fix | Delete
* @param int|string|WP_Term $menu Menu ID, slug, name, or object.
[684] Fix | Delete
* @param array $args {
[685] Fix | Delete
* Optional. Arguments to pass to get_posts().
[686] Fix | Delete
*
[687] Fix | Delete
* @type string $order How to order nav menu items as queried with get_posts().
[688] Fix | Delete
* Will be ignored if 'output' is ARRAY_A. Default 'ASC'.
[689] Fix | Delete
* @type string $orderby Field to order menu items by as retrieved from get_posts().
[690] Fix | Delete
* Supply an orderby field via 'output_key' to affect the
[691] Fix | Delete
* output order of nav menu items. Default 'menu_order'.
[692] Fix | Delete
* @type string $post_type Menu items post type. Default 'nav_menu_item'.
[693] Fix | Delete
* @type string $post_status Menu items post status. Default 'publish'.
[694] Fix | Delete
* @type string $output How to order outputted menu items. Default ARRAY_A.
[695] Fix | Delete
* @type string $output_key Key to use for ordering the actual menu items that get
[696] Fix | Delete
* returned. Note that that is not a get_posts() argument
[697] Fix | Delete
* and will only affect output of menu items processed in
[698] Fix | Delete
* this function. Default 'menu_order'.
[699] Fix | Delete
* @type bool $nopaging Whether to retrieve all menu items (true) or paginate
[700] Fix | Delete
* (false). Default true.
[701] Fix | Delete
* @type bool $update_menu_item_cache Whether to update the menu item cache. Default true.
[702] Fix | Delete
* }
[703] Fix | Delete
* @return array|false Array of menu items, otherwise false.
[704] Fix | Delete
*/
[705] Fix | Delete
function wp_get_nav_menu_items( $menu, $args = array() ) {
[706] Fix | Delete
$menu = wp_get_nav_menu_object( $menu );
[707] Fix | Delete
[708] Fix | Delete
if ( ! $menu ) {
[709] Fix | Delete
return false;
[710] Fix | Delete
}
[711] Fix | Delete
[712] Fix | Delete
if ( ! taxonomy_exists( 'nav_menu' ) ) {
[713] Fix | Delete
return false;
[714] Fix | Delete
}
[715] Fix | Delete
[716] Fix | Delete
$defaults = array(
[717] Fix | Delete
'order' => 'ASC',
[718] Fix | Delete
'orderby' => 'menu_order',
[719] Fix | Delete
'post_type' => 'nav_menu_item',
[720] Fix | Delete
'post_status' => 'publish',
[721] Fix | Delete
'output' => ARRAY_A,
[722] Fix | Delete
'output_key' => 'menu_order',
[723] Fix | Delete
'nopaging' => true,
[724] Fix | Delete
'update_menu_item_cache' => true,
[725] Fix | Delete
'tax_query' => array(
[726] Fix | Delete
array(
[727] Fix | Delete
'taxonomy' => 'nav_menu',
[728] Fix | Delete
'field' => 'term_taxonomy_id',
[729] Fix | Delete
'terms' => $menu->term_taxonomy_id,
[730] Fix | Delete
),
[731] Fix | Delete
),
[732] Fix | Delete
);
[733] Fix | Delete
$args = wp_parse_args( $args, $defaults );
[734] Fix | Delete
if ( $menu->count > 0 ) {
[735] Fix | Delete
$items = get_posts( $args );
[736] Fix | Delete
} else {
[737] Fix | Delete
$items = array();
[738] Fix | Delete
}
[739] Fix | Delete
[740] Fix | Delete
$items = array_map( 'wp_setup_nav_menu_item', $items );
[741] Fix | Delete
[742] Fix | Delete
if ( ! is_admin() ) { // Remove invalid items only on front end.
[743] Fix | Delete
$items = array_filter( $items, '_is_valid_nav_menu_item' );
[744] Fix | Delete
}
[745] Fix | Delete
[746] Fix | Delete
if ( ARRAY_A === $args['output'] ) {
[747] Fix | Delete
$items = wp_list_sort(
[748] Fix | Delete
$items,
[749] Fix | Delete
array(
[750] Fix | Delete
$args['output_key'] => 'ASC',
[751] Fix | Delete
)
[752] Fix | Delete
);
[753] Fix | Delete
[754] Fix | Delete
$i = 1;
[755] Fix | Delete
[756] Fix | Delete
foreach ( $items as $k => $item ) {
[757] Fix | Delete
$items[ $k ]->{$args['output_key']} = $i++;
[758] Fix | Delete
}
[759] Fix | Delete
}
[760] Fix | Delete
[761] Fix | Delete
/**
[762] Fix | Delete
* Filters the navigation menu items being returned.
[763] Fix | Delete
*
[764] Fix | Delete
* @since 3.0.0
[765] Fix | Delete
*
[766] Fix | Delete
* @param array $items An array of menu item post objects.
[767] Fix | Delete
* @param object $menu The menu object.
[768] Fix | Delete
* @param array $args An array of arguments used to retrieve menu item objects.
[769] Fix | Delete
*/
[770] Fix | Delete
return apply_filters( 'wp_get_nav_menu_items', $items, $menu, $args );
[771] Fix | Delete
}
[772] Fix | Delete
[773] Fix | Delete
/**
[774] Fix | Delete
* Updates post and term caches for all linked objects for a list of menu items.
[775] Fix | Delete
*
[776] Fix | Delete
* @since 6.1.0
[777] Fix | Delete
*
[778] Fix | Delete
* @param WP_Post[] $menu_items Array of menu item post objects.
[779] Fix | Delete
*/
[780] Fix | Delete
function update_menu_item_cache( $menu_items ) {
[781] Fix | Delete
$post_ids = array();
[782] Fix | Delete
$term_ids = array();
[783] Fix | Delete
[784] Fix | Delete
foreach ( $menu_items as $menu_item ) {
[785] Fix | Delete
if ( 'nav_menu_item' !== $menu_item->post_type ) {
[786] Fix | Delete
continue;
[787] Fix | Delete
}
[788] Fix | Delete
[789] Fix | Delete
$object_id = get_post_meta( $menu_item->ID, '_menu_item_object_id', true );
[790] Fix | Delete
$type = get_post_meta( $menu_item->ID, '_menu_item_type', true );
[791] Fix | Delete
[792] Fix | Delete
if ( 'post_type' === $type ) {
[793] Fix | Delete
$post_ids[] = (int) $object_id;
[794] Fix | Delete
} elseif ( 'taxonomy' === $type ) {
[795] Fix | Delete
$term_ids[] = (int) $object_id;
[796] Fix | Delete
}
[797] Fix | Delete
}
[798] Fix | Delete
[799] Fix | Delete
if ( ! empty( $post_ids ) ) {
[800] Fix | Delete
_prime_post_caches( $post_ids, false );
[801] Fix | Delete
}
[802] Fix | Delete
[803] Fix | Delete
if ( ! empty( $term_ids ) ) {
[804] Fix | Delete
_prime_term_caches( $term_ids );
[805] Fix | Delete
}
[806] Fix | Delete
}
[807] Fix | Delete
[808] Fix | Delete
/**
[809] Fix | Delete
* Decorates a menu item object with the shared navigation menu item properties.
[810] Fix | Delete
*
[811] Fix | Delete
* Properties:
[812] Fix | Delete
* - ID: The term_id if the menu item represents a taxonomy term.
[813] Fix | Delete
* - attr_title: The title attribute of the link element for this menu item.
[814] Fix | Delete
* - classes: The array of class attribute values for the link element of this menu item.
[815] Fix | Delete
* - db_id: The DB ID of this item as a nav_menu_item object, if it exists (0 if it doesn't exist).
[816] Fix | Delete
* - description: The description of this menu item.
[817] Fix | Delete
* - menu_item_parent: The DB ID of the nav_menu_item that is this item's menu parent, if any. 0 otherwise.
[818] Fix | Delete
* - object: The type of object originally represented, such as 'category', 'post', or 'attachment'.
[819] Fix | Delete
* - object_id: The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.
[820] Fix | Delete
* - post_parent: The DB ID of the original object's parent object, if any (0 otherwise).
[821] Fix | Delete
* - post_title: A "no title" label if menu item represents a post that lacks a title.
[822] Fix | Delete
* - target: The target attribute of the link element for this menu item.
[823] Fix | Delete
* - title: The title of this menu item.
[824] Fix | Delete
* - type: The family of objects originally represented, such as 'post_type' or 'taxonomy'.
[825] Fix | Delete
* - type_label: The singular label used to describe this type of menu item.
[826] Fix | Delete
* - url: The URL to which this menu item points.
[827] Fix | Delete
* - xfn: The XFN relationship expressed in the link of this menu item.
[828] Fix | Delete
* - _invalid: Whether the menu item represents an object that no longer exists.
[829] Fix | Delete
*
[830] Fix | Delete
* @since 3.0.0
[831] Fix | Delete
*
[832] Fix | Delete
* @param object $menu_item The menu item to modify.
[833] Fix | Delete
* @return object The menu item with standard menu item properties.
[834] Fix | Delete
*/
[835] Fix | Delete
function wp_setup_nav_menu_item( $menu_item ) {
[836] Fix | Delete
[837] Fix | Delete
/**
[838] Fix | Delete
* Filters whether to short-circuit the wp_setup_nav_menu_item() output.
[839] Fix | Delete
*
[840] Fix | Delete
* Returning a non-null value from the filter will short-circuit wp_setup_nav_menu_item(),
[841] Fix | Delete
* returning that value instead.
[842] Fix | Delete
*
[843] Fix | Delete
* @since 6.3.0
[844] Fix | Delete
*
[845] Fix | Delete
* @param object|null $modified_menu_item Modified menu item. Default null.
[846] Fix | Delete
* @param object $menu_item The menu item to modify.
[847] Fix | Delete
*/
[848] Fix | Delete
$pre_menu_item = apply_filters( 'pre_wp_setup_nav_menu_item', null, $menu_item );
[849] Fix | Delete
[850] Fix | Delete
if ( null !== $pre_menu_item ) {
[851] Fix | Delete
return $pre_menu_item;
[852] Fix | Delete
}
[853] Fix | Delete
[854] Fix | Delete
if ( isset( $menu_item->post_type ) ) {
[855] Fix | Delete
if ( 'nav_menu_item' === $menu_item->post_type ) {
[856] Fix | Delete
$menu_item->db_id = (int) $menu_item->ID;
[857] Fix | Delete
$menu_item->menu_item_parent = ! isset( $menu_item->menu_item_parent ) ? get_post_meta( $menu_item->ID, '_menu_item_menu_item_parent', true ) : $menu_item->menu_item_parent;
[858] Fix | Delete
$menu_item->object_id = ! isset( $menu_item->object_id ) ? get_post_meta( $menu_item->ID, '_menu_item_object_id', true ) : $menu_item->object_id;
[859] Fix | Delete
$menu_item->object = ! isset( $menu_item->object ) ? get_post_meta( $menu_item->ID, '_menu_item_object', true ) : $menu_item->object;
[860] Fix | Delete
$menu_item->type = ! isset( $menu_item->type ) ? get_post_meta( $menu_item->ID, '_menu_item_type', true ) : $menu_item->type;
[861] Fix | Delete
[862] Fix | Delete
if ( 'post_type' === $menu_item->type ) {
[863] Fix | Delete
$object = get_post_type_object( $menu_item->object );
[864] Fix | Delete
if ( $object ) {
[865] Fix | Delete
$menu_item->type_label = $object->labels->singular_name;
[866] Fix | Delete
// Denote post states for special pages (only in the admin).
[867] Fix | Delete
if ( function_exists( 'get_post_states' ) ) {
[868] Fix | Delete
$menu_post = get_post( $menu_item->object_id );
[869] Fix | Delete
$post_states = get_post_states( $menu_post );
[870] Fix | Delete
if ( $post_states ) {
[871] Fix | Delete
$menu_item->type_label = wp_strip_all_tags( implode( ', ', $post_states ) );
[872] Fix | Delete
}
[873] Fix | Delete
}
[874] Fix | Delete
} else {
[875] Fix | Delete
$menu_item->type_label = $menu_item->object;
[876] Fix | Delete
$menu_item->_invalid = true;
[877] Fix | Delete
}
[878] Fix | Delete
[879] Fix | Delete
if ( 'trash' === get_post_status( $menu_item->object_id ) ) {
[880] Fix | Delete
$menu_item->_invalid = true;
[881] Fix | Delete
}
[882] Fix | Delete
[883] Fix | Delete
$original_object = get_post( $menu_item->object_id );
[884] Fix | Delete
[885] Fix | Delete
if ( $original_object ) {
[886] Fix | Delete
$menu_item->url = get_permalink( $original_object->ID );
[887] Fix | Delete
/** This filter is documented in wp-includes/post-template.php */
[888] Fix | Delete
$original_title = apply_filters( 'the_title', $original_object->post_title, $original_object->ID );
[889] Fix | Delete
} else {
[890] Fix | Delete
$menu_item->url = '';
[891] Fix | Delete
$original_title = '';
[892] Fix | Delete
$menu_item->_invalid = true;
[893] Fix | Delete
}
[894] Fix | Delete
[895] Fix | Delete
if ( '' === $original_title ) {
[896] Fix | Delete
/* translators: %d: ID of a post. */
[897] Fix | Delete
$original_title = sprintf( __( '#%d (no title)' ), $menu_item->object_id );
[898] Fix | Delete
}
[899] Fix | Delete
[900] Fix | Delete
$menu_item->title = ( '' === $menu_item->post_title ) ? $original_title : $menu_item->post_title;
[901] Fix | Delete
[902] Fix | Delete
} elseif ( 'post_type_archive' === $menu_item->type ) {
[903] Fix | Delete
$object = get_post_type_object( $menu_item->object );
[904] Fix | Delete
if ( $object ) {
[905] Fix | Delete
$menu_item->title = ( '' === $menu_item->post_title ) ? $object->labels->archives : $menu_item->post_title;
[906] Fix | Delete
$post_type_description = $object->description;
[907] Fix | Delete
} else {
[908] Fix | Delete
$post_type_description = '';
[909] Fix | Delete
$menu_item->_invalid = true;
[910] Fix | Delete
}
[911] Fix | Delete
[912] Fix | Delete
$menu_item->type_label = __( 'Post Type Archive' );
[913] Fix | Delete
$post_content = wp_trim_words( $menu_item->post_content, 200 );
[914] Fix | Delete
$post_type_description = ( '' === $post_content ) ? $post_type_description : $post_content;
[915] Fix | Delete
$menu_item->url = get_post_type_archive_link( $menu_item->object );
[916] Fix | Delete
[917] Fix | Delete
} elseif ( 'taxonomy' === $menu_item->type ) {
[918] Fix | Delete
$object = get_taxonomy( $menu_item->object );
[919] Fix | Delete
if ( $object ) {
[920] Fix | Delete
$menu_item->type_label = $object->labels->singular_name;
[921] Fix | Delete
} else {
[922] Fix | Delete
$menu_item->type_label = $menu_item->object;
[923] Fix | Delete
$menu_item->_invalid = true;
[924] Fix | Delete
}
[925] Fix | Delete
[926] Fix | Delete
$original_object = get_term( (int) $menu_item->object_id, $menu_item->object );
[927] Fix | Delete
[928] Fix | Delete
if ( $original_object && ! is_wp_error( $original_object ) ) {
[929] Fix | Delete
$menu_item->url = get_term_link( (int) $menu_item->object_id, $menu_item->object );
[930] Fix | Delete
$original_title = $original_object->name;
[931] Fix | Delete
} else {
[932] Fix | Delete
$menu_item->url = '';
[933] Fix | Delete
$original_title = '';
[934] Fix | Delete
$menu_item->_invalid = true;
[935] Fix | Delete
}
[936] Fix | Delete
[937] Fix | Delete
if ( '' === $original_title ) {
[938] Fix | Delete
/* translators: %d: ID of a term. */
[939] Fix | Delete
$original_title = sprintf( __( '#%d (no title)' ), $menu_item->object_id );
[940] Fix | Delete
}
[941] Fix | Delete
[942] Fix | Delete
$menu_item->title = ( '' === $menu_item->post_title ) ? $original_title : $menu_item->post_title;
[943] Fix | Delete
[944] Fix | Delete
} else {
[945] Fix | Delete
$menu_item->type_label = __( 'Custom Link' );
[946] Fix | Delete
$menu_item->title = $menu_item->post_title;
[947] Fix | Delete
$menu_item->url = ! isset( $menu_item->url ) ? get_post_meta( $menu_item->ID, '_menu_item_url', true ) : $menu_item->url;
[948] Fix | Delete
}
[949] Fix | Delete
[950] Fix | Delete
$menu_item->target = ! isset( $menu_item->target ) ? get_post_meta( $menu_item->ID, '_menu_item_target', true ) : $menu_item->target;
[951] Fix | Delete
[952] Fix | Delete
/**
[953] Fix | Delete
* Filters a navigation menu item's title attribute.
[954] Fix | Delete
*
[955] Fix | Delete
* @since 3.0.0
[956] Fix | Delete
*
[957] Fix | Delete
* @param string $item_title The menu item title attribute.
[958] Fix | Delete
*/
[959] Fix | Delete
$menu_item->attr_title = ! isset( $menu_item->attr_title ) ? apply_filters( 'nav_menu_attr_title', $menu_item->post_excerpt ) : $menu_item->attr_title;
[960] Fix | Delete
[961] Fix | Delete
if ( ! isset( $menu_item->description ) ) {
[962] Fix | Delete
/**
[963] Fix | Delete
* Filters a navigation menu item's description.
[964] Fix | Delete
*
[965] Fix | Delete
* @since 3.0.0
[966] Fix | Delete
*
[967] Fix | Delete
* @param string $description The menu item description.
[968] Fix | Delete
*/
[969] Fix | Delete
$menu_item->description = apply_filters( 'nav_menu_description', wp_trim_words( $menu_item->post_content, 200 ) );
[970] Fix | Delete
}
[971] Fix | Delete
[972] Fix | Delete
$menu_item->classes = ! isset( $menu_item->classes ) ? (array) get_post_meta( $menu_item->ID, '_menu_item_classes', true ) : $menu_item->classes;
[973] Fix | Delete
$menu_item->xfn = ! isset( $menu_item->xfn ) ? get_post_meta( $menu_item->ID, '_menu_item_xfn', true ) : $menu_item->xfn;
[974] Fix | Delete
} else {
[975] Fix | Delete
$menu_item->db_id = 0;
[976] Fix | Delete
$menu_item->menu_item_parent = 0;
[977] Fix | Delete
$menu_item->object_id = (int) $menu_item->ID;
[978] Fix | Delete
$menu_item->type = 'post_type';
[979] Fix | Delete
[980] Fix | Delete
$object = get_post_type_object( $menu_item->post_type );
[981] Fix | Delete
$menu_item->object = $object->name;
[982] Fix | Delete
$menu_item->type_label = $object->labels->singular_name;
[983] Fix | Delete
[984] Fix | Delete
if ( '' === $menu_item->post_title ) {
[985] Fix | Delete
/* translators: %d: ID of a post. */
[986] Fix | Delete
$menu_item->post_title = sprintf( __( '#%d (no title)' ), $menu_item->ID );
[987] Fix | Delete
}
[988] Fix | Delete
[989] Fix | Delete
$menu_item->title = $menu_item->post_title;
[990] Fix | Delete
$menu_item->url = get_permalink( $menu_item->ID );
[991] Fix | Delete
$menu_item->target = '';
[992] Fix | Delete
[993] Fix | Delete
/** This filter is documented in wp-includes/nav-menu.php */
[994] Fix | Delete
$menu_item->attr_title = apply_filters( 'nav_menu_attr_title', '' );
[995] Fix | Delete
[996] Fix | Delete
/** This filter is documented in wp-includes/nav-menu.php */
[997] Fix | Delete
$menu_item->description = apply_filters( 'nav_menu_description', '' );
[998] Fix | Delete
$menu_item->classes = array();
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function