Come fare in modo che la voce di menu di primo livello non abbia un collegamento, ma abbia dei sottomenu collegati?
-
-
Puoifarlo usandojs.prova questo articolo.http://www.kvcodes.com/2014/07/make-menu-link-wordpress-without-adding-page/You can do this by using js. try this article. http://www.kvcodes.com/2014/07/make-menu-link-wordpress-without-adding-page/
- 0
- 2016-02-16
- Kvvaradha
-
Nella casella dell'URL,lasciala vuota.In the URL box, leave it blank.
- 0
- 2018-07-11
- AMY WANG
-
Nessuno hamenzionato la classe WP_NAV_MENU_WALKER,potresti scrivereiltuo deambulatore che sputafuori quello che vuoi.Nobody mentioned the WP_NAV_MENU_WALKER Class, you could write your own walker that spits out what you want.
- 0
- 2018-09-18
- user3135691
18 risposta
- voti
-
- 2011-10-05
Ho alcuneidee:
- Impostail linkpersonalizzato su
#
chenon restituirànulla - Aggiungi una classepersonalizzata aglielementie quindi utilizzajQueryper rimuoverei collegamenti.
- Utilizza un PHPequivalente almetodojQuery
- Utilizzailplug-in Disabilita collegamento almenuprincipale (o smontaloe scriviiltuo)
I have a few ideas:
- Set the custom link to
#
which won't return anything - Add a custom class to the items and then use jQuery to remove the links.
- Use a PHP equivalent to the jQuery method
- Use the Disable Parent Menu Link plugin (or take it apart and write your own)
-
Grazieperi suggerimentie i link!Come suggerito da Gavin,l'uso di un #per un collegamentopersonalizzato "funziona";le altre opzionipossonofunzionaremeglio,anche senon sono cosìfacili.Bene,ilplugin èprobabilmentefacile,ma odio usarei plugin seposso realizzare la stessa cosain modopiù diretto.Dovrò decidere l'approcciomigliore.Grazie ancora!Thank You for the tips and links! As Gavin suggested, using a # for a custom link "works"; the other options may work better, though aren't as easy. Well, the plugin is probably easy but I hate to use plugins if I can accomplish the same thing more directly. I'll have to decide the best approach. Thanks again!
- 1
- 2011-10-05
- PVA
-
Seprevedi di usarloin dispositivitattili,fai attenzione a usare "href=" "` vuotoperché lamaggiorparte degli utenti di dispositivitattilinon saràin grado di vedereilmenu a discesa senza usare JSIf you plan to use it in tactile devices, be careful with using empty `href=""`because most tactile device users won't be able to see dropdown menu without using JS
- 0
- 2013-11-21
- Simon
-
I collegamenti siinterrompono.Potresti voler lavorare alcune di questeideenellatua rispostaLinks break. You might want to work a few of these ideas into your answer
- 0
- 2015-05-13
- shea
-
Inoltre,# 2e # 3 si riferiscono a `wp_list_pages ()`,non a `wp_nav_menu ()`Also, #2 and #3 refer to `wp_list_pages()`, not `wp_nav_menu()`
- 0
- 2015-05-13
- shea
-
- 2011-10-05
Ilmodopiù sempliceperfarlo senza unplugin o altro è usare lafunzione "Menu" di WordPress.Ecco leistruzioniper WordPress 4.8:
- Dalla dashboard di WordPress,vai su "Aspetto -> Menu"
- Nella scheda "Modificamenu",seleziona "Linkpersonalizzati"
- Per l'URL,inserisci "#" (senza virgolette)
- Periltesto del collegamento,inserisciiltesto desideratoperil livello superiore delmenu a discesa
- Fai clic sulpulsante "Aggiungi almenu"
- Trascina la voce dimenunellaposizione desiderata all'interno delmenu
- Per la voce dimenu che hai appena aggiunto,fai clic sullafrecciagiù a destra dell'elemento (leggerà "linkpersonalizzato" a sinistra dell'elemento)
- Rimuoviil "#" dall'URL.Questo,in tuttii browser,convertiràil collegamentoin testonormale.
- Fai clic sulpulsante "Salvamenu"
The easiest way to do it without a plugin or anything is to use the "Menus" function of WordPress. Here are the instructions for WordPress 4.8:
- From your WordPress dashboard, go to "Appearance -> Menus"
- In the "Edit Menus" tab, select "Custom Links"
- For the URL, Enter "#" (no quotes)
- For the link text, enter your desired text for the top level of your drop-down menu
- Click the "Add to Menu" button
- Drag the menu item to its desired position within your menu
- For the menu item you just added, click the down arrow to the right of the item (it will read "custom link" to the left of the item)
- Remove the "#" from the URL. This - in all browsers - will convert the link to plain text.
- Click on the "Save Menu" button
-
Grazieperil suggerimento.Èez,anche senonperfettoin quanto leetichette sembrano ancora "collegamenti" quandopassiilmouse,manon vanno danessunaparte.Quindipuòfunzionarein unpizzico.Thank You for that tip. It's ez, though not perfect in that the Labels still look like "links" when you mouseover, but they don't go anywhere. So it can work in a pinch.
- 0
- 2011-10-05
- PVA
-
Hai lettotuttoil commento?* Dopo aver aggiuntoil collegamento,fare clic sullafreccia delmenu a discesa accanto alnome del collegamentoe rimuovere "#" dalla casella ditesto dell'URL.Questo,in tuttii browser,farà sì cheil collegamentonon sia selezionabile. *Did you read the whole comment? *After the link is added, click the dropdown arrow by the link's name, and remove the "#" from the URL textbox. This, in all browsers, will cause the link to not be clickable.*
- 1
- 2011-10-06
- GavinR
-
Sì,grazie,ho letto l'intero commento.Sonotornatoindietroe hoprovato dinuovoe ho capitoilmioproblema.Quando lascioil #,laparola apparenellabarra dinavigazionema come un "collegamentomorto".Quando ho rimossoil simbolo #,laparolanon apparivanellabarra dinavigazione ameno chenon cipassassi sopra conilmousee apparissein uno stato dipassaggio delmouse.Quindipresumo che ciò significhi che devo applicare CSS allaparolain modo che appaia senzaessere collegata.Non sono sicuro delmotivoper cui lo stato di hover sipresenta ...Yes, thank you, I did read the whole comment. I went back through and tried again and realized my problem. When I leave the #, the word appears in the navbar but as a "dead link". When I removed the # the word didn't appear in the navbar unless I hovered over it and it would appear in a hover state. So I assume that means I have to apply CSS to the word so that it appears without being linked. I'm not sure why the hover state shows up...
- 1
- 2011-10-06
- PVA
-
Questo è ancorain 4.9.5,tuttavianon sono sicuroin quanto "sembra" un vantaggio di hacking di unbug.Altrimenti .. salverà lepersone da un sacco dimal ditesta ... Questo è unpo 'comeilfatto che Wordpress consideri "1 2 3 4 5 6" unapassword complessa ... ancora.This still in 4.9.5, however I'm not sure as it 'feels' like a hack tacking advantage of a bug. If not.. it's going to save people a lot of headaches... This is kind of like the fact that Wordpress considers "1 2 3 4 5 6" a strong password...still.
- 0
- 2018-05-22
- brooklynsweb
-
Cordiali saluti,seeseguiilpassaggio 8 (per qualsiasimotivo valido),il cursorenon sarà unpuntatore quandopassiilmouse sul collegamentopersonalizzato.Intal caso,puoimodellarlo conpointer: cursor.FYI, if you do Step 8 (for whatever good reason), then your cursor won't be a pointer when you hover over the custom link. In that case, you could style it with pointer:cursor.
- 1
- 2018-11-17
- MarsAndBack
-
Sì,il collegamentonon è cliccabile utilizzando questometodo,mailtesto è ancora racchiusoin un anchortag,che è semanticamenteerrato!Yes, the link is not clickable by utilising this method, but text is still wrapped in anchor tag, which is semantically incorrect!
- 0
- 2020-08-27
- Lovor
-
- 2014-09-27
Ilmetodopiù semplice che hoescogitatoera creare unelemento Linkpersonalizzato conil valore URL link di
#
. Questo stainviando l'utente a un hash vuoto sulla stessapagina,quindifondamentalmentenon si collega danessunaparte.Tuttavia,l'utilizzo di hash vuotiperi collegamenti segnapostopresenta alcunieffetti collaterali. Il collegamento verrà comunque visualizzatoe si comporterà come un collegamento,quindipotrebbe confondere un utente quandofa clic su quello che sembraessere un collegamentomanon accadenulla. L'altroeffetto è chefacendo clic su un link hash vuoto sovrascriverà qualsiasi hashesistente,inviando l'utente all'inizio dellapagina. Questopotrebbenonessere cosìpreoccupanteper unmenu che sitrova comunquenellaparte superiore dellapagina,ma è abbastanza sconcertante quando lapagina saltainaspettatamente quandononte lo aspetti,specialmente se questo èper unmenu apiè dipagina.
La soluzione è combinareilmetodo hash vuoto con unaparte di codiceper rilevare quando vengono utilizzati collegamenti hash vuotinelmenue rimuovere completamente l'attributo
href
da quel collegamento. Unelementoa
senza un attributohref
è metodo HTML 5 corretto per creare un collegamento segnaposto./** * Rimuovi l'href dai link vuoti "& lt; a href=" # ">`nei menu dinavigazione * @param string $menuilmenu HTML corrente * @return stringailmenu HTMLmodificato */ add_filter ('wp_nav_menu_items',function ($menu) { return str_replace ('& lt; a href="#"','& lt; a',$menu); }); The simplest method I came up with was to create a Custom Link item with the Link URL value of
#
. This is sending the user to an empty hash on the same page, so basically links nowhere.However, there are some side-effects of using empty hashes for placeholder links. The link will still appear and behave like a link, so it could confuse a user when they are clicking on what appears to be a link but nothing happens. The other effect is that clicking on an empty hash link will override any existing hash, sending the user to the top of the page. This might not be so worrying for a menu which is at the top of the page anyway, but it is quite jarring when the page unexpectedly jumps when you are not expecting it, especially if this is for a footer menu.
The solution is to combine the empty hash method with a piece of code to detect when empty hash links are used in the menu and to remove the
href
attribute from that link entirely. Ana
element without ahref
attribute is the correct HTML 5 method of creating an placeholder link./** * Remove the href from empty links `<a href="#">` in the nav menus * @param string $menu the current menu HTML * @return string the modified menu HTML */ add_filter( 'wp_nav_menu_items', function ( $menu ) { return str_replace( '<a href="#"', '<a', $menu ); } );
-
Puoipersinomodificare l'interotag: "'],[''],$menu); });?> `.Bastanon dimenticare di aggiungereilmenu a discesatramite css ojs.You can even change the whole a tag: `'], [''], $menu ); } ); ?>`. Just don't forget to add the dropdown by css or js.
- 0
- 2020-04-02
- quasi
-
- 2016-10-13
Questo hafunzionatoperme:
Ho attivato Classi CSS in Menu> Opzioni schermo> Classi CSS Poi ho dato l'elemento dimenu che volevo disattivare la classe ".nolink" e ho aggiunto questopezzo di codice almiopannello CSSpersonalizzato:
.nolink { pointer-events: none; cursor: default; }
This worked for me:
I activated CSS Classes in Menus > Screen Options > CSS Classes Then I gave the menu element that I wanted to deactivate the class ".nolink" and added this piece of code to my custom CSS panel:
.nolink { pointer-events: none; cursor: default; }
-
Questo uccide ancheilmenu a discesa.This kills dropdown too.
- 0
- 2017-06-28
- user385917
-
Utilizzare `` # '' come destinazione del collegamentoe quindi applicare una classe CSSpersonalizzataper scopi di stile,è la soluzionemeno hacker secondome.Tuttavia,l'impostazione di ``pointer-events:none ''non hamolto sensoperme,poichéinterromperài sottomenu.Potresti approfondireilmotivoper cui haiimpostato quell'attributo?Using ``#`` as the link target and then applying a custom CSS class for styling purposes, is the least hacky solution in my opinion. However, setting ``pointer-events: none`` does not make a lot of sense for me, since it will break sub menus. Could you elaborate on why you set that attribute?
- 0
- 2019-07-04
- user1438038
-
- 2017-11-11
Utilizzando l'approccio PHP ho aggiunto questo codice afunctions.php:
function remove_link_contact_menu($item_output, $item) { if ($item->post_name == 'contact') return '<span>' . $item->title . '</span>'; return $item_output; } add_filter('walker_nav_menu_start_el', 'remove_link_contact_menu', 20, 2); add_filter('megamenu_walker_nav_menu_start_el', 'remove_link_contact_menu', 20, 2);
Questo sostituiràil link con unelemento spanperilmenuitem conpost_name=="contact",che è quello che stavo cercando.Puoi cambiarlofacilmenteper verificareiltitolo delmenu o l'ID,oppure aggiungere del codiceper verificare se ha voci dimenufiglio,ecc.
Using the PHP approach I added this code to functions.php:
function remove_link_contact_menu($item_output, $item) { if ($item->post_name == 'contact') return '<span>' . $item->title . '</span>'; return $item_output; } add_filter('walker_nav_menu_start_el', 'remove_link_contact_menu', 20, 2); add_filter('megamenu_walker_nav_menu_start_el', 'remove_link_contact_menu', 20, 2);
This will replace the link with a span element for the item menu with the post_name == "contact", which is what I was looking for. You can easily change that to check for the menu title or the ID, or add some code to check if it has any child menu items etc.
-
- 2017-11-20
Apprezzo che questo sia un vecchiothread,maper unmodo rapidoe sporco di avere un collegamentoin Wordpress è rendere l'URL del collegamento come:
<"#_"
Notail carattere di sottolineatura dopo l'hashtag.In questomodo,seiltuomenu scorre lapagina versoilbasso (cioè risolto),non si ottiene un salto all'inizio dellapagina quando sifa clic su diessoe non ènecessario alcunplug-in/script.
Appreciate this is an old thread, but for a quick and dirty way of having a link in Wordpress is by making the link URL as:
#_
Notice the underscore after the hashtag. This way if your menu scrolls down the page (ie. fixed), you don't get a jump to the top of the page when clicking on it and doesn't require any plugins/script.
-
- 2018-08-13
Crea la voce dimenu "Linkpersonalizzati"e aggiungi "javascript :;"(senza virgolette)peril campo URL.Questo è unmodomigliore rispetto all'utilizzo di "#"perchénonfarà scorrere lapagina verso l'alto quando viene cliccato.
Create "Custom Links" menu item and add "javascript:;" (without quotes) for the URL field. This is better way than using "#" because it won't scroll your page to the top when clicked.
-
- 2014-07-28
Ho risoltoin questomodo:in header.php (deltuotema) ho cercato:
'link_before' => '', 'link_after' => '',
e sostituito con:
'link_before' => '<script>var scriptTag=document.getElementsByTagName("script");scriptTag=scriptTag[scriptTag.length-1];if(scriptTag.parentNode.href)if(scriptTag.parentNode.href.slice(-1)=="#")document.write("<span onclick=\"return false\">")</script>', 'link_after' => '<script>var scriptTag=document.getElementsByTagName("script");scriptTag=scriptTag[scriptTag.length-1];if(scriptTag.parentNode.href)if(scriptTag.parentNode.href.slice(-1)=="#")document.write("</span>")</script>',
Inparole semplici,questo script controlla seil suo collegamentoprincipaletermina con "#",in questo caso aggiunge unelemento span attorno al contenuto deltag A,che disabilitail clic.
Spero che aiuti :-)
I solved this way: in header.php (of your theme) I searched for:
'link_before' => '', 'link_after' => '',
and replaced with:
'link_before' => '<script>var scriptTag=document.getElementsByTagName("script");scriptTag=scriptTag[scriptTag.length-1];if(scriptTag.parentNode.href)if(scriptTag.parentNode.href.slice(-1)=="#")document.write("<span onclick=\"return false\">")</script>', 'link_after' => '<script>var scriptTag=document.getElementsByTagName("script");scriptTag=scriptTag[scriptTag.length-1];if(scriptTag.parentNode.href)if(scriptTag.parentNode.href.slice(-1)=="#")document.write("</span>")</script>',
In simple words, this script checks if its parent link ends with "#", in this case it adds a span element around the content of the A tag, that disables the click.
Hope it helps :-)
-
Ciao,so che questa è una vecchia risposta,maper riferimentofuturo,non andrei semplicemente a cambiareilfile diintestazione deltuotemaperché quando si aggiornerà dopotuttoiltuo codice verrà sovrascritto.La soluzionemiglioreper questo è creare untemafiglio coniltuo codicepersonalizzato.Hi, I know this is an old answer but for future reference, I wouldn't just go in and change your themes header file because when it updates next all your code will be overwritten. The best solution for this is to create a child theme with your custom code.
- 0
- 2017-03-21
- Scott
-
- 2015-05-07
Come altri qui hanno suggerito,puoi creare una voce dimenu di collegamentopersonalizzata con # come URL.Quindi cancella la # una volta aggiunta almenu.Infine,puoi utilizzare questa semplice regexper rimuovereiltageffettivo da quei link.
preg_replace('/<a>([^<]+)<\/a>/i', '<span class="no-link">$1</span>', $navHTML);
As others here have suggested you can create a custom link menu item with the # as its url. Then erase the # once it is added to the menu. And finally, you can use this simple regex to strip the actual tag from those links.
preg_replace('/<a>([^<]+)<\/a>/i', '<span class="no-link">$1</span>', $navHTML);
-
- 2016-03-18
Questo rimuoveràil clic (e annullerà lo stile dell'elemento).In questomodo,non ènecessario utilizzarei link #personalizzatinelmenu.
add_action( 'wp_footer', function(){ ?> <script> (function( $ ) { var itemm = $('#main-menu .menu-item-has-children > a'); itemm.click(function(){ document.activeElement && document.activeElement.blur(); return false; }); })(jQuery); </script> <?php }, 1, 0 );
This will remove the click (and unstyle the item). This way, you dont have to use the custom # links in your menu.
add_action( 'wp_footer', function(){ ?> <script> (function( $ ) { var itemm = $('#main-menu .menu-item-has-children > a'); itemm.click(function(){ document.activeElement && document.activeElement.blur(); return false; }); })(jQuery); </script> <?php }, 1, 0 );
-
- 2017-12-21
Mi rendo conto diesserein ritardonelgioco,ma questi sonoi duemetodi che utilizzo:
1) Rendi la voce dimenuprincipale un duplicato dellaprima voce secondariae cambia la suaetichetta.Adesempio,seilprimoelementoin "Prodotti" è "Prodotto 1",utilizza "Prodotto 1" come voce dimenuprincipale,quindimodifica la suaetichettain "Prodotti".In questomodo,sia "Prodotti" che "Prodotto 1"porteranno allapagina Prodotto 1.
2) Aggiungi un reindirizzamentoin modo che lapagina Prodotti venga reindirizzata al Prodotto 1. Il vantaggio di questa opzione è cheti consente di creare unapagina Prodotti vuotaper creare unelencogerarchicoin Pages,ma se qualcuno cerca di andare anellapagina Prodotti vuota,verranno reindirizzati.
I realize I'm late in the game, but these are the two methods I use:
1) Make the parent menu item a duplicate of the first sub-item, and change its label. For example, if the first item under "Products" is "Product 1", use "Product 1" as the parent menu item, then change its label to "Products". That way, both "Products" and "Product 1" will lead to the page Product 1.
2) Add a redirect so that the Products page is redirected to Product 1. The benefit of this option is that it allows you to create a blank Products page to create a hierarchical listing in Pages, but if anyone tries to go to the blank Products page, they will be redirected.
-
- 2018-01-26
Vai su Aspetto,quindifai clic suimenu.In questa sezione vai sotto la struttura delmenue fai clic sullafreccia versoilbassoperespandere lapaginae vedrai una casella che dice disabilita collegamento.Seleziona la casellae salva.
Go to Appearance, then click on menus. In this section go under menu structure and click on the arrow down to expand the page and you'll see a box that says disable link. Check that box and save.
-
Questafunzionalitànon èfornita da core.Forse untema o unplugin lo sta aggiungendo allatua configurazione?This functionality is not provided by core. Perhaps a theme or plugin is adding it to your setup?
- 0
- 2018-01-26
- Dave Romsey
-
L'hogià vistoprima,vorrei sapere qualeplugin otema lo hafatto.I've seen this before too, I wish I knew which plugin or theme did this.
- 0
- 2019-01-15
- DavGarcia
-
- 2018-06-22
- Impostail linkpersonalizzato su # chenon restituirà alcunelemento dell'elenco
-
Aggiungi questofiltro:
add_filter( 'wp_nav_menu_items', 'wpse_remove_empty_links' ); function wpse_remove_empty_links( $menu ) { return preg_replace("/<a href=\"#\">(.+?)<\/a>/is", "<span>$1</span>", $menu); }
-
Modifica lo span CSSper ottenere lo stesso stile di
<a>
,non dimenticarecursor: context-menu;
.
- Set the custom link to # which won't return anything List item
Add this filter:
add_filter( 'wp_nav_menu_items', 'wpse_remove_empty_links' ); function wpse_remove_empty_links( $menu ) { return preg_replace("/<a href=\"#\">(.+?)<\/a>/is", "<span>$1</span>", $menu); }
Edit span CSS to get same style as
<a>
, don't forgetcursor: context-menu;
.
-
- 2019-01-15
Scrivendo dal 1/2019,la soluzione cheproduce HTML5 corretto èfare quanto segue.
- Aggiungi un linkpersonalizzato con l'URLimpostato su #e ilnome che desideri.Entrambii campi sono obbligatori.
- Modificail linkpersonalizzato appena aggiuntoin modo che l'URL sia vuoto.
- Salva lemodifiche.
Questoprodurrà unmenu dinavigazione diprimo livello che è
<a>Menu</a>
che èilmodo correttoper rappresentare un linknon cliccabile.Writing from 1/2019, the solution that produces proper HTML5 is to do the following.
- Add a Custom Link with the URL set to #, and whatever name you'd like. Both fields are required.
- Edit the newly added Custom Link so that the URL is empty.
- Save the changes.
This will produce a top level nav that is
<a>Menu</a>
which is the correct way to represent a non-clickable link. -
- 2019-03-09
Puoi disabilitareglieventi sultag
<a>
pertutte le voci dimenu diprimo livello utilizzandoil csspuro.La classe.main-menu
potrebbe avere un altronomein base alla denominazione delmenu./* disable parent menu items */ ul.main-menu > li > a { pointer-events: none; }
You may disable the events on the
<a>
tag for all first level menu items using pure css..main-menu
class may have another name according to your menu naming./* disable parent menu items */ ul.main-menu > li > a { pointer-events: none; }
-
- 2019-12-23
Crea unmenu di linkpersonalizzato come altri come detto.Visualizzail codice sorgentee cerca l'href del sottomenu,adesempio: #mm-1.Incollalonell'URL del linkpersonalizzatoe salvailmenu.Questofaràfunzionare anche la versionemobile quandotocchiiltesto delmenu.
Create a custom link menu as other as said. View the source code and look for the href of the submenu, for example: #mm-1. Paste this into the URL of the custom link and save the menu. This will make the mobile version work as well when you tap the menu text.
-
- 2020-03-28
Lamia versione è simile a questa:
prima,nelmenunelpannello di amministrazionenel collegamento desideratonel campo
href
metti#
o lascialo vuoto,quindiinfunction.php
vengono aggiuntitemi:function replace_empty_menu_links( $item_output, $item, $depth, $args ) { if ( $item->url == '#' || $item->url == '' ) { $item_output = sprintf( '%1$s<' . 'div' . '%2$s>%3$s%4$s%5$s</' . 'div' . '>%6$s', $args->before, $attributes, $args->link_before, apply_filters( 'the_title', $item->title, $item->ID ), $args->link_after, $args->after ); } return $item_output; } add_filter( 'walker_nav_menu_start_el', 'replace_empty_menu_links', 10, 4 );
Puoi sostituire
'div'
con qualsiasielemento adatto ate.Funzionaper la versione 5.3.2 (testatain questa versione,ma dovrebbefunzionare anchein altre).
In questaforma,il lavoro dituttigli argomenti
'before'
,'after'
,'link_before'
,'link_after'
,ecc. dawp_nav_menu()
vienemantenuto.Inoltre,funziona ancheperi sottomenu.
My version looks like this:
first, in the menu in the admin panel in the desired link in the
href
field put#
or leave it empty, and then infunction.php
themes are added:function replace_empty_menu_links( $item_output, $item, $depth, $args ) { if ( $item->url == '#' || $item->url == '' ) { $item_output = sprintf( '%1$s<' . 'div' . '%2$s>%3$s%4$s%5$s</' . 'div' . '>%6$s', $args->before, $attributes, $args->link_before, apply_filters( 'the_title', $item->title, $item->ID ), $args->link_after, $args->after ); } return $item_output; } add_filter( 'walker_nav_menu_start_el', 'replace_empty_menu_links', 10, 4 );
You can replace
'div'
with any element that suits you.This works for version 5.3.2 (tested in this version, but should work in others too).
In this form, the work of all arguments
'before'
,'after'
,'link_before'
,'link_after'
, etc. fromwp_nav_menu()
is preserved.Also, this works for sub-menus too.
-
- 2015-02-03
Una soluzionemoltopiù semplicepuòesseretrovata su un'altra domanda:
Cerca la risposta di Askelon.Funzionaperfettamente,senzabisogno difarepreg_replaces ojquery.
Much easier solution can be found on another question:
Admin Menu - Highlight top-level menu when on a sub-menu page (without showing sub-menu)
Look for Askelon's answer. Work's perfectly, without needing to do any preg_replaces or jquery.
Sto creando unmenu orizzontalee alcune delle voci di quelmenu avrannomenu a discesa (sottomenu),mentre altreno. Quelli che hanno sottomenunon sonoeffettivamentepagine. Sono solopensatiperessereguideperi menu a discesa.
Adesempio,supponiamo cheilmenu orizzontale sia come segue:
Home| Chi siamo| Prodotti| Indicazioni| Contatta
E l'elemento li "prodotti" deve avere 3pagine collegatein unelenco a discesa verticale sottostante,quindi "prodotti"in sénon rappresentaeffettivamente unapagina,comepossofarloin WP?
(Uso WP come CMS,con home statichee pagineinterne. Costruiscoi mieimodelli,modificoi menuin CSS,quindi registroi menuin functions.phpe li chiamonei modelli.) In WPtu aggiungere voci aimenutramite l'elenco dellepagine otramitei collegamentipersonalizzati. Manon voglio chei "prodotti" siano collegati. Senon aggiungo un collegamento al collegamentopersonalizzato,non saràpossibile aggiungerlo almenu.
Èpossibiletramitei menu admin o devo affrontarloin un altromodo?
Grazieper qualsiasi aiuto!