1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Ändern der general-template

Dieses Thema im Forum "Konfiguration" wurde erstellt von Abbilder, 23. April 2018.

  1. Abbilder

    Abbilder Member

    Registriert seit:
    5. Februar 2018
    Beiträge:
    17
    Zustimmungen:
    0
    Hallo,
    ich hatte Änderungen an der general-template gemacht, die nach einer Aktualisierung von WP jetzt wieder flöten gegangen sind.
    Mittlerweile habe ich ein Child-Theme angelegt. Wenn ich hier allerdings in der functions.php die veränderte Funktion "function get_search_form" eintrage, bekomme ich die Fehlermeldung:
    Cannot redeclare get_search_form() (previously declared in wp-includes/general-template.php:180)

    Wo liegt mein Fehler? Wie muss ich vorgehen, um die Funktion function get_search_form in der general-template zu überschreiben? Kenne mich mit dem Thema Child-Theme leider noch nicht so gut aus. Kann mir jemand helfen?
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.658
    Zustimmungen:
    1.782
    Um welches Theme handelt es sich denn? Das Vorgehen und die Möglichkeiten sind je nach Theme unterschiedlich.
     
  3. Abbilder

    Abbilder Member

    Registriert seit:
    5. Februar 2018
    Beiträge:
    17
    Zustimmungen:
    0
    Wie welches Theme? Das gehört doch zum Core im Folder wp-includes...
     
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.658
    Zustimmungen:
    1.782
    WordPress Core Funktionen kann man bis auf einige "pluggable" Ausnahmen in einem Theme oder Child-Theme nicht überschreiben.

    Änderungen im Core sind sehr unüblich, daher habe ich Deine Änderung auch wg. Verweis auf ein mittlerweile angelegtes Child-Theme auf ein Theme bezogen.

    Um Parameter oder Ausgaben von Core-Funktionen zu ändern, gibt es stattdessen viele sog. "Filter", in diesem Fall den get_search_form Filter, hier ein kleines Beispiel dazu mit viel erklärendem Kommentar.
     
    #4 b3317133, 23. April 2018
    Zuletzt bearbeitet: 23. April 2018
    maxe gefällt das.
  5. Abbilder

    Abbilder Member

    Registriert seit:
    5. Februar 2018
    Beiträge:
    17
    Zustimmungen:
    0
    Ich habe das Problem mittlerweile gelöst, indem ich eine callback definiert habe, und diese dem Filter im Child-Theme zugefügt.
    Konkret ging es um diese Zeile:
    <input type="submit" id="searchsubmit" value="'. esc_attr_x( 'Search', 'submit button' ) .'" />

    Grundlegendes Problem war, das ich ein Suchfeld habe aber der Suchbutton von meinem Thema ausgeblendet ist. Man konnte nur mit Return die Suche auslösen und nicht via Mausklick. Ich wollte jetzt den ganzen Button nicht wieder einblenden, sondern nur ein Lupenicon und auf klick damit die Suche auslösen. Wenn ich via CSS das Icon im input-Button als Hintergrundbild anlege, wird allerdings die Lupe vom Input-Text Search/Suche überlagert. Via CSS ausblenden bringt nichts, da der Mausfocus trotzdem noch auf den Text Suche/Search liegt.
    Wie löst man das? Siehe Bild...

    [​IMG]

    Ich hatte es jetzt so gelöst, indem ich bei value anstatt "Suche" nichts angebe...kann man bestimmt eleganter lösen, zumindest geht es aber so.
    <input type="submit" id="searchsubmit" value="'. esc_attr_x( 'Search', 'submit button' ) .'" />
    jetzt <input type="submit" id="searchsubmit" value="'. esc_attr_x( '', 'submit button' ) .'" />
     
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.658
    Zustimmungen:
    1.782
    Man könnte auch per CSS die Textfarbe transparent machen und den Button in der Grösse begrenzen, ein Beispiel mit Hintergrundbild hier. (ergänzt)

    Alternativer Ansatz falls Dein Website z.B. aus anderen Gründen bereits Font Awesome o.ä. nutzt. Dann braucht man kein Hintergrundbild sondern man fügt das passende Symbol als Text ein, ein Beispiel hier.
     
    #6 b3317133, 23. April 2018
    Zuletzt bearbeitet: 23. April 2018
  7. Abbilder

    Abbilder Member

    Registriert seit:
    5. Februar 2018
    Beiträge:
    17
    Zustimmungen:
    0

    Cursor : pointer geht bei background-image nicht

    Befinde mich im Eingabefeld, fällt also auch weg.
     
  8. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.658
    Zustimmungen:
    1.782
    Hm, hier schon.
    Lt. Beschreibung befindest Du Dich im Submit-Button id="searchsubmit"?

    Hier das Beispiel angepasst mit Font Aweseome Button im Eingabefeld. (ergänzt)

    Poste doch mal Deinen ganzen Code des Suchformulars inkl. Eingabefeld oder am besten einen Link dorthin.
     
    #8 b3317133, 24. April 2018
    Zuletzt bearbeitet: 24. April 2018
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden