Ik wil in wordpress een optie geven om custom menu items aan de menu bewerker toe te voegen.
Binnen wordpress kan je een eigen menu aanmaken, hierin heb je een aantal keuzes om items aan je eigen menu toe te voegen zoals Pagina's, Berichten, Links, etc. Nu wil ik alleen een eigen categorie aanmaken met een aantal eigen opties om aan het menu toe te voegen. Helaas kan ik alleen nergens vinden hoe ik hier iets aan toe kan voegen. Is er iemand die mij hier iets verder mee kan helpen?
- Wordpress custom menu item toevoegen
-
17-10-2013, 19:55 #1
- Berichten
- 415
- Lid sinds
- 17 Jaar
Wordpress custom menu item toevoegen
-
-
17-10-2013, 20:30 #2
- Berichten
- 186
- Lid sinds
- 17 Jaar
Re: Wordpress custom menu item toevoegen
Hallo, Je maakt je categorie handmatig aan en dan zet je de opties eronder en schuif je een heel klein beetje naar rechts. Ik heb ooit wel eens meegemaakt met een oude versie van Firefox dat het niet lukte.
-
17-10-2013, 20:35 #3
- Berichten
- 415
- Lid sinds
- 17 Jaar
Re: Wordpress custom menu item toevoegen
Bedankt voor je reactie maar niet helemaal wat ik bedoel.
Het probleem is niet dat ik de categorieën of iets anders niet aan het menu kan toevoegen. Ik wil een eigen optie in mijn Theme toevoegen waarmee ik bijvoorbeeld een seperator kan toevoegen aan het menu. Ik wil dus de optie seperator toevoegen zodat ik die gewoon in het menu kan slepen.
-
17-10-2013, 20:44 #4
- Berichten
- 186
- Lid sinds
- 17 Jaar
Re: Wordpress custom menu item toevoegen
Ja dat begrijp ik. Zodra je de nieuwe categorie hebt geplaatst kun je deze een klein beetje naar rechts slepen. Als het niet lukt, stuur even via pm je e-mailadres dan maak ik even een screenshot voor je.
-
17-10-2013, 20:53 #5
- Berichten
- 415
- Lid sinds
- 17 Jaar
Re: Wordpress custom menu item toevoegen
Met een stukje naar rechts slepen van een categorie krijg je alleen de categorie als sub-item in het menu toegevoegd.
Ik wil dus een eigen blokje op de beheer pagina krijgen waar ik wat eigen eigenschappen aan kan hangen.
Hier even een geweldig stukje photoshop om te laten zien wat ik bedoel;
-
18-10-2013, 06:52 #6
- Berichten
- 59
- Lid sinds
- 15 Jaar
Re: Wordpress custom menu item toevoegen
Je kunt de menu items een CSS class geven, bijv. .separator. In style.css plaats je .separator { border-right: 1px solid #000; }. CSS classes dient wel eerst onder de Screen Options aangevinkt te worden.
-
18-10-2013, 07:09 #7
- Berichten
- 5.661
- Lid sinds
- 18 Jaar
Re: Wordpress custom menu item toevoegen
Misschien is deze mega menu plugin anders wat voor je: http://wordpress.org/plugins/jquery-mega-menu/
Heb je het volgende al geprobeerd:
- hoofdmenu-item 'Mijn eigen categorie' aanmaken (type Link), linkend naar #
- daaronder je submenu-items separator 1 en 2 aanmaken
Er zijn ook plugins waarin je aan kunt geven welke menu-items alleen voor admins zichtbaar zijn (al zou dat ook best eens vanuit Wordpress zelf kunnen, echter nooit nodig gehad)Laatst aangepast door B. van der Weerd : 18-10-2013 om 07:15 Reden: Aanvulling
-
18-10-2013, 11:57 #8
- Berichten
- 7
- Lid sinds
- 11 Jaar
Re: Wordpress custom menu item toevoegen
Ik denk niet dat jullie snappen wat het probleem is.
Wat Henk G. wil is dat er een Custom Post Type wordt ontwikkeld, die vervolgens hieraan gekoppeld kan worden.
Namelijk, nadat je een Custom Post Type hebt aangemaakt, en de capabilities van show_in_nav_menus aangezet zijn, dan kan je je items op basis van deze post type. Dat is wat hij wil. Dit heeft niks met CSS/Categorieën te maken.
-
18-10-2013, 12:10 #9
- Berichten
- 415
- Lid sinds
- 17 Jaar
Re: Wordpress custom menu item toevoegen
@MatsWillemsen:
Dit is inderdaad redelijk wat ik zoek, zo heb ik hem nu ook even uitgevoerd en vervolgens de custom posttype uit het menu gehaald. Ik vindt het alleen geen erg mooie oplossing, ik heb nu namelijk een eigen post categorie aangemaakt waar ik vervolgens een aantal 'berichten' in plaats die vervolgens nooit meer aangepast hoeven te worden.
Ik was dus eigenlijk vooral benieuwd of dit zelfde effect te creëren was zonder een custom posttype te gebruiken.
Ik zie ook dat mijn eigen omschrijvingen niet erg duidelijk zijn. Dus even een aanvulling;
Ik beb bezig met het ontwikkelen van een eigen theme voor gebruikers zonder enigen programmeer kennis. Doormiddel van slechts enkelen stappen moeten zij het theme dus kunnen personaliseren. Nu wilde ik de menu functionaliteit alleen uitbreiden door een het toevoegen van seperators, dit laten doen door middel van css toe voegen is alleen voor mijn doelgroep te 'riskant'.
Hiervoor wil ik dus een eigen 'blokje' dat ze alleen nog maar in het menu hoeven te slepen.
Nu heb ik dit dus gerealiseerd door een custom posttype waarin ik bij installatie de standaard seperators toevoeg, alleen vind ik dit geen echt mooie oplossing. Ik was dus eigenlijk opzoek naar een methode om direct items te kunnen toevoegen zonder direct een posttype te hoeven aanmaken.
-
18-10-2013, 12:30 #10
- Berichten
- 7
- Lid sinds
- 11 Jaar
Re: Wordpress custom menu item toevoegen
Er is helaas geen standaard Wordpress-manier om dat te doen. Ik ben geen groot fan van plugins, dus ik kan je wel uitleggen hoe dit werkt.
In het voorbeeld van een Custom Post Type wordt er een 'meta-box' aangemaakt bij de nav-menus locatie. Dit kan je dus ook uitvoeren zonder dat je een Custom Post Type maakt.
Gebruik hier bijvoorbeeld de volgende code voor:
Code:<?php function add_static_page_meta() { add_meta_box( 'static-nav-box', __('Static Pages'), 'display_static_page_meta', 'nav-menus', 'side', 'default ); } function display_static_page_meta() { ?> <p id="menu-item-static-box"> test </p> <?php } ?>
Er is meer dat hieraan gekoppeld moet worden, je moet namelijk zorgen dat je een save-knop krijgt die mee wordt gekoppeld aan de wp-admin/includes/nav-menu-functies als 'wp_nav_menu_update_menu_items'.
Het is lastiger dan je initieel zou denken, maar het is wel de enige manier als je het helemaal 'clean' wil doen. Verder werkt het wel als reguliere meta-boxes, alleen met een andere locatie en ajax-handler.
EDIT: Meer informatie over het aanmaken van zo'n box (wel wat meer dan average Wordpress-kennis vereist):
Een WP-Nav-Menu vereist een aantal dingen van zijn custom meta box (zie ook wel de functie wp_nav_menu_item_link_meta_box(); de meest simpele versie van een meta-box daar).
1: Een hidden input-type met naam menu-item[waarde $_nav_menu_placeholder][menu-item-type] met als value de naam van je custom meta box
2: Een input met naam menu-item[waarde $_nav_menu_placeholder][menu-item-url] met als value de waarde van de URL die je toe wil voegen
3: Een input met naam menu-item[waarde $_nav_menu_placeholder][menu-item-title] met als waarde de naam van je URL (dus hetgeen wat tussen de <a href=""></a> tags komt te staan.
4: Een submit-button (vaak met de value <?php esc_attr_e('Add to Menu'); ?> voor localisatie).
Als je dit allemaal goed invult, dan zorgt wp_save_nav_menu_items voor de rest.Laatst aangepast door MatsWillemsen : 18-10-2013 om 12:45
-
18-10-2013, 12:55 #11
- Berichten
- 415
- Lid sinds
- 17 Jaar
Re: Wordpress custom menu item toevoegen
@MatsWillemsen: Ja, opzich niet heel vreemd dat die daar mee aan te roepen is maar absoluut niet aan gedacht.
Ik ga hier in het weekend eens mee lopen vechten, ik krijg nu nog een volledig witte pagina (helemaal niks meer) als ik de code toevoeg maar dat zal wel iets kleins zijn.
Bedankt!
Bedankt voor je aanvulling, dat moet mij een heel eind op weg helpen!
-
18-10-2013, 12:56 #12
- Berichten
- 7
- Lid sinds
- 11 Jaar
Re: Wordpress custom menu item toevoegen
Schijnbaar kan ik mijn eigen posts niet meer editen. Dit is een beetje de placeholder voor je meta-box
Code:<?php function add_static_page_meta() { add_meta_box( 'static-nav-box', __('Static Pages'), 'display_static_page_meta', 'nav-menus', 'side', 'default' ); } function display_static_page_meta() { global $_nav_menu_placeholder, $nav_menu_selected_id; $_nav_menu_placeholder = 0 > $_nav_menu_placeholder ? $_nav_menu_placeholder - 1 : -1; //Hier moet je ergens een WP_Query doen op basis van de elementen die je toe wil voegen. Je kan dit ook statisch inprogrammeren. ?> <div class="staticpagediv" id="staticpagediv"> <input type="hidden" value="custom" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-type]" /> <!-- Hier kan je simpelweg twee checkboxes toevoegen. --> <? //Als je de class Walker_Nav_Menu_Checklist gebruikt om de content toe te voegen, krijg je deze automatisch 'Wordpress-Achtig' ?> <p class="button-controls"> <span class="add-to-menu"> <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-custom-menu-item" id="submit-customlinkdiv" /> <span class="spinner"></span> </span> </p> </div> } ?>
Ik kan je dus aanraden om Walker_Nav_Menu_Checklist te gebruiken in combinatie met de volgende functie:
Code:$args['walker'] = $walker; echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $items), 0, (object) $args );
Laatst aangepast door MatsWillemsen : 18-10-2013 om 13:01
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic