Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #1002361

    Hi Folks,

    is it possible to select a parent-page for a single portfolio-entry? I look
    around but I can’t find a solution. ;-/

    In that case the important thing for me is that the “main-menu-point“ is
    still active after I clicked the portfolio-entry. At the moment he’s not. :-/
    For better understanding, please look at the screenshot…thx…

    Best regards
    Carsten

    #1002410

    Hey Carsten,
    Portfolio items do not support a parent page however you can use the nav_menu_css_class filter to add one or more css classes to a menu item if the user views a portfolio singly entry. Try to add this code to your child theme functions.php:

    
    function avia_special_nav_class( $classes, $item ) 
    {
        if ( is_singular('portfolio') && strtolower($item->title) == 'malerei' ) 
        {
            $classes[] = 'current-menu-item';
        }
    
        return $classes;
    }
    
    add_filter( 'nav_menu_css_class', 'avia_special_nav_class', 10, 2 );
    

    and replace “malerei” with the title of your menu link/item if necessary.

    Best regards,
    Dude

    #1002424

    Guten Abend Peter,

    merci für die schnelle Reaktion! Da Du ja dem „deutschen“ mächtig bist,
    erlaube ich mir, wieder auf Deutsch zu antworten. :-)

    Zunächst – ich benutze nach wie vor kein Child-Theme, muss mich aber
    wohl demnächst mal näher damit beschäftigen. ;-) Ergo, könnte ich den
    Code wohl auch in meine akt. „functions-php“ einbauen. Das habe ich
    probiert, aber leider kommt dann das hier bei raus…siehe Screenshot 1.
    Was habe ich hierbei falsch gemacht? Ich habe den Code einfach nur
    reinkopiert und aktualisiert, aber das mag die „functions.php“ scheinbar
    nicht. ;-/

    Und damit kein Missverständnis aufkommt – ich habe natürlich nicht nur
    den einen Portfolio-Eintrag, sondern recht viele. Und bei denen soll über-
    all der Menüpunkt „Malerei“ aktiv bleiben. Siehe Link 2.

    Verständnis-Frage: warum ist es denn grundsätzlich in Enfold so einge-
    richtet, dass ein Portfolio-Eintrag keine Parent-Seite haben kann? So
    wirklich verstehen kann ich das nicht, denn auch ein Portfolio ist doch
    Teil einer Contentseite, welche über die Navigation „logisch“ erreichbar
    sein muss/sollte., oder nicht?

    So, dann freue ich mich auf Deine neue Antwort. Bis dahin…

    Schönen Abend & schönen Gruß
    Carsten

    • This reply was modified 6 years, 2 months ago by designbasis.
    #1002652

    Hi,

    Das kann unterschiedliche Gründe haben, zB wenn aus Sicherheitsgründen das Editieren der Dateien blockiert wurde.

    Wenn Du kein Child Theme hast, kannst Du gerne auch die functions.php von Enfold ändern und den Code einfach ganz am Ende einfügen. Der Nachteil: sobald ein Update installiert wird, überschreibt WordPress die Theme-Dateien wieder und Du musst die functions.php neu anpassen.

    Ich würde daher empfehlen entweder auf ein Child Theme umzusteigen oder (einfach) ein kleines Plugin zu erstellen. Verwende hierfür diesen Code:

    
    
    <?php
    /*
    Plugin Name: Enfold Anpassungen
    Description: Anpassungen des Enfold Codes
    Version:     1.0
    Author:      InoPlugs
    Plugin URI:  https://inoplugs.com
    Author URI:  https://inoplugs.com
    */
    
    function avia_special_nav_class( $classes, $item ) 
    {
        if ( is_singular('portfolio') && strtolower($item->title) == 'malerei' ) 
        {
            $classes[] = 'current-menu-item';
        }
    
        return $classes;
    }
    add_filter( 'nav_menu_css_class', 'avia_special_nav_class', 10, 2 );
    

    und speichere diesen in eine Datei mit der Endung .php (zB enfold_anpassungen.php).

    Diese Datei lädst Du dann in den Ordner wp-content/plugins/ hoch. Anschließend unter WordPress Admin Panel > Plugins dieses Plugin aktivieren.

    Und damit kein Missverständnis aufkommt – ich habe natürlich nicht nur
    den einen Portfolio-Eintrag, sondern recht viele. Und bei denen soll über-
    all der Menüpunkt „Malerei“ aktiv bleiben. Siehe Link 2.

    Ja mein Code berücksichtigt diesen Umstand bereits. Bei allen Portfolio-Einträgen wird “Malerei” markiert.

    Verständnis-Frage: warum ist es denn grundsätzlich in Enfold so einge-
    richtet, dass ein Portfolio-Eintrag keine Parent-Seite haben kann? So
    wirklich verstehen kann ich das nicht, denn auch ein Portfolio ist doch
    Teil einer Contentseite, welche über die Navigation „logisch“ erreichbar
    sein muss/sollte., oder nicht?

    Das “Problem” ist, dass die Portfolio-Einträge rein theoretisch “unendlich” viele Elternseiten haben könnten. Die Portfolio-Einträge können mit diversen Elementen dargestellt und eingebunden werden (zB Portfolio-Raster, Masonry-Elemente, etc.) und jede Seite, welchen einen Portfolio-Eintrag mit diesen Elementen einbindet, wäre dann eine Elternseite. Dies wiederum führt zu diversen technischen Problemen mit der Breadcrumb, mit der Slug-Struktur, usw, da es eben nicht nur eine Elternseite geben muss. Im Übrigen ist dies bei “normalen” Artikeln auch der Fall – der Blog gilt nicht als “Elternseite” von Artikeln. Vielmehr sind die Artikel nach Kategorien und Schlagworten gruppiert, welche wiederum auf Archiv-Seiten angezeigt werden können.

    LG,
    Dude

    #1002743

    Hallo Peter,

    vielen Dank für Deine umfängliche Antwort…ganz prima!

    Bei der Plugin-Erstellung ist dieses Mal aber leider ein Error
    aufgetaucht. Bitte schaue auf den Screenshot. Ich habe
    den neuen Code mit dem von neulich verglichen, konnte
    aber keinen Fehler erkennen. Du wirst sicher gleich wissen,
    was WordPress damit meint, nicht wahr? Ist es vlt. der zu
    lange Dateiname? Ich wollte das 2te Plugin vom Ersten unter-
    scheiden können, daher der erweiterte Name.

    Hoffe, Du kannst mit dem Error-Code etwas anfangen.
    Freue mich auf Deine neue Antwort.

    Beste Grüße
    Carsten

    #1003058

    Hi,

    Du installierst diese Datei idealerweise per ftp. Verbinde dich zum Server, navigiere dann in den ordner wp-content/plugins/ und dort lädst du die Datei einfach hoch.

    Wenn Du die Datei per WordPress hochladen möchtest, dann speichere den Code in eine PHP-Datei ab (zB enfold_anpassungen.php) und komprimiere diese in eine zip Datei (zB mit einem kostenlosen Tool wie 7zip oder WinRar). Es sollte dann eine zip Datei entstehen (enfold_anpassungen.zip), welche wiederum die enfold_anpassungen.php enthält. Diese Zip-Datei kannst Du dann per WordPress hochladen/installieren.

    LG,
    Dude

    #1003187

    Hai Peter,

    herzlichen Dank für Deine neue Antwort!

    Als Zip-File hat es jetzt prima geklappt! :-)

    Bin jetzt nicht sicher, ob ich das beim ersten Plugin auch so gemacht habe,
    aber da ja alle Plugins als Zip-File installiert werden, hätte man auch
    selbst drauf kommen können, nun denn. ;-) Fürs nächste Mal weiß ich aber
    jetzt schon, dass ich es alternativ auch per FTP laden kann. Auf alle Fälle
    funktioniert es jetzt genau so, wie es soll und so soll es sein. :-)

    Anschlussfrage: dieses Plugin kann ich doch grundsätzlich auf andere
    Seiten übertragen, oder? Natürlich mit der Anpassung des Menüpunktes.

    Habe gesehen, dass im Plugin-Bereich die Neuen jetzt alle „Enfold-An-
    passungen“ heißen, obwohl ich das letzte jetzt noch am Ende „malerei“
    genannt habe. Da weiß man ja irgendwann gar nicht mehr, was was ist,
    oder? Kann man die nicht konkreter benennen? Wäre hilfreich.

    Schönen Mittwoch noch und freue mich wieder auf Dein Feedback!

    Beste Grüße
    Carsten

    #1003203

    Hi,

    Ja sicher – verändere einfach beim Code den ich oben geschrieben habe folgende Zeile:

    
    Plugin Name: Enfold Anpassungen
    

    zb durch

    
    Plugin Name: Enfold Anpassungen Menüpunkt XY
    

    Du kannst auch neuen Code zu bestehenden Plugins hinzufügen, indem Du diesen einfach am Ende der Datei anhängst.

    Best regards,
    Dude

    #1003210

    Hai Peter,

    merci fürs superschnelle Feedback…ja, so klappt es!

    Hätte man wohl auch wieder selber drauf können,
    aber ich dachte halt, dass der Dateiname ausschlag-
    gebend wäre. ;-) Danke auch für den weiteren Tipp
    der Code-Erweiterung. Wobei die Frage wäre, in welcher
    Art und Form man erweitern kann? Was wäre, aus Deiner
    sicht, jetzt eine sinnvolle, bzw. mögliche Erweiterung des
    akt. Plugins? Fällt Dir da spontan etwas ein? Falls nicht –
    ist jetzt kein „Muss“. ;-)

    Besten Dank und Gruß
    Carsten

    #1003640

    Hi,

    Wobei die Frage wäre, in welcher Art und Form man erweitern kann?

    Ich habe da an keine spezielle Erweiterung gedacht. In unserer Dokumentation: https://kriesi.at/documentation/enfold/ finden sich einige Code-Beispiele, auch hier im Forum. Ich wollte nur auf die Möglichkeit aufmerksam machen, dass die Plugin-Datei die “Child theme functions.php” gewissermaßen ersetzen kann und daher neue php Code einfach am Ende der Datei einfügt werden kann.

    LG,
    Dude

    #1003664

    Hai Peter,

    dankeschön für Deine Anmerkung…so hatte ich es mir im Grunde auch
    gedacht, dass Du es so gemeint hast. :-)

    Erneut besten Dank und Gruß
    Carsten

    #1003670

    Hi,

    Schön, dass ich helfen konnte :)

    LG,
    Dude

Viewing 12 posts - 1 through 12 (of 12 total)
  • The topic ‘Portfolio-Entry / How can I select a parent-page for a single entry?’ is closed to new replies.