mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
Fix menu settings compatibility issue
This commit is contained in:
@@ -9,7 +9,7 @@ class UM_Menu_Item_Custom_Fields_Editor {
|
||||
* Initialize plugin
|
||||
*/
|
||||
public static function init() {
|
||||
add_action( 'wp_nav_menu_item_custom_fields', array( __CLASS__, '_fields' ), 10, 4 );
|
||||
add_action( 'wp_nav_menu_item_custom_fields', array( __CLASS__, '_fields' ), 1, 4 );
|
||||
add_action( 'wp_update_nav_menu_item', array( __CLASS__, '_save' ), 10, 3 );
|
||||
add_filter( 'manage_nav-menus_columns', array( __CLASS__, '_columns' ), 99 );
|
||||
|
||||
|
||||
@@ -5,18 +5,21 @@ class UM_Menu_Item_Custom_Fields_Walker extends Walker_Nav_Menu_Edit {
|
||||
function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
|
||||
$item_output = '';
|
||||
parent::start_el( $item_output, $item, $depth, $args, $id );
|
||||
$output .= preg_replace(
|
||||
// NOTE: Check this regex from time to time!
|
||||
'/(?=<p[^>]+class="[^"]*field-move)/',
|
||||
$this->get_fields( $item, $depth, $args ),
|
||||
$item_output
|
||||
);
|
||||
|
||||
if( $new_fields = $this->get_fields( $item, $depth, $args, $id ) ){
|
||||
$item_output = preg_replace('/(?=<div[^>]+class="[^"]*submitbox)/', $new_fields, $item_output);
|
||||
}
|
||||
|
||||
$output .= $item_output;
|
||||
|
||||
}
|
||||
|
||||
protected function get_fields( $item, $depth, $args = array(), $id = 0 ) {
|
||||
ob_start();
|
||||
|
||||
$id = esc_attr( $item->ID );
|
||||
if( isset( $item->ID ) ){
|
||||
$id = esc_attr( $item->ID );
|
||||
}
|
||||
|
||||
do_action( 'wp_nav_menu_item_custom_fields', $id, $item, $depth, $args );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user