Switch language

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




_wp_auto_add_pages_to_menu [ WordPress Function ]

_wp_auto_add_pages_to_menu ( $new_status, $old_status, $post )
Access:
  • private
Parameters:
  • (string) $new_status The new status of the post object.
  • (string) $old_status The old status of the post object.
  • (object) $post The post object being transitioned from one status to another.
Returns:
  • (void)
Defined at:



Automatically add newly published page objects to menus with that as an option.

Source


<?php
function _wp_auto_add_pages_to_menu$new_status$old_status$post ) {
    if ( 
'publish' != $new_status || 'publish' == $old_status || 'page' != $post->post_type )
        return;
    if ( ! empty( 
$post->post_parent ) )
        return;
    
$auto_add get_option'nav_menu_options' );
    if ( empty( 
$auto_add ) || ! is_array$auto_add ) || ! isset( $auto_add['auto_add'] ) )
        return;
    
$auto_add $auto_add['auto_add'];
    if ( empty( 
$auto_add ) || ! is_array$auto_add ) )
        return;

    
$args = array(
        
'menu-item-object-id' => $post->ID,
        
'menu-item-object' => $post->post_type,
        
'menu-item-type' => 'post_type',
        
'menu-item-status' => 'publish',
    );

    foreach ( 
$auto_add as $menu_id ) {
        
$items wp_get_nav_menu_items$menu_id, array( 'post_status' => 'publish,draft' ) );
        if ( ! 
is_array$items ) )
            continue;
        foreach ( 
$items as $item ) {
            if ( 
$post->ID == $item->object_id )
                continue 
2;
        }
        
wp_update_nav_menu_item$menu_id0$args );
    }
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



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