Hinzufügen von Ankern in WordPress-Menüs

Ich möchte die Option hinzufügen, einen Anker zu meiner Seite auf der Seite des Menüs hinzuzufügen.

Standardmäßig enthält der Link das Navigation Label mit dem Link zur Seite und den Link Remove und Cancel . Ich muss jedoch eine Seite mit einem benannten Anker hinzufügen. Bis jetzt habe ich alle meine Links mit Custom Links hinzugefügt, aber ich würde es vorziehen, meine Seite hinzufügen zu können, falls sich mein slug ändert.

Ist das möglich über functions.php , oder vielleicht ein Plugin?

Solutions Collecting From Web of "Hinzufügen von Ankern in WordPress-Menüs"

Es gibt einen spezifischen Filter für die Attribute jedes Navigationselements : nav_menu_link_attributes .

So können Sie in Ihre functions.php Datei etwas wie:

 function mysite_add_anchor( $atts, $item, $args ) { $atts['href'] .= ( !empty( $item->xfn ) ? '#' . $item->xfn : '' ); return $atts; } add_filter( 'nav_menu_link_attributes', 'mysite_add_anchor', 10, 3 ); 

Überprüfen Sie die Verknüpfungsbeziehung (XFN), und wenn es nicht leer ist, fügt es das an dem Ende Ihrer Verknüpfung mit dem # hinzu.

Ein paar Dinge, wenn Sie im Menüeintrag “Link-Beziehung” nicht sehen, überprüfen Sie die “Bildschirmoptionen” am oberen Rand und aktivieren Sie das Kontrollkästchen. Außerdem können Sie fast alle anderen Eigenschaften verwenden, die Sie momentan nicht für die erweiterten Menüeigenschaften verwenden.

https://codex.wordpress.org/Appearance_Menus_Screen

Nicht sicher, ob Link-Beziehung nicht die richtige ist, aber es ist diejenige, die ich am wenigsten verwende.

Hinweis: Ich habe den Code nicht getestet.

Benutzerdefinierte Links sind die einfachste Lösung. Sie können das Menü immer ändern, wenn Sie den Slug ändern. Und ja, das kann in ein Plugin (oder die functions.php Datei Ihres Themes) umgesetzt werden, vielleicht könnten Sie eine Checkbox auf dem Bearbeitungsbildschirm für Post / Seite haben, die das Verhalten des Seitenlinks so ändert, dass example.com/some-page dies example.com/some-page becode example.com/#some-page .