Description
Menu Item Types facilite l’ajout de liens vers vos pages d’archives, de titres, d’éléments sans URL, de paragraphes ou d’images dans vos menus de navigation.
Vous pouvez aussi également facilement surcharger les modèles et/ou créer vos propres éléments personnalisés.
Create your own item type
You need to declare your new type in, functions.php, a plugin, child theme, or your custom theme like this :
function register_my_custom_type(){
$args = array(
'slug' => "my-custom-type",
'label' => __( 'My Custom Type', 'my-custom-type' ),
'render' => 'path/to/render/my-custom-render.php',
);
mitypes_register_type( $args );
}
add_action( 'mitypes_init', 'register_my_custom_type' );
You can do more than that on $args.
$args = array(
'slug' => "my-custom-type",
'label' => __( 'My Custom Type', 'my-custom-type' ),
'render' => 'path/to/my-custom-type-render.php',
// Link your custom icon
'icon' => 'https://url-to-icon-file.svg',
// Return ACF Group field array
'field-group' => [
'key' => 'uniq_key',
'title' => 'Group Title',
'fields => [
...
],
'location' => [
[
[
'param' => 'mitypes',
'operator' => '==',
'value' => 'my-custom-type',
],
],
],
],
// Use callback for customize your item
// you can add filter on 'mitypes_nav_menu_link_attributes' if you need
'callback' => function(){ ... }
);
And finally, you can work in the render with some variables.
You have two variables available:
// $item is the WP_Post of the menu item, with which you can, for example, retrieve custom field data.
$id = get_field( 'acf-slug', $item->ID ) ;
// $args is an object containing the complete configuration of the wp_nav_menu() call,
// including the current menu (WP_Term), classes, IDs, wrappers, depth, walker, menu location, etc.
// More info : https://developer.wordpress.org/reference/functions/wp_nav_menu/
Il y a déjà des extensions additionnelles.
Vous pouvez également créer vos propres éléments comme le font ces extensions :
Personnalisez l’extension
// Disable Post Type Archive Metabox
add_filter( 'mitypes_has_post_type_archive_metabox', '__return_false' ) ;
// Disable Buildin Item types
add_filter( 'mitypes_has_buildin_item_types', '__return_false' ) ;
// Mix Buildin and Plugin Item types in the metabox
add_filter( 'mitypes_mix_metabox_item_types', '__return_true' ) ;
// Filter Supported Item types
add_filter( 'mitypes_supported_types', function(){ return ['image']; } );
// Disable Nav Item Icons
add_filter( 'mitypes_nav_menu_items_has_icons', '__return_false' ) ;
Installation
- Installer l’extension et l’activer.
- Aller sur Apparence > Menu
- Si les nouvelles boîtes méta ne sont pas visibles, utilisez les options d’écran
FAQ
-
Mes éléments n’ont pas de styles
-
Menu Item Types ne fournis pas de mise en forme graphique. Il fournit les outils pour créer vos propres éléments.
-
ACF est-il indispensable ?
-
Comment ajouter mes propres champs personnalisés ?
-
Menu Item Types ajoute un nouvel emplacement ACF pour cibler les différents types d’éléments de menu.
Avis
Contributeurs/contributrices & développeurs/développeuses
« Menu Item Types » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
Contributeurs“Menu Item Types” a été traduit dans 1 locale. Remerciez l’équipe de traduction pour ses contributions.
Traduisez « Menu Item Types » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal des modifications
1.7
- Fix : mitypes_init hook timing
- Fix : buildin paragraph slug (maybe if you excluded it with the error, it will be back in your admin, sorry)
- Fix : image size in Image type
- Update readme.txt with more code information (thanks to Shoulders for his help)
- PHP 8.x required
1.6
- Fix : translation’s notices
- Add : user’s locale support
1.5
- Add : 2 hooks mitypes_init & mitypes_setup
- Add : mitypes_register_type() function
- Add : callback in type definition for exec actions or attach hooks ater loading the type
- Fix : field-group loading logic
- Fix : image type render
1.4
- Add filter : mitypes_nav_menu_items_has_icons
1.3
- Fix : fix ACF location match. now you can create a location test with the menu item type name & another native item type.
1.2
- Add filter : mitypes_has_post_type_archive_metabox
- Add filter : mitypes_has_buildin_item_types
- Add filter : mitypes_mix_metabox_item_types
- Add filter : mitypes_supported_types
- Add filter : mitypes_has_{$type}_item_type_support
- Add render callback option : thx ogorzalka PR
- Improve svg support : thx ogorzalka PR
- Improve ACF’s test : thx alexwoollam PR
1.1
- Amélioration de la prise en charge des éléments personnalisés avec la possibilité de déclarer une icône.
- Correction du libellé post_type_archive
1.0
- Lancement
