Cum să adaug javascript:void(0); la un element de meniu în WordPress?

17 mai 2016, 15:29:29
Vizualizări: 16K
Voturi: 2

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.

4
Comentarii

De ce vrei să faci asta?

Sumit Sumit
17 mai 2016 15:39:14

Te rog să specifici dacă vrei să modifici un anumit element din meniu sau toate?

Max Yudin Max Yudin
17 mai 2016 15:53:44

orice link care conține #

user3114253 user3114253
17 mai 2016 17:02:15

@Sumit Echipa SEO dorește așa...

user3114253 user3114253
17 mai 2016 17:02:49
Toate răspunsurile la întrebare 2
2

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;
}
17 mai 2016 18:04:21
Comentarii

Este pur și simplu perfect :)

user3114253 user3114253
18 mai 2016 10:27:04

Notă importantă pentru cei care sunt noi în Wordpress (la fel ca mine): ar trebui să faceți modificări în fișierul functions.php al temei active (/wp-content/themes/yourthemename).

Kirk Hammett Kirk Hammett
27 mar. 2017 16:31:55
0

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.

http://www.wpbeginner.com/beginners-guide/how-to-add-titles-in-wordpress-menu-without-linking-to-a-page/

17 mai 2016 21:08:06