functions.php - Alles in eine Datei oder besser include()-Befehl?

  • Hallo,

    ich habe eine ganze Reihe zusätzlichen PHP-Code für meine WordPress-Webseite. Das umfasst die Integration von Mailchimp als Shortcode sowie einige weitere Shortcodes, PHP-Funktionen, Actions und so weiter. Meine functions.php ist gut dokumentiert, dennoch würde ich gerne thematisch passendes in eine extra PHP-Datei ausgliedern und in der functions.php mittels include('modul-1.php') integrieren.

    Meine Frage:

    Bringt mir das irgendwelche Vor- oder Nachteile, wenn ich aus einer großen functions.php eine kleine mache, in dem ich 5-10 neue PHP-Dateine per include-Befehle einbinde? Performance? Sicherheit? Welche der beiden Versionen ist unter den PHP-Experten "smart"? Und welche unter den WordPress-Experten?

    Vielen Dank.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren


  • und in der functions.php mittels include('modul-1.php') integrieren.

    verzichte auf die klammern ...

    http://php.net/manual/de/function.include.php

    PHP
    include 'modul-1.php';

    ich persönlich würde eigentlich nur etwas laden und anzeigen, wenn es benötigt wird und nicht weil ich eine functions.php unnötig aufblähen möchte...


    d.h. vor allem bei:


    Das umfasst die Integration von Mailchimp als Shortcode sowie einige weitere Shortcodes,

    Shortcodes ist es sinnvoll, wenn man das gebastel nur dann lädt, wenn es benötigt wird.

    Mit offenen Augen träumen

  • Irgendwie habe ich deine Antwort nicht verstanden :roll:

    (1) Ich möchte die functions.php ja nicht unnötig aufblähen, sondern frage mich ob es sinnvoller ist den gesamten (für mich notwendigen) Quellcode in einer Datei zu belassen oder ob es besser ist die functions.php nur als "Mutterdatei" zu nutzen und per include-Befehl die jeweiligen PHP-Dateien, die für unterschiedliche Zwecke notwendig sind, einzubinden.
    (2) Den Code für das Reg-Formular von Mailchimp habe ich als Shortcode gebaut, um das Reg-Formular eben immer nur dann anzuzeigen, wenn ich es im Kontext meiner Inhalte als sinnvoll ansehe. Seitenweit macht es bei mir keinen Sinn, bzw. wäre es nur wenig effektiv.

    Ich hoffe du kannst mir nochmal, vor allem zu Punkt 1, weiterhelfen. Vielen Dank.


  • (1) Ich möchte die functions.php ja nicht unnötig aufblähen, sondern frage mich ob es sinnvoller ist den gesamten (für mich notwendigen) Quellcode in einer Datei zu belassen oder ob es besser ist die functions.php nur als "Mutterdatei" zu nutzen und per include-Befehl die jeweiligen PHP-Dateien, die für unterschiedliche Zwecke notwendig sind, einzubinden.

    Ich hoffe du kannst mir nochmal, vor allem zu Punkt 1, weiterhelfen. Vielen Dank.

    Damit die funktions.php übersichtlich wird verwendet man in der Regel _include_ ich persönlich bevorzuge require

    Hier die Blank Theme als less Fork von mir

    https://github.com/r23/myOOS-LESS/blob/master/functions.php

    1 .Perfomance:

    PHP
    require get_template_directory() . '/inc/custom-header.php';

    bei jedem require wird die Funktion get_template_directory() aufgerufen.

    Da ich nur less zur Verfügung stelle gehe ich _nicht_ an an diesen Aufruf. In meinem Theme gibt es den Aufruf von get_template_directory() maximal einmal.

    2. Sicherheit.

    Jedes zusätzliche Script ist eine Sicherheits gefahr. Da die Scripte eine eindeuige URL haben:

    http://example.org/wp-content/theme/*skin*/dein_script.php

    hier solltest du aufpassen was du machst.

    3. Shortcodes haben in der functions.php nichts verloren.


    Schon aus Gründen der Übersichtlichkeit vervendet man selbstverständlich include...

    Mit offenen Augen träumen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!