Make WordPress Core


Ignore:
Timestamp:
01/25/2021 01:22:06 AM (4 years ago)
Author:
pento
Message:

Menus: Make use of wp_resolve_post_date() when updating menu items.

This allows a menu item post_date to be set to particular value, rather than only allowing it to be set to "now". In particular, the WordPress Importer can use this to perform faster, more accurate duplicate checks.

Props jmdodd.
Fixes #52189.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/nav-menu.php

    r49963 r50013  
    437437
    438438    $defaults = array(
    439         'menu-item-db-id'       => $menu_item_db_id,
    440         'menu-item-object-id'   => 0,
    441         'menu-item-object'      => '',
    442         'menu-item-parent-id'   => 0,
    443         'menu-item-position'    => 0,
    444         'menu-item-type'        => 'custom',
    445         'menu-item-title'       => '',
    446         'menu-item-url'         => '',
    447         'menu-item-description' => '',
    448         'menu-item-attr-title'  => '',
    449         'menu-item-target'      => '',
    450         'menu-item-classes'     => '',
    451         'menu-item-xfn'         => '',
    452         'menu-item-status'      => '',
     439        'menu-item-db-id'         => $menu_item_db_id,
     440        'menu-item-object-id'     => 0,
     441        'menu-item-object'        => '',
     442        'menu-item-parent-id'     => 0,
     443        'menu-item-position'      => 0,
     444        'menu-item-type'          => 'custom',
     445        'menu-item-title'         => '',
     446        'menu-item-url'           => '',
     447        'menu-item-description'   => '',
     448        'menu-item-attr-title'    => '',
     449        'menu-item-target'        => '',
     450        'menu-item-classes'       => '',
     451        'menu-item-xfn'           => '',
     452        'menu-item-status'        => '',
     453        'menu-item-post-date'     => '',
     454        'menu-item-post-date-gmt' => '',
    453455    );
    454456
     
    513515        'post_type'    => 'nav_menu_item',
    514516    );
     517
     518    $post_date = wp_resolve_post_date( $args['menu-item-post-date'], $args['menu-item-post-date-gmt'] );
     519    if ( $post_date ) {
     520        $post['post_date'] = $post_date;
     521    }
    515522
    516523    $update = 0 != $menu_item_db_id;
Note: See TracChangeset for help on using the changeset viewer.