Cum să adaug javascript:void(0); la un element de meniu în WordPress?
Doresc să adaug javascript:void(0);
la elementul de link din meniu în loc de #
, dar sistemul nu acceptă niciun cod JavaScript.
Acum mă gândesc să înlocuiesc #
cu javascript:void(0);
folosind filtre, dar nu am găsit filtrul potrivit pentru această sarcină.
Poate cineva să-mi spună care filtru poate fi utilizat pentru această sarcină?
Notă: Știu că acest lucru poate fi făcut cu JavaScript/jQuery, dar este pentru scopuri SEO, așa că trebuie făcut cu PHP pe partea de server și să randez HTML corect pentru Google Spider, pentru a evita problema URL-urilor duplicate.
Nu sunt sigur cum afectează SEO-ul, dar pentru a răspunde la această întrebare:-
Nu poți salva un element de meniu cu javascript:void(0);
deoarece WordPress filtrează URL-ul folosind funcția esc_url()
, eliminând astfel valori nesigure. Acest proces are loc în clasa Nav Walker. Prin urmare, trebuie să modifici URL-ul după ce WordPress a finalizat filtrarea și returnează HTML-ul securizat.
Poți folosi filtrul walker_nav_menu_start_el
dacă tema ta nu are o clasă personalizată de navigare în meniu SAU dacă această clasă are deja acest filtru.
Exemplu:-
add_filter('walker_nav_menu_start_el', 'wpse_226884_replace_hash', 999);
/**
* Înlocuiește # cu js
* @param string $menu_item HTML-ul elementului de meniu
* @return string HTML-ul elementului de meniu modificat
*/
function wpse_226884_replace_hash($menu_item) {
if (strpos($menu_item, 'href="#"') !== false) {
$menu_item = str_replace('href="#"', 'href="javascript:void(0);"', $menu_item);
}
return $menu_item;
}

Metodă Simplă
Primul lucru pe care trebuie să-l faci este să adaugi un nou element în meniu. Poți face acest lucru mergând la Aspect » Meniuri. Vei dori să adaugi un link personalizat, așa că îi vei atribui eticheta dorită. În câmpul URL, introdu semnul #. După ce ai terminat, apasă pe butonul Adaugă în Meniu. Salvează meniul odată ce acest link personalizat a fost adăugat în meniu. Adăugarea unui link personalizat în meniu fără URL
Acum apasă pe săgeata derulantă de lângă acest link personalizat pentru a edita acest element din meniu. Elimină semnul # din câmpul URL și salvează meniul. Dacă te duci pe site-ul live, vei vedea un element de meniu fără link. Poți adăuga submeniuri la acest element și să le legi la orice pagină sau link personalizat dorești. Eliminarea semnului # și crearea unui meniu fără niciun link.
Verifică acest link pentru mai multe detalii.
