Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




wp_setup_nav_menu_item [ WordPress Function ]

wp_setup_nav_menu_item ( $menu_item )
Parameters:
  • (object) $menu_item The menu item to modify.
Returns:
  • (object) $menu_item The menu item with standard menu item properties.
Defined at:



Decorates a menu item object with the shared navigation menu item properties.

Properties: - db_id: The DB ID of this item as a nav_menu_item object, if it exists (0 if it doesn't exist). - object_id: The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories. - type: The family of objects originally represented, such as "post_type" or "taxonomy." - object: The type of object originally represented, such as "category," "post", or "attachment." - type_label: The singular label used to describe this type of menu item. - post_parent: The DB ID of the original object's parent object, if any (0 otherwise). - menu_item_parent: The DB ID of the nav_menu_item that is this item's menu parent, if any. 0 otherwise. - url: The URL to which this menu item points. - title: The title of this menu item. - target: The target attribute of the link element for this menu item. - attr_title: The title attribute of the link element for this menu item. - classes: The array of class attribute values for the link element of this menu item. - xfn: The XFN relationship expressed in the link of this menu item. - description: The description of this menu item.

Source


<?php
function wp_setup_nav_menu_item$menu_item ) {
    if ( isset( 
$menu_item->post_type ) ) {
        if ( 
'nav_menu_item' == $menu_item->post_type ) {
            
$menu_item->db_id = (int) $menu_item->ID;
            
$menu_item->menu_item_parent = empty( $menu_item->menu_item_parent ) ? get_post_meta$menu_item->ID'_menu_item_menu_item_parent'true ) : $menu_item->menu_item_parent;
            
$menu_item->object_id = empty( $menu_item->object_id ) ? get_post_meta$menu_item->ID'_menu_item_object_id'true ) : $menu_item->object_id;
            
$menu_item->object = empty( $menu_item->object ) ? get_post_meta$menu_item->ID'_menu_item_object'true ) : $menu_item->object;
            
$menu_item->type = empty( $menu_item->type ) ? get_post_meta$menu_item->ID'_menu_item_type'true ) : $menu_item->type;

            if ( 
'post_type' == $menu_item->type ) {
                
$object get_post_type_object$menu_item->object );
                if ( 
$object ) {
                    
$menu_item->type_label $object->labels->singular_name;
                } else {
                    
$menu_item->type_label $menu_item->object;
                    
$menu_item->_invalid true;
                }

                
$menu_item->url get_permalink$menu_item->object_id );

                
$original_object get_post$menu_item->object_id );
                
$original_title $original_object->post_title;
                
$menu_item->title '' == $menu_item->post_title $original_title $menu_item->post_title;

            } elseif ( 
'taxonomy' == $menu_item->type ) {
                
$object get_taxonomy$menu_item->object );
                if ( 
$object ) {
                    
$menu_item->type_label $object->labels->singular_name;
                } else {
                    
$menu_item->type_label $menu_item->object;
                    
$menu_item->_invalid true;
                }

                
$term_url get_term_link( (int) $menu_item->object_id$menu_item->object );
                
$menu_item->url = !is_wp_error$term_url ) ? $term_url '';

                
$original_title get_term_field'name'$menu_item->object_id$menu_item->object'raw' );
                if ( 
is_wp_error$original_title ) )
                    
$original_title false;
                
$menu_item->title '' == $menu_item->post_title $original_title $menu_item->post_title;

            } else {
                
$menu_item->type_label __('Custom');
                
$menu_item->title $menu_item->post_title;
                
$menu_item->url = empty( $menu_item->url ) ? get_post_meta$menu_item->ID'_menu_item_url'true ) : $menu_item->url;
            }

            
$menu_item->target = empty( $menu_item->target ) ? get_post_meta$menu_item->ID'_menu_item_target'true ) : $menu_item->target;

            
$menu_item->attr_title = empty( $menu_item->attr_title ) ? apply_filters'nav_menu_attr_title'$menu_item->post_excerpt ) : $menu_item->attr_title;

            if ( empty( 
$menu_item->description ) )
                
$menu_item->description apply_filters'nav_menu_description',  wp_trim_words$menu_item->post_content200 ) );

            
$menu_item->classes = empty( $menu_item->classes ) ? (array) get_post_meta$menu_item->ID'_menu_item_classes'true ) : $menu_item->classes;
            
$menu_item->xfn = empty( $menu_item->xfn ) ? get_post_meta$menu_item->ID'_menu_item_xfn'true ) : $menu_item->xfn;
        } else {
            
$menu_item->db_id 0;
            
$menu_item->menu_item_parent 0;
            
$menu_item->object_id = (int) $menu_item->ID;
            
$menu_item->type 'post_type';

            
$object get_post_type_object$menu_item->post_type );
            
$menu_item->object $object->name;
            
$menu_item->type_label $object->labels->singular_name;

            
$menu_item->title $menu_item->post_title;
            
$menu_item->url get_permalink$menu_item->ID );
            
$menu_item->target '';

            
$menu_item->attr_title apply_filters'nav_menu_attr_title''' );
            
$menu_item->description apply_filters'nav_menu_description''' );
            
$menu_item->classes = array();
            
$menu_item->xfn '';
        }
    } elseif ( isset( 
$menu_item->taxonomy ) ) {
        
$menu_item->ID $menu_item->term_id;
        
$menu_item->db_id 0;
        
$menu_item->menu_item_parent 0;
        
$menu_item->object_id = (int) $menu_item->term_id;
        
$menu_item->post_parent = (int) $menu_item->parent;
        
$menu_item->type 'taxonomy';

        
$object get_taxonomy$menu_item->taxonomy );
        
$menu_item->object $object->name;
        
$menu_item->type_label $object->labels->singular_name;

        
$menu_item->title $menu_item->name;
        
$menu_item->url get_term_link$menu_item$menu_item->taxonomy );
        
$menu_item->target '';
        
$menu_item->attr_title '';
        
$menu_item->description get_term_field'description'$menu_item->term_id$menu_item->taxonomy );
        
$menu_item->classes = array();
        
$menu_item->xfn '';

    }

    return 
apply_filters'wp_setup_nav_menu_item'$menu_item );
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

Kullanýcý Tartýþmalarý [ wordpress.org ]

- Bulunamadý -

Yeni bir konu yaz ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics