<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[55616] trunk/src/wp-admin/includes/nav-menu.php: Coding Standards: Escape the whole attributes in `wp-admin/includes/nav-menu.php`.</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/55616">55616</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/55616","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>SergeyBiryukov</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2023-04-01 08:35:16 +0000 (Sat, 01 Apr 2023)</dd>
</dl>
<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Coding Standards: Escape the whole attributes in `wp-admin/includes/nav-menu.php`.
It is best to always escape the complete value of an attribute, not a partial value, as otherwise the escaping could be (partially) undone when the values are joined together.
While the hardcoded prefix/suffix values in this case don't necessarily create that risk, those may change to values which could be problematic, so making it a habit to escape the value in one go is best practice.
Includes:
* Moving a few `esc_url()` calls closer to the actual output and escaping the hash parts too.
* Wrapping a few long lines for better readability.
Follow-up to <a href="https://core.trac.wordpress.org/changeset/14248">[14248]</a>, <a href="https://core.trac.wordpress.org/changeset/23707">[23707]</a>, <a href="https://core.trac.wordpress.org/changeset/42217">[42217]</a>, <a href="https://core.trac.wordpress.org/changeset/55615">[55615]</a>.
Props jrf, SergeyBiryukov.
Fixes <a href="https://core.trac.wordpress.org/ticket/57110">#57110</a>.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpadminincludesnavmenuphp">trunk/src/wp-admin/includes/nav-menu.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpadminincludesnavmenuphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/nav-menu.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/nav-menu.php 2023-03-31 15:58:49 UTC (rev 55615)
+++ trunk/src/wp-admin/includes/nav-menu.php 2023-04-01 08:35:16 UTC (rev 55616)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -39,8 +39,13 @@
</span><span class="cx" style="display: block; padding: 0 10px"> if ( post_type_exists( $object_type ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> if ( isset( $request['ID'] ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $object_id = (int) $request['ID'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( 'markup' === $response_format ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', array( get_post( $object_id ) ) ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', array( get_post( $object_id ) ) ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> } elseif ( 'json' === $response_format ) {
</span><span class="cx" style="display: block; padding: 0 10px"> echo wp_json_encode(
</span><span class="cx" style="display: block; padding: 0 10px"> array(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -55,8 +60,13 @@
</span><span class="cx" style="display: block; padding: 0 10px"> } elseif ( taxonomy_exists( $object_type ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> if ( isset( $request['ID'] ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $object_id = (int) $request['ID'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( 'markup' === $response_format ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', array( get_term( $object_id, $object_type ) ) ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', array( get_term( $object_id, $object_type ) ) ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> } elseif ( 'json' === $response_format ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $post_obj = get_term( $object_id, $object_type );
</span><span class="cx" style="display: block; padding: 0 10px"> echo wp_json_encode(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -84,18 +94,26 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 's' => $query,
</span><span class="cx" style="display: block; padding: 0 10px"> )
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( isset( $post_type_obj->_default_query ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $args = array_merge( $args, (array) $post_type_obj->_default_query );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> $search_results_query = new WP_Query( $args );
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! $search_results_query->have_posts() ) {
</span><span class="cx" style="display: block; padding: 0 10px"> return;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> while ( $search_results_query->have_posts() ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $post = $search_results_query->next_post();
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( 'markup' === $response_format ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $var_by_ref = $post->ID;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', array( get_post( $var_by_ref ) ) ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', array( get_post( $var_by_ref ) ) ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> } elseif ( 'json' === $response_format ) {
</span><span class="cx" style="display: block; padding: 0 10px"> echo wp_json_encode(
</span><span class="cx" style="display: block; padding: 0 10px"> array(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -116,12 +134,18 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'hide_empty' => false,
</span><span class="cx" style="display: block; padding: 0 10px"> )
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( empty( $terms ) || is_wp_error( $terms ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> return;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> foreach ( (array) $terms as $term ) {
</span><span class="cx" style="display: block; padding: 0 10px"> if ( 'markup' === $response_format ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', array( $term ) ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', array( $term ) ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> } elseif ( 'json' === $response_format ) {
</span><span class="cx" style="display: block; padding: 0 10px"> echo wp_json_encode(
</span><span class="cx" style="display: block; padding: 0 10px"> array(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -145,7 +169,14 @@
</span><span class="cx" style="display: block; padding: 0 10px"> function wp_nav_menu_setup() {
</span><span class="cx" style="display: block; padding: 0 10px"> // Register meta boxes.
</span><span class="cx" style="display: block; padding: 0 10px"> wp_nav_menu_post_type_meta_boxes();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- add_meta_box( 'add-custom-links', __( 'Custom Links' ), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ add_meta_box(
+ 'add-custom-links',
+ __( 'Custom Links' ),
+ 'wp_nav_menu_item_link_meta_box',
+ 'nav-menus',
+ 'side',
+ 'default'
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> wp_nav_menu_taxonomy_meta_boxes();
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> // Register advanced menu items (columns).
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -227,11 +258,20 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * meta box for.
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> $post_type = apply_filters( 'nav_menu_meta_box_object', $post_type );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( $post_type ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $id = $post_type->name;
</span><span class="cx" style="display: block; padding: 0 10px"> // Give pages a higher priority.
</span><span class="cx" style="display: block; padding: 0 10px"> $priority = ( 'page' === $post_type->name ? 'core' : 'default' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- add_meta_box( "add-post-type-{$id}", $post_type->labels->name, 'wp_nav_menu_item_post_type_meta_box', 'nav-menus', 'side', $priority, $post_type );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ add_meta_box(
+ "add-post-type-{$id}",
+ $post_type->labels->name,
+ 'wp_nav_menu_item_post_type_meta_box',
+ 'nav-menus',
+ 'side',
+ $priority,
+ $post_type
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -251,9 +291,18 @@
</span><span class="cx" style="display: block; padding: 0 10px"> foreach ( $taxonomies as $tax ) {
</span><span class="cx" style="display: block; padding: 0 10px"> /** This filter is documented in wp-admin/includes/nav-menu.php */
</span><span class="cx" style="display: block; padding: 0 10px"> $tax = apply_filters( 'nav_menu_meta_box_object', $tax );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( $tax ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $id = $tax->name;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- add_meta_box( "add-{$id}", $tax->labels->name, 'wp_nav_menu_item_taxonomy_meta_box', 'nav-menus', 'side', 'default', $tax );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ add_meta_box(
+ "add-{$id}",
+ $tax->labels->name,
+ 'wp_nav_menu_item_taxonomy_meta_box',
+ 'nav-menus',
+ 'side',
+ 'default',
+ $tax
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -298,17 +347,26 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <input type="hidden" value="custom" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-type]" />
</span><span class="cx" style="display: block; padding: 0 10px"> <p id="menu-item-url-wrap" class="wp-clearfix">
</span><span class="cx" style="display: block; padding: 0 10px"> <label class="howto" for="custom-menu-item-url"><?php _e( 'URL' ); ?></label>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input id="custom-menu-item-url" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-url]" type="text"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="code menu-item-textbox form-required" placeholder="https://" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input id="custom-menu-item-url" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-url]"
+ type="text"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?>
+ class="code menu-item-textbox form-required" placeholder="https://"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> </p>
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> <p id="menu-item-name-wrap" class="wp-clearfix">
</span><span class="cx" style="display: block; padding: 0 10px"> <label class="howto" for="custom-menu-item-name"><?php _e( 'Link Text' ); ?></label>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input id="custom-menu-item-name" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-title]" type="text"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="regular-text menu-item-textbox" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input id="custom-menu-item-name" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-title]"
+ type="text"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?>
+ class="regular-text menu-item-textbox"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> </p>
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> <p class="button-controls wp-clearfix">
</span><span class="cx" style="display: block; padding: 0 10px"> <span class="add-to-menu">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-custom-menu-item" id="submit-customlinkdiv" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input id="submit-customlinkdiv" name="add-custom-menu-item"
+ type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?>
+ class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> <span class="spinner"></span>
</span><span class="cx" style="display: block; padding: 0 10px"> </span>
</span><span class="cx" style="display: block; padding: 0 10px"> </p>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -414,6 +472,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! empty( $privacy_policy_page_id ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $privacy_policy_page = get_post( $privacy_policy_page_id );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( $privacy_policy_page instanceof WP_Post && 'publish' === $privacy_policy_page->post_status ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $privacy_policy_page->privacy_policy_page = true;
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -484,7 +543,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $current_tab = $_REQUEST[ $tab_name ];
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- if ( ! empty( $_REQUEST[ 'quick-search-posttype-' . $post_type_name ] ) ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( ! empty( $_REQUEST[ "quick-search-posttype-{$post_type_name}" ] ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px"> $current_tab = 'search';
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -500,35 +559,50 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $most_recent_url = '';
</span><span class="cx" style="display: block; padding: 0 10px"> $view_all_url = '';
</span><span class="cx" style="display: block; padding: 0 10px"> $search_url = '';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( $nav_menu_selected_id ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $most_recent_url = esc_url( add_query_arg( $tab_name, 'most-recent', remove_query_arg( $removed_args ) ) );
- $view_all_url = esc_url( add_query_arg( $tab_name, 'all', remove_query_arg( $removed_args ) ) );
- $search_url = esc_url( add_query_arg( $tab_name, 'search', remove_query_arg( $removed_args ) ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $most_recent_url = add_query_arg( $tab_name, 'most-recent', remove_query_arg( $removed_args ) );
+ $view_all_url = add_query_arg( $tab_name, 'all', remove_query_arg( $removed_args ) );
+ $search_url = add_query_arg( $tab_name, 'search', remove_query_arg( $removed_args ) );
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <div id="posttype-<?php echo esc_attr( $post_type_name ); ?>" class="posttypediv">
- <ul id="posttype-<?php echo esc_attr( $post_type_name ); ?>-tabs" class="posttype-tabs add-menu-item-tabs">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div id="<?php echo esc_attr( "posttype-{$post_type_name}" ); ?>" class="posttypediv">
+ <ul id="<?php echo esc_attr( "posttype-{$post_type_name}-tabs" ); ?>" class="posttype-tabs add-menu-item-tabs">
</ins><span class="cx" style="display: block; padding: 0 10px"> <li <?php echo ( 'most-recent' === $current_tab ? ' class="tabs"' : '' ); ?>>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <a class="nav-tab-link" data-type="tabs-panel-posttype-<?php echo esc_attr( $post_type_name ); ?>-most-recent" href="<?php echo $most_recent_url; ?>#tabs-panel-posttype-<?php echo $post_type_name; ?>-most-recent">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <a class="nav-tab-link"
+ data-type="<?php echo esc_attr( "tabs-panel-posttype-{$post_type_name}-most-recent" ); ?>"
+ href="<?php echo esc_url( $most_recent_url . "#tabs-panel-posttype-{$post_type_name}-most-recent" ); ?>"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php _e( 'Most Recent' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </a>
</span><span class="cx" style="display: block; padding: 0 10px"> </li>
</span><span class="cx" style="display: block; padding: 0 10px"> <li <?php echo ( 'all' === $current_tab ? ' class="tabs"' : '' ); ?>>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <a class="nav-tab-link" data-type="<?php echo esc_attr( $post_type_name ); ?>-all" href="<?php echo $view_all_url; ?>#<?php echo $post_type_name; ?>-all">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <a class="nav-tab-link"
+ data-type="<?php echo esc_attr( "{$post_type_name}-all" ); ?>"
+ href="<?php echo esc_url( $view_all_url . "#{$post_type_name}-all" ); ?>"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php _e( 'View All' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </a>
</span><span class="cx" style="display: block; padding: 0 10px"> </li>
</span><span class="cx" style="display: block; padding: 0 10px"> <li <?php echo ( 'search' === $current_tab ? ' class="tabs"' : '' ); ?>>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <a class="nav-tab-link" data-type="tabs-panel-posttype-<?php echo esc_attr( $post_type_name ); ?>-search" href="<?php echo $search_url; ?>#tabs-panel-posttype-<?php echo $post_type_name; ?>-search">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <a class="nav-tab-link"
+ data-type="<?php echo esc_attr( "tabs-panel-posttype-{$post_type_name}-search" ); ?>"
+ href="<?php echo esc_url( $search_url . "#tabs-panel-posttype-{$post_type_name}-search" ); ?>"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php _e( 'Search' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </a>
</span><span class="cx" style="display: block; padding: 0 10px"> </li>
</span><span class="cx" style="display: block; padding: 0 10px"> </ul><!-- .posttype-tabs -->
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <div id="tabs-panel-posttype-<?php echo esc_attr( $post_type_name ); ?>-most-recent" class="tabs-panel <?php echo ( 'most-recent' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php esc_attr_e( 'Most Recent' ); ?>" tabindex="0">
- <ul id="<?php echo esc_attr( $post_type_name ); ?>checklist-most-recent" class="categorychecklist form-no-clear">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div id="<?php echo esc_attr( "tabs-panel-posttype-{$post_type_name}-most-recent" ); ?>"
+ class="tabs-panel <?php echo ( 'most-recent' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>"
+ role="region" aria-label="<?php esc_attr_e( 'Most Recent' ); ?>" tabindex="0"
+ >
+ <ul id="<?php echo esc_attr( "{$post_type_name}checklist-most-recent" ); ?>"
+ class="categorychecklist form-no-clear"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $recent_args = array_merge(
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $recent_args = array_merge(
</ins><span class="cx" style="display: block; padding: 0 10px"> $args,
</span><span class="cx" style="display: block; padding: 0 10px"> array(
</span><span class="cx" style="display: block; padding: 0 10px"> 'orderby' => 'post_date',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -536,7 +610,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'posts_per_page' => 15,
</span><span class="cx" style="display: block; padding: 0 10px"> )
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $most_recent = $get_posts->query( $recent_args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $most_recent = $get_posts->query( $recent_args );
+
</ins><span class="cx" style="display: block; padding: 0 10px"> $args['walker'] = $walker;
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -558,17 +633,30 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * @param array $box Arguments passed to `wp_nav_menu_item_post_type_meta_box()`.
</span><span class="cx" style="display: block; padding: 0 10px"> * @param array $recent_args An array of `WP_Query` arguments for 'Most Recent' tab.
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $most_recent = apply_filters( "nav_menu_items_{$post_type_name}_recent", $most_recent, $args, $box, $recent_args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $most_recent = apply_filters(
+ "nav_menu_items_{$post_type_name}_recent",
+ $most_recent,
+ $args,
+ $box,
+ $recent_args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $most_recent ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', $most_recent ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </ul>
</span><span class="cx" style="display: block; padding: 0 10px"> </div><!-- /.tabs-panel -->
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <div class="tabs-panel <?php echo ( 'search' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" id="tabs-panel-posttype-<?php echo esc_attr( $post_type_name ); ?>-search" role="region" aria-label="<?php echo esc_attr( $post_type->labels->search_items ); ?>" tabindex="0">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div id="<?php echo esc_attr( "tabs-panel-posttype-{$post_type_name}-search" ); ?>"
+ class="tabs-panel <?php echo ( 'search' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>"
+ role="region" aria-label="<?php echo esc_attr( $post_type->labels->search_items ); ?>" tabindex="0"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- if ( isset( $_REQUEST[ 'quick-search-posttype-' . $post_type_name ] ) ) {
- $searched = esc_attr( $_REQUEST[ 'quick-search-posttype-' . $post_type_name ] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( isset( $_REQUEST[ "quick-search-posttype-{$post_type_name}" ] ) ) {
+ $searched = esc_attr( $_REQUEST[ "quick-search-posttype-{$post_type_name}" ] );
</ins><span class="cx" style="display: block; padding: 0 10px"> $search_results = get_posts(
</span><span class="cx" style="display: block; padding: 0 10px"> array(
</span><span class="cx" style="display: block; padding: 0 10px"> 's' => $searched,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -583,22 +671,41 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <p class="quick-search-wrap">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <label for="quick-search-posttype-<?php echo esc_attr( $post_type_name ); ?>" class="screen-reader-text">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <label for="<?php echo esc_attr( "quick-search-posttype-{$post_type_name}" ); ?>" class="screen-reader-text">
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="cx" style="display: block; padding: 0 10px"> _e( 'Search' );
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </label>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input type="search"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="quick-search" value="<?php echo $searched; ?>" name="quick-search-posttype-<?php echo esc_attr( $post_type_name ); ?>" id="quick-search-posttype-<?php echo esc_attr( $post_type_name ); ?>" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input type="search"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?>
+ class="quick-search" value="<?php echo $searched; ?>"
+ name="<?php echo esc_attr( "quick-search-posttype-{$post_type_name}" ); ?>"
+ id="<?php echo esc_attr( "quick-search-posttype-{$post_type_name}" ); ?>"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> <span class="spinner"></span>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <?php submit_button( __( 'Search' ), 'small quick-search-submit hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-posttype-' . $post_type_name ) ); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <?php
+ submit_button(
+ __( 'Search' ),
+ 'small quick-search-submit hide-if-js',
+ 'submit',
+ false,
+ array( 'id' => "submit-quick-search-posttype-{$post_type_name}" )
+ );
+ ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> </p>
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <ul id="<?php echo esc_attr( $post_type_name ); ?>-search-checklist" data-wp-lists="list:<?php echo esc_attr( $post_type_name ); ?>" class="categorychecklist form-no-clear">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <ul id="<?php echo esc_attr( "{$post_type_name}-search-checklist" ); ?>"
+ data-wp-lists="<?php echo esc_attr( "list:{$post_type_name}" ); ?>"
+ class="categorychecklist form-no-clear"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php if ( ! empty( $search_results ) && ! is_wp_error( $search_results ) ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> $args['walker'] = $walker;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $search_results ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', $search_results ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php elseif ( is_wp_error( $search_results ) ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <li><?php echo $search_results->get_error_message(); ?></li>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -608,13 +715,20 @@
</span><span class="cx" style="display: block; padding: 0 10px"> </ul>
</span><span class="cx" style="display: block; padding: 0 10px"> </div><!-- /.tabs-panel -->
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <div id="<?php echo esc_attr( $post_type_name ); ?>-all" class="tabs-panel tabs-panel-view-all <?php echo ( 'all' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php echo esc_attr( $post_type->labels->all_items ); ?>" tabindex="0">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div id="<?php echo esc_attr( "{$post_type_name}-all" ); ?>"
+ class="tabs-panel tabs-panel-view-all <?php echo ( 'all' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>"
+ role="region" aria-label="<?php echo esc_attr( $post_type->labels->all_items ); ?>" tabindex="0"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php if ( ! empty( $page_links ) ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <div class="add-menu-item-pagelinks">
</span><span class="cx" style="display: block; padding: 0 10px"> <?php echo $page_links; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </div>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php endif; ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <ul id="<?php echo esc_attr( $post_type_name ); ?>checklist" data-wp-lists="list:<?php echo esc_attr( $post_type_name ); ?>" class="categorychecklist form-no-clear">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+ <ul id="<?php echo esc_attr( "{$post_type_name}checklist" ); ?>"
+ data-wp-lists="<?php echo esc_attr( "list:{$post_type_name}" ); ?>"
+ class="categorychecklist form-no-clear"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> $args['walker'] = $walker;
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -658,13 +772,23 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * @param array $args An array of `WP_Query` arguments.
</span><span class="cx" style="display: block; padding: 0 10px"> * @param WP_Post_Type $post_type The current post type object for this menu item meta box.
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $posts = apply_filters( "nav_menu_items_{$post_type_name}", $posts, $args, $post_type );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $posts = apply_filters(
+ "nav_menu_items_{$post_type_name}",
+ $posts,
+ $args,
+ $post_type
+ );
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $checkbox_items = walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $posts ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $checkbox_items = walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', $posts ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> echo $checkbox_items;
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </ul>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php if ( ! empty( $page_links ) ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <div class="add-menu-item-pagelinks">
</span><span class="cx" style="display: block; padding: 0 10px"> <?php echo $page_links; ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -672,14 +796,19 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <?php endif; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </div><!-- /.tabs-panel -->
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <p class="button-controls wp-clearfix" data-items-type="posttype-<?php echo esc_attr( $post_type_name ); ?>">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <p class="button-controls wp-clearfix" data-items-type="<?php echo esc_attr( "posttype-{$post_type_name}" ); ?>">
</ins><span class="cx" style="display: block; padding: 0 10px"> <span class="list-controls hide-if-no-js">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input type="checkbox"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> id="<?php echo esc_attr( $tab_name ); ?>" class="select-all" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input type="checkbox"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?>
+ id="<?php echo esc_attr( $tab_name ); ?>" class="select-all"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> <label for="<?php echo esc_attr( $tab_name ); ?>"><?php _e( 'Select All' ); ?></label>
</span><span class="cx" style="display: block; padding: 0 10px"> </span>
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> <span class="add-to-menu">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-post-type-menu-item" id="<?php echo esc_attr( 'submit-posttype-' . $post_type_name ); ?>" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?>
+ class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>"
+ name="add-post-type-menu-item" id="<?php echo esc_attr( "submit-posttype-{$post_type_name}" ); ?>"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> <span class="spinner"></span>
</span><span class="cx" style="display: block; padding: 0 10px"> </span>
</span><span class="cx" style="display: block; padding: 0 10px"> </p>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -786,7 +915,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $current_tab = $_REQUEST[ $tab_name ];
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- if ( ! empty( $_REQUEST[ 'quick-search-taxonomy-' . $taxonomy_name ] ) ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( ! empty( $_REQUEST[ "quick-search-taxonomy-{$taxonomy_name}" ] ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px"> $current_tab = 'search';
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -802,35 +931,50 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $most_used_url = '';
</span><span class="cx" style="display: block; padding: 0 10px"> $view_all_url = '';
</span><span class="cx" style="display: block; padding: 0 10px"> $search_url = '';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( $nav_menu_selected_id ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $most_used_url = esc_url( add_query_arg( $tab_name, 'most-used', remove_query_arg( $removed_args ) ) );
- $view_all_url = esc_url( add_query_arg( $tab_name, 'all', remove_query_arg( $removed_args ) ) );
- $search_url = esc_url( add_query_arg( $tab_name, 'search', remove_query_arg( $removed_args ) ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $most_used_url = add_query_arg( $tab_name, 'most-used', remove_query_arg( $removed_args ) );
+ $view_all_url = add_query_arg( $tab_name, 'all', remove_query_arg( $removed_args ) );
+ $search_url = add_query_arg( $tab_name, 'search', remove_query_arg( $removed_args ) );
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <div id="taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>" class="taxonomydiv">
- <ul id="taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>-tabs" class="taxonomy-tabs add-menu-item-tabs">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div id="<?php echo esc_attr( "taxonomy-{$taxonomy_name}" ); ?>" class="taxonomydiv">
+ <ul id="<?php echo esc_attr( "taxonomy-{$taxonomy_name}-tabs" ); ?>" class="taxonomy-tabs add-menu-item-tabs">
</ins><span class="cx" style="display: block; padding: 0 10px"> <li <?php echo ( 'most-used' === $current_tab ? ' class="tabs"' : '' ); ?>>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <a class="nav-tab-link" data-type="tabs-panel-<?php echo esc_attr( $taxonomy_name ); ?>-pop" href="<?php echo $most_used_url; ?>#tabs-panel-<?php echo esc_attr( $taxonomy_name ); ?>-pop">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <a class="nav-tab-link"
+ data-type="<?php echo esc_attr( "tabs-panel-{$taxonomy_name}-pop" ); ?>"
+ href="<?php echo esc_url( $most_used_url . "#tabs-panel-{$taxonomy_name}-pop" ); ?>"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php echo esc_html( $taxonomy->labels->most_used ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </a>
</span><span class="cx" style="display: block; padding: 0 10px"> </li>
</span><span class="cx" style="display: block; padding: 0 10px"> <li <?php echo ( 'all' === $current_tab ? ' class="tabs"' : '' ); ?>>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <a class="nav-tab-link" data-type="tabs-panel-<?php echo esc_attr( $taxonomy_name ); ?>-all" href="<?php echo $view_all_url; ?>#tabs-panel-<?php echo esc_attr( $taxonomy_name ); ?>-all">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <a class="nav-tab-link"
+ data-type="<?php echo esc_attr( "tabs-panel-{$taxonomy_name}-all" ); ?>"
+ href="<?php echo esc_url( $view_all_url . "#tabs-panel-{$taxonomy_name}-all" ); ?>"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php _e( 'View All' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </a>
</span><span class="cx" style="display: block; padding: 0 10px"> </li>
</span><span class="cx" style="display: block; padding: 0 10px"> <li <?php echo ( 'search' === $current_tab ? ' class="tabs"' : '' ); ?>>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <a class="nav-tab-link" data-type="tabs-panel-search-taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>" href="<?php echo $search_url; ?>#tabs-panel-search-taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <a class="nav-tab-link"
+ data-type="<?php echo esc_attr( "tabs-panel-search-taxonomy-{$taxonomy_name}" ); ?>"
+ href="<?php echo esc_url( $search_url . "#tabs-panel-search-taxonomy-{$taxonomy_name}" ); ?>"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php _e( 'Search' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </a>
</span><span class="cx" style="display: block; padding: 0 10px"> </li>
</span><span class="cx" style="display: block; padding: 0 10px"> </ul><!-- .taxonomy-tabs -->
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <div id="tabs-panel-<?php echo esc_attr( $taxonomy_name ); ?>-pop" class="tabs-panel <?php echo ( 'most-used' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->most_used ); ?>" tabindex="0">
- <ul id="<?php echo esc_attr( $taxonomy_name ); ?>checklist-pop" class="categorychecklist form-no-clear" >
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div id="<?php echo esc_attr( "tabs-panel-{$taxonomy_name}-pop" ); ?>"
+ class="tabs-panel <?php echo ( 'most-used' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>"
+ role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->most_used ); ?>" tabindex="0"
+ >
+ <ul id="<?php echo esc_attr( "{$taxonomy_name}checklist-pop" ); ?>"
+ class="categorychecklist form-no-clear"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $popular_terms = get_terms(
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $popular_terms = get_terms(
</ins><span class="cx" style="display: block; padding: 0 10px"> array(
</span><span class="cx" style="display: block; padding: 0 10px"> 'taxonomy' => $taxonomy_name,
</span><span class="cx" style="display: block; padding: 0 10px"> 'orderby' => 'count',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -839,24 +983,41 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'hierarchical' => false,
</span><span class="cx" style="display: block; padding: 0 10px"> )
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> $args['walker'] = $walker;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $popular_terms ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', $popular_terms ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </ul>
</span><span class="cx" style="display: block; padding: 0 10px"> </div><!-- /.tabs-panel -->
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <div id="tabs-panel-<?php echo esc_attr( $taxonomy_name ); ?>-all" class="tabs-panel tabs-panel-view-all <?php echo ( 'all' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->all_items ); ?>" tabindex="0">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div id="<?php echo esc_attr( "tabs-panel-{$taxonomy_name}-all" ); ?>"
+ class="tabs-panel tabs-panel-view-all <?php echo ( 'all' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>"
+ role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->all_items ); ?>" tabindex="0"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php if ( ! empty( $page_links ) ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <div class="add-menu-item-pagelinks">
</span><span class="cx" style="display: block; padding: 0 10px"> <?php echo $page_links; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </div>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php endif; ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <ul id="<?php echo esc_attr( $taxonomy_name ); ?>checklist" data-wp-lists="list:<?php echo esc_attr( $taxonomy_name ); ?>" class="categorychecklist form-no-clear">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+ <ul id="<?php echo esc_attr( "{$taxonomy_name}checklist" ); ?>"
+ data-wp-lists="<?php echo esc_attr( "list:{$taxonomy_name}" ); ?>"
+ class="categorychecklist form-no-clear"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> $args['walker'] = $walker;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $terms ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', $terms ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </ul>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php if ( ! empty( $page_links ) ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <div class="add-menu-item-pagelinks">
</span><span class="cx" style="display: block; padding: 0 10px"> <?php echo $page_links; ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -864,10 +1025,12 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <?php endif; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </div><!-- /.tabs-panel -->
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <div class="tabs-panel <?php echo ( 'search' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" id="tabs-panel-search-taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>" role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->search_items ); ?>" tabindex="0">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div id="<?php echo esc_attr( "tabs-panel-search-taxonomy-{$taxonomy_name}" ); ?>"
+ class="tabs-panel <?php echo ( 'search' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>"
+ role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->search_items ); ?>" tabindex="0">
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- if ( isset( $_REQUEST[ 'quick-search-taxonomy-' . $taxonomy_name ] ) ) {
- $searched = esc_attr( $_REQUEST[ 'quick-search-taxonomy-' . $taxonomy_name ] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( isset( $_REQUEST[ "quick-search-taxonomy-{$taxonomy_name}" ] ) ) {
+ $searched = esc_attr( $_REQUEST[ "quick-search-taxonomy-{$taxonomy_name}" ] );
</ins><span class="cx" style="display: block; padding: 0 10px"> $search_results = get_terms(
</span><span class="cx" style="display: block; padding: 0 10px"> array(
</span><span class="cx" style="display: block; padding: 0 10px"> 'taxonomy' => $taxonomy_name,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -884,22 +1047,41 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <p class="quick-search-wrap">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <label for="quick-search-taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>" class="screen-reader-text">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <label for="<?php echo esc_attr( "quick-search-taxonomy-{$taxonomy_name}" ); ?>" class="screen-reader-text">
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="cx" style="display: block; padding: 0 10px"> _e( 'Search' );
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </label>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input type="search" class="quick-search" value="<?php echo $searched; ?>" name="quick-search-taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>" id="quick-search-taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input type="search"
+ class="quick-search" value="<?php echo $searched; ?>"
+ name="<?php echo esc_attr( "quick-search-taxonomy-{$taxonomy_name}" ); ?>"
+ id="<?php echo esc_attr( "quick-search-taxonomy-{$taxonomy_name}" ); ?>"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> <span class="spinner"></span>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <?php submit_button( __( 'Search' ), 'small quick-search-submit hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-taxonomy-' . $taxonomy_name ) ); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <?php
+ submit_button(
+ __( 'Search' ),
+ 'small quick-search-submit hide-if-js',
+ 'submit',
+ false,
+ array( 'id' => "submit-quick-search-taxonomy-{$taxonomy_name}" )
+ );
+ ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> </p>
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <ul id="<?php echo esc_attr( $taxonomy_name ); ?>-search-checklist" data-wp-lists="list:<?php echo esc_attr( $taxonomy_name ); ?>" class="categorychecklist form-no-clear">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <ul id="<?php echo esc_attr( "{$taxonomy_name}-search-checklist" ); ?>"
+ data-wp-lists="<?php echo esc_attr( "list:{$taxonomy_name}" ); ?>"
+ class="categorychecklist form-no-clear"
+ >
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php if ( ! empty( $search_results ) && ! is_wp_error( $search_results ) ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> $args['walker'] = $walker;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $search_results ), 0, (object) $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ echo walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', $search_results ),
+ 0,
+ (object) $args
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php elseif ( is_wp_error( $search_results ) ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <li><?php echo $search_results->get_error_message(); ?></li>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -909,14 +1091,19 @@
</span><span class="cx" style="display: block; padding: 0 10px"> </ul>
</span><span class="cx" style="display: block; padding: 0 10px"> </div><!-- /.tabs-panel -->
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <p class="button-controls wp-clearfix" data-items-type="taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <p class="button-controls wp-clearfix" data-items-type="<?php echo esc_attr( "taxonomy-{$taxonomy_name}" ); ?>">
</ins><span class="cx" style="display: block; padding: 0 10px"> <span class="list-controls hide-if-no-js">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input type="checkbox"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> id="<?php echo esc_attr( $tab_name ); ?>" class="select-all" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input type="checkbox"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?>
+ id="<?php echo esc_attr( $tab_name ); ?>" class="select-all"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> <label for="<?php echo esc_attr( $tab_name ); ?>"><?php _e( 'Select All' ); ?></label>
</span><span class="cx" style="display: block; padding: 0 10px"> </span>
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> <span class="add-to-menu">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-taxonomy-menu-item" id="<?php echo esc_attr( 'submit-taxonomy-' . $taxonomy_name ); ?>" />
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?>
+ class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>"
+ name="add-taxonomy-menu-item" id="<?php echo esc_attr( "submit-taxonomy-{$taxonomy_name}" ); ?>"
+ />
</ins><span class="cx" style="display: block; padding: 0 10px"> <span class="spinner"></span>
</span><span class="cx" style="display: block; padding: 0 10px"> </span>
</span><span class="cx" style="display: block; padding: 0 10px"> </p>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -991,6 +1178,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> return $items_saved;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1085,6 +1273,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $some_pending_menu_items = false;
</span><span class="cx" style="display: block; padding: 0 10px"> $some_invalid_menu_items = false;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> foreach ( (array) $menu_items as $menu_item ) {
</span><span class="cx" style="display: block; padding: 0 10px"> if ( isset( $menu_item->post_status ) && 'draft' === $menu_item->post_status ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $some_pending_menu_items = true;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1095,16 +1284,25 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> if ( $some_pending_menu_items ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $result .= '<div class="notice notice-info notice-alt inline"><p>' . __( 'Click Save Menu to make pending menu items public.' ) . '</p></div>';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $result .= '<div class="notice notice-info notice-alt inline"><p>'
+ . __( 'Click Save Menu to make pending menu items public.' )
+ . '</p></div>';
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> if ( $some_invalid_menu_items ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $result .= '<div class="notice notice-error notice-alt inline"><p>' . __( 'There are some invalid menu items. Please check or delete them.' ) . '</p></div>';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $result .= '<div class="notice notice-error notice-alt inline"><p>'
+ . __( 'There are some invalid menu items. Please check or delete them.' )
+ . '</p></div>';
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $result .= '<ul class="menu" id="menu-to-edit"> ';
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $result .= walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $menu_items ), 0, (object) array( 'walker' => $walker ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $result .= walk_nav_menu_tree(
+ array_map( 'wp_setup_nav_menu_item', $menu_items ),
+ 0,
+ (object) array( 'walker' => $walker )
+ );
</ins><span class="cx" style="display: block; padding: 0 10px"> $result .= ' </ul> ';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> return $result;
</span><span class="cx" style="display: block; padding: 0 10px"> } elseif ( is_wp_error( $menu ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> return $menu;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1141,10 +1339,19 @@
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function _wp_delete_orphaned_draft_menu_items() {
</span><span class="cx" style="display: block; padding: 0 10px"> global $wpdb;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px"> $delete_timestamp = time() - ( DAY_IN_SECONDS * EMPTY_TRASH_DAYS );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> // Delete orphaned draft menu items.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $menu_items_to_delete = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS m ON p.ID = m.post_id WHERE post_type = 'nav_menu_item' AND post_status = 'draft' AND meta_key = '_menu_item_orphaned' AND meta_value < %d", $delete_timestamp ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $menu_items_to_delete = $wpdb->get_col(
+ $wpdb->prepare(
+ "SELECT ID FROM $wpdb->posts AS p
+ LEFT JOIN $wpdb->postmeta AS m ON p.ID = m.post_id
+ WHERE post_type = 'nav_menu_item' AND post_status = 'draft'
+ AND meta_key = '_menu_item_orphaned' AND meta_value < %d",
+ $delete_timestamp
+ )
+ );
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> foreach ( (array) $menu_items_to_delete as $menu_item_id ) {
</span><span class="cx" style="display: block; padding: 0 10px"> wp_delete_post( $menu_item_id, true );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1254,7 +1461,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> // Remove non-existent/deleted menus.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $nav_menu_option['auto_add'] = array_intersect( $nav_menu_option['auto_add'], wp_get_nav_menus( array( 'fields' => 'ids' ) ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $nav_menu_option['auto_add'] = array_intersect(
+ $nav_menu_option['auto_add'],
+ wp_get_nav_menus( array( 'fields' => 'ids' ) )
+ );
+
</ins><span class="cx" style="display: block; padding: 0 10px"> update_option( 'nav_menu_options', $nav_menu_option );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> wp_defer_term_counting( false );
</span></span></pre>
</div>
</div>
</body>
</html>