Make WordPress Core

Opened 3 years ago

Closed 5 weeks ago

#53214 closed defect (bug) (invalid)

Register Menu Item Custom Field

Reported by: mortezayung's profile mortezayung Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Menus Keywords: close
Focuses: Cc:

Description

Hello, I got problem with adding custom field in menu. I set $depth == 0 for one custom field and it's work perfectly when i saved. But when user drag the menu item and make it 2nd depth, The custom field still show. It should to be hide because i just make it to show in 1nd depth not 2nd depth. I think this issue need to work or there is one solution that i don't know!

This is code

function custom_field( $item_id, $item, $depth ) {
    if ( $depth == 0 ) { ?>
        <p class="description description-wide">   
            Hello World
        </p>
    <?php }
}
add_action( 'wp_nav_menu_item_custom_fields', 'custom_field', 10, 3 );

Change History (3)

#1 @SergeyBiryukov
3 years ago

  • Component changed from General to Menus

#3 @sabernhardt
3 months ago

  • Keywords close added

Hi!

I think this belonged on the support forums.
https://wordpress.org/support/forum/how-to-and-troubleshooting/

If you use the PHP hook to add a custom field at a certain depth, you would need to save changes to show or hide that field.

If you can add the custom field to all items, you could hide it at deeper levels with admin CSS:

#menu-to-edit .menu-item:not(.menu-item-depth-0) .my-custom-field {
	display: none;
}

#4 @phatakraj
5 weeks ago

  • Resolution set to invalid
  • Status changed from new to closed

Thanks for the suggestion! I'll check out the support forums, and I appreciate the tip about using admin CSS to hide the custom field at deeper levels. This is really helpful!

Note: See TracTickets for help on using tickets.