it-swarm.com.de

Deep Link zu einem Akkordeon Tab mit Visual Composer

Ich verwende Visual Composer, um meiner Seite ein Akkordeon hinzuzufügen. Jetzt muss ich in der Lage sein, eine tiefe Verbindung zu beliebigen Elementen im Akkordeon herzustellen. Mit anderen Worten, ich muss in der Lage sein, Leuten Links zu geben, die ein beliebiges Element im Akkordeon öffnen. Eine URL wie /mypage#tab4 könnte also die Registerkarte für das 4. Akkordeon öffnen. Ist das möglich?

Die Dokumentation erwähnt es nicht. Der Quellcode scheint dies nicht zu unterstützen. Außerdem habe ich kein Support-Konto bei WPBakery, da ich nicht der ursprüngliche Entwickler bin.

2
Jeff

Nach dem gleichen Problem habe ich eine grundlegende Lösung gefunden - hoffentlich ist es nicht zu spät für Sie.

Das Visual Composer "Akkordeon Plugin" scheint ein Wrapper um das jQuery UI Akkordeon zu sein. Damit stehen die gleichen Methoden zur Verfügung. Ich habe einen Basiscode (zweifellos Raum für Verbesserungen) geschrieben, der prüft, ob am Ende der URL ein Hash steht, und diesen dann einem Akkordeon-Panel zuordnet (bekommt eine Indexnummer dafür) und dann öffnet . Sie müssen lediglich eine ID zu jedem Akkordeonelement im CMS hinzufügen.

jQuery(window).load(function() {
    if(location.hash) {
        var panelRef = (window.location.hash.substring(1));  
            jQuery(".wpb_accordion_section").each(function(index) {
            if(jQuery(this).attr("id") == panelRef) {
                jQuery('.wpb_accordion_wrapper').accordion("option", "active", index);
            }
        });     
    }
});

Sie können es so ändern, dass statt fest codierter IDs Zahlen verwendet werden (denken Sie jedoch daran, dass die Panels mit 0 indiziert werden).

2
gbuckingham89

Ich weiß, dass es etwas spät ist, es gibt einen viel einfacheren Weg, dies zu tun. Gehen Sie zu Hinzufügen einer Element-ID zu jeder Registerkarte. Wenn wir sie beispielsweise als custom1 bezeichnen, werden Sie zu (www.IhreDomain.com/#custom1) weitergeleitet, um zur gewünschten Registerkarte zu gelangen. Solange sich Ihre Tabs auf Ihrer Homepage befinden.

Es funktioniert auf allen Seiten, so dass Sie einen Tab auf der Homepage verlinken können, um zu einer anderen Seite mit tabbed-Inhalten weiterzuleiten. Sagen wir Ihre About-Seite, dann sieht Ihre URL für unsere so aus (www.IhreDomain.com/about/#custom1) verknüpfte Registerkarte, die wir zuvor festgelegt haben.

Sie können mit der Element-ID ein wenig kreativ werden, zum Beispiel, wenn custom1-more-info für Ihr Doomin folgendermaßen aussehen soll: (www.IhreDomain.com/#custom1#more#info), wenn Sie bemerken, dass Ihre Gedankenstriche (-) als definiert sind (#) innerhalb Ihrer Verknüpfung.

Hoffe, das hilft jemandem, etwas einfacher als die oben genannte Lösung.

0
Jason Smith