Antworten auf deine Fragen:
Neues Thema erstellen

PHP: Andere .php importieren in bestehende .php

Ruckus0350

Hab' nicht ausgelernt.

Hallo,

ich erstelle momentan ein Child-Theme (Wordpress) in dem ich diverse Änderungen an der functions.php vornehmen möchte und dazu den kompletten Inhalt der .php des Themes eines übergeordneten Ordners einfügen muss.
Es muss also example.com/wp-content/themes/theme/functions.php in example.com/wp-content/themes/child-theme/functions.php importiert werden.

Bei css ist das genze ja ziemlich einfach, bei PHP kenne ich mich aber nicht wirklich aus ....

Kann mir da bitte jemand helfen? Dankschön schonmal !

Viele Grüße,
schokomueller

PS: SuFu habe ich im Übrigen schon benutzt, ledier kein Ergebnis. Kann ich ja selbst nicht glauben..
 

AW: PHP: Andere .php importieren in bestehende .php

Hallo auch,

na wenn Du doch den ganzen Inhalt brauchst, kannst Du ihn doch einfach kopieren und dann Deine Erweiterungen/Änderungen vornehmen. Sollte doch eigentlich funktionieren. Oder ich hab die Frage nicht ganz verstanden :-)

Verpixelte Grüße
 
AW: PHP: Andere .php importieren in bestehende .php

Moin moin,
ich kann dir leider auch nicht so ganz folgen. Meinst du vielleicht

PHP:
include '/wp-content/themes/theme/functions.php';
require '/wp-content/themes/theme/functions.php';
include_once '/wp-content/themes/theme/functions.php';
require_once '/wp-content/themes/theme/functions.php';
?

Gruß Ulli
 
Zuletzt bearbeitet:
AW: PHP: Andere .php importieren in bestehende .php

@hub zitat "ich kann dir leider auch nicht so ganz folgen" ->

da bin ich froh, das ich nicht der einzige bin :-)

Verpixelte Grüße
 
AW: PHP: Andere .php importieren in bestehende .php

Child Themes sind ja dafür da, Änderungen am Theme vorzunehmen, ohne direkt im originnal Theme-Ordner die Dateien zu bearbeiten.
Denn, wenn das Theme aktualisiert wird, wären diese Änderungen ohne Child-Theme futsch.

Im Child-Theme können alle Daten angelegt werden, wie im normalen Theme auch. Allerdings werden die nicht vorhandenen Dateien durch die des original Themes ersetzt. Aktualisierungen des original Themes wirken sich somit immer noch auf die nicht vorhandenen Dateien des Child-Themes aus.

Nun ist es bei der style.css so, dass man mit
@import url("../Originaltheme/style.css");
in der style.css des Child-Themes die CSS-Daten aus dem Originaltheme einfügen kann. Änderungen an der style.css des Originalthemes wirken sich also sofort auch auf das Child-Theme aus, ohne, dass man evtl. alles bei einer Aktualisierung kopieren müsste.

Bei der functions.php müsste es solch einen Befehl auch geben. Ich finde aber dazu im Internet nichts. Kann es vielleicht sein, dass doppelte PHP-Dateien (z.B. die functions.php sowohl im Child- als auch im otiginal Theme) einfach zusammengefügt und als Eins dargestellt werden ?!?

Wer mir zumindest folgen kann : Danke :D

Grüße zuzück !

Edit: Nein, zumindest bei der header.php wird die alte Datei in dem original Theme nicht berücksichtigt. Entsprechend muss es, wie in CSS, einen solchen Befehl für PHP geben. Kann mir den einer nennen ?
 
Zuletzt bearbeitet:
AW: PHP: Andere .php importieren in bestehende .php

Moin moin,
, in der Mitte etwa, dort findest du, was du suchst.
die function.php aus dem child-theme wird zusätzlich zur Original-Datei geladen, also wird diese um deine neuen Funktionen erweitert.

Gruß Ulli
 
AW: PHP: Andere .php importieren in bestehende .php

Ah, danke. Da ist man doch glatt blind ...
Klappt soweit. Eine Frage hätte ich noch:

In CSS definiert man, wenn man einen Ordner nach oben will, dies mit zwei Punkten: ../theme/functions.php
Wie macht man das in PHP? Mit .. bekomme ich einen Error.

Wie gesagt, PHP kann ich leider nicht ....
 
AW: PHP: Andere .php importieren in bestehende .php

:) wenn Nr. 1 funktioniert, bekommen wir Nr. 2 auch noch hin ...
Das Problem sind in deinem Fall die verfälschten Relationen duch die Includes ...
Da gibt es mehrere Möglichkeiten, ich denke, die einfachste und sicherste Methode sind vollständige Pfad-Angaben. Ich bin kein WP Experte, denke aber, das es hier auch definierte Konstanten bzw. entsprechende Funktionen gibt.
Oder du machst es selbst mit
PHP:
$_SERVER["DOCUMENT_ROOT"] . '/der_weg_von_deinem_document_root/theme/functions.php'

Gruß Ulli
 
AW: PHP: Andere .php importieren in bestehende .php

Nachtrag: statt "$_SERVER["DOCUMENT_ROOT"]" nimm besser die WP-Konstante "ABSPATH" ...


Gruß Ulli
 
Zuletzt bearbeitet:
AW: PHP: Andere .php importieren in bestehende .php

Bei der Direktverlinkung gibt es einen Error. Kann doch eigentlich nicht sein ...

Ich gehe mal bei deiner Variante davon aus, dass es dann folgendermaßen sein muss:
require_once( get_stylesheet_directory(). 'ABSPATH . '/originaltheme/header.php'' );

Da passiert auch nicht wirklich was. Gibt ebenfalls einen Error.

Das kann doch wirklich nicht so schwer sein :uhm:
 
AW: PHP: Andere .php importieren in bestehende .php

PHP:
require_once( get_stylesheet_directory(). 'ABSPATH . '/originaltheme/header.php'' );
Das kann nicht gehen, da ist gründlich was durcheinander :(.

ABSPATH ist eine Konstante, die Das Root-Verzeichnis deiner WP-Installation beinhaltet.
PHP:
require_once( ABSPATH . '/wp-content/themes/originaltheme/header.php' );
So wäre der richtige Einsatz ...
Was bezweckst du mit "get_stylesheet_directory()" ?

Gruß Ulli
 
AW: PHP: Andere .php importieren in bestehende .php

Ahh, jetzt ist es so, wie ich mir es vorstelle. Vielen, vielen Dank dafür !
"get_stylesheet_directory()" ist von Wordpress auf der Codex-Seite so angegeben, ich habe mir da keine tiefergehenden Gedanken drüber gemacht:
 
AW: PHP: Andere .php importieren in bestehende .php

Na ja, die Funktion ist auch nicht schlecht, führt aber nicht dahin, wo du hin willst :D.
Mach dir nix draus, Übung macht den Meister.
Es gibt einen einfachen Trick, der auch in WP funktioniert, um sich die relevanten Daten anzeigen zu lassen:
In deinem Fall
PHP:
echo get_stylesheet_directory(). 'ABSPATH . '/originaltheme/header.php'';
die(); // hier die Weiterverarbeitung abbrechen!
So wird dir ausgegeben, was Php sieht, einschließlich der Fehlermeldungen, die durch WP verschluckt werden.
Nur nicht vergessen, es wieder nach getaner Arbeit zu löschen!

Viel Spaß noch
Ulli
 
AW: PHP: Andere .php importieren in bestehende .php

Naja, wie auch immer, Hauptsache ich komme zu meinem Ziel. Durchkämpfen muss man sich halt irgendwie ;)

Danke noch für den Code aus Post #13. Den werde ich mir mal notieren. Hoffen wir mal, dass ich ihn so schnell nicht zum Debuggen brauche ...

Viele Grüße,
schokomueller
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.940
Beiträge
1.540.015
Mitglieder
68.073
Neuestes Mitglied
EL_Luz
Oben