Files
ultimatemember/includes/core/um-navmenu-walker.php
T

34 lines
928 B
PHP
Raw Normal View History

2014-12-15 22:38:07 +02:00
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
if ( ! class_exists( 'UM_Menu_Item_Custom_Fields_Walker' ) ) :
2014-12-15 22:38:07 +02:00
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 );
2016-12-07 22:47:48 +08:00
if( $new_fields = $this->get_fields( $item, $depth, $args, $id ) ){
//$item_output = preg_replace('/(?=<div[^>]+class="[^"]*submitbox)/', $new_fields, $item_output);
$item_output = preg_replace('/(?=<(fieldset|p)[^>]+class="[^"]*field-move)/', $new_fields, $item_output);
2016-12-07 22:47:48 +08:00
}
$output .= $item_output;
2014-12-15 22:38:07 +02:00
}
2017-12-20 11:45:27 +02:00
public function get_fields( $item, $depth, $args = array(), $id = 0 ) {
2014-12-15 22:38:07 +02:00
ob_start();
2016-12-07 22:47:48 +08:00
if( isset( $item->ID ) ){
$id = esc_attr( $item->ID );
}
2016-08-17 11:28:52 +08:00
2014-12-15 22:38:07 +02:00
do_action( 'wp_nav_menu_item_custom_fields', $id, $item, $depth, $args );
return ob_get_clean();
}
}
endif;