Come posso nascondere il link delle Badge nella barra laterale?

Immagino che la personalizzazione della barra laterale verrà aggiunta a tempo debito, ma per ora vorrei rimuovere il link “Badge”, o almeno nasconderlo in “Altro…”

Dovrei semplicemente usare il CSS per nasconderlo, per ora?

Non riesco a capire il CSS. I div che contengono i link sono della classe sidebar-section-link-wrapper senza id. Quando provo a nascondere il tag a con a.sidebar-section-link-badges { display: none; } non nasconde nulla.

2 Mi Piace

Ciao, nel menu hamburger ho usato “nth-child” per fare questo tipo di cose

https://www.w3schools.com/cssref/sel_nth-child.asp

1 Mi Piace

nth-child è molto utile per molte cose, tuttavia in questo caso penso che sia probabilmente pericoloso. Poiché si basa esclusivamente sui numeri, per questo richiederebbe la garanzia che i Badge rimangano nella stessa posizione.

Se qualcos’altro viene aggiunto/rimosso/spostato prima di esso, la posizione dei Badge cambierà, il che potrebbe portare alla rivelazione dei Badge, a qualcos’altro nascosto e ciò potrebbe passare inosservato.

:has() è ideale per questo, tuttavia purtroppo il suo supporto è ancora limitato, in particolare è disabilitato per impostazione predefinita in Firefox e manca in molti browser mobili.

Se nasconderlo non è fondamentale per te, cioè è accettabile nasconderlo dove possibile per la migliore esperienza pur essendo visibile nei browser che non supportano ancora :has(), puoi utilizzare il seguente selettore:

sidebar-section-link-wrapper:has(a.sidebar-section-link-badges) { display: none; }
1 Mi Piace

Grazie per le idee. Probabilmente farò così per ora. Ma spero che gli id possano essere aggiunti.

1 Mi Piace

Ciao,

Puoi nasconderlo con questo. :slightly_smiling_face:

.sidebar-section-link-wrapper {
  .sidebar-section-link.sidebar-section-link-badges {
    display: none;
  }
}
6 Mi Piace

Ho appena copiato e incollato questo nel mio vecchio componente tema (che faceva lo stesso con il vecchio menu hamburger) e ha funzionato! Grazie mille, e grazie ancora a tutti gli altri.

3 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Purtroppo questo CSS non sembra funzionare con 2.9.0beta12… qualche idea? :slight_smile:

Questo funziona ancora per me sull’ultima versione.


Puoi condividere il tuo codice?

1 Mi Piace

Mi scuso. Funziona. L’avevo commentato a causa del bug con il link “Altro”.

Quel bug è che il link viene visualizzato anche quando non ci sono opzioni di menu “Altro”. Con il numero di opzioni sul mio forum, con l’opzione Badge presente, anche se non la voglio lì, almeno “Altro” ha qualcosa da fare! (Il problema rimane… quando sei sulla pagina Badge stessa, il link inutile “Altro” è lì.) "More..." shows in sidebar when there is nothing more

Per qualche motivo la funzione “incolla url su testo per creare collegamento ipertestuale” non ha funzionato durante la modifica di questo post.

Capisco. In realtà penso che non sia un bug perché le opzioni del menu Altro sono lì ma nascoste, quindi non è vuoto. Ma se ho capito bene, nascondi tutto all’interno del menu Altro? Se è così, penso che nascondere l’intera sezione Altro sarebbe meglio?

Per nascondere il menu a tendina Altro da tutte le pagine:

// nasconde il menu Altro da tutte le pagine
.sidebar-more-section-links-details {
  display: none;
}

Se vuoi nasconderlo in una pagina specifica puoi usare la classe del body per indirizzarla.
Puoi trovarla qui.

Ad esempio, nella pagina dei badge apparirà così:

// nasconde il menu Altro da una pagina specifica (badge)
body.badges-page {
  .sidebar-more-section-links-details {
    display: none;
  }
}

Questo nasconderà il menu a tendina Altro ma mostrerà Badge nella barra laterale.


Ma se usi il codice precedente per nascondere i Badge, anche quelli non verranno visualizzati.

// nasconde la voce del menu Altro dei badge
.sidebar-section-link-wrapper {
  .sidebar-section-link.sidebar-section-link-badges {
    display: none;
  }
}

// nasconde il menu Altro da una pagina specifica (badge)
body.badges-page {
  .sidebar-more-section-links-details {
    display: none;
  }
}

1 Mi Piace

Lo vedo come un bug perché non penso che un’opzione “Altro” dovrebbe mai apparire a meno che non ci siano altre cose e quindi fare clic su “Altro” abbia qualche effetto. Il bug report è qui: "More..." shows in sidebar when there is nothing more

Questo argomento è stato chiuso automaticamente dopo 617 giorni. Non sono più consentite nuove risposte.