acf_form_nav_menu::wp_nav_menu_item_custom_fields()publicACF 5.6.9

wp_nav_menu_item_custom_fields

description

Метод класса: acf_form_nav_menu{}

Хуков нет.

Возвращает

type. Description.

Использование

$acf_form_nav_menu = new acf_form_nav_menu();
$acf_form_nav_menu->wp_nav_menu_item_custom_fields( $item_id, $item, $depth, $args, $id );
$item_id (обязательный)
-
$item (обязательный)
-
$depth (обязательный)
-
$args (обязательный)
-
$id **
-
По умолчанию: ''

Список изменений

С версии 5.6.9 Введена.

Код acf_form_nav_menu::wp_nav_menu_item_custom_fields() ACF 6.0.4

<?php
function wp_nav_menu_item_custom_fields( $item_id, $item, $depth, $args, $id = '' ) {

	// vars
	$prefix = "menu-item-acf[$item_id]";

	// get field groups
	$field_groups = acf_get_field_groups(
		array(
			'nav_menu_item'       => $item->type,
			'nav_menu_item_id'    => $item_id,
			'nav_menu_item_depth' => $depth,
		)
	);

	// render
	if ( ! empty( $field_groups ) ) {

		// open
		echo '<div class="acf-menu-item-fields acf-fields -clear">';

		// loop
		foreach ( $field_groups as $field_group ) {

			// load fields
			$fields = acf_get_fields( $field_group );

			// bail if not fields
			if ( empty( $fields ) ) {
				continue;
			}

			// change prefix
			acf_prefix_fields( $fields, $prefix );

			// render
			acf_render_fields( $fields, $item_id, 'div', $field_group['instruction_placement'] );
		}

		// close
		echo '</div>';

		// Trigger append for newly created menu item (via AJAX)
		if ( acf_is_ajax( 'add-menu-item' ) ) : ?>
	<script type="text/javascript">
	(function($) {
		acf.doAction('append', $('#menu-item-settings-<?php echo $item_id; ?>') );
	})(jQuery);
	</script>
			<?php
	endif;
	}
}