wpseek.com
Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren
_wp_auto_add_pages_to_menu is private and should not be used in themes or plugins directly.
_wp_auto_add_pages_to_menu › WordPress Function
Seit3.0.0
Veraltetn/v
› _wp_auto_add_pages_to_menu ( $new_status, $old_status, $post )
Zugriff: |
|
Parameter: (3) |
|
Definiert in: |
|
Codex: |
Automatically add newly published page objects to menus with that as an option.
Ähnliche Funktionen: wp_autoload_values_to_autoload, wp_page_menu, wp_widgets_add_menu, wp_admin_bar_edit_menu, wp_default_packages_vendor
Quellcode
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 === (int) $item->object_id ) { continue 2; } } wp_update_nav_menu_item( $menu_id, 0, $args ); } }