it-swarm.com.de

Kann nicht beladen sein WP Funktion in externe Funktion

Ich habe eine Buchhandlungswebsite erstellt und auf meiner Startseite Kopf-, Fußzeilen- und Anmeldemenü angezeigt.

Alle Funktionen sind in functions.php deklariert und mit Hooks verbunden.

Meine Titelseite läuft korrekt.

Ich versuche jedoch, die Registrierungsmenüdatei aus einer meiner Anmeldemenüoptionen (Datei page-non-member.php) aufzurufen und den Header von der Startseite als Header auf dieser Seite zu verwenden.

Ich versuche das zu benutzen:

require( dirname( __FILE__ ) . '../wp-load.php' );
if ( function_exists( 'get_template_part' ) ) {
    echo "get_template_part found";
}
get_template_part( 'mybookshop', 'header' );  

oder das:

do_action( 'create_header_html', 'Make registration' );

Aber in beiden Fällen bekam ich die nächste Nachricht

Warnung: erfordern (W:\domains\wpfolder\wp-content\themes\mybookshop ../ wp-load.php): Fehler beim Öffnen des Streams: Keine solche Datei oder Verzeichnis in W:\domains\wpfolder\wp-content\themes\mybookshop\page-not-member.php in Zeile 4

Schwerwiegender Fehler: require (): Fehler beim Öffnen von 'W:\domains\wpfolder\wp-content\themes\mybookshop ../ wp-load.php' (include_path = '.; w: /modules/php/PHP-5.6 ; w: /modules/php/PHP-5.6/PEAR/pear ') in W:\domains\wpfolder\wp-content\themes\mybookshop\page-not-member.php in Zeile 4 ".

Structure of my folders:
-- WordPress root directory
 |-- file wp-load.php
 |
 ....
 |
 -- my site(bookshop) root directory
 |-- header.php,header.php, page-home-page.php, page-not-member.php, etc
 |
  ....

Ich benutze einen lokalen Server (OpenServer). Was ist das Problem und wie kann ich es beheben?

1
adrian

Tun Sie das zunächst nicht. Das Einfügen der WordPress-Engine in eine externe PHP -Datei wird überhaupt nicht empfohlen. Es hat mehr Nachteile als Nachteile.

Wenn Sie auf die Funktionen von WordPress zugreifen möchten, erstellen Sie Ihre PHP -Datei im Ordner des Themas oder erstellen Sie ein Plugin. Sie können sogar eine AJAX -Anforderung erstellen, wenn Sie wirklich über eine URL direkt auf einige Daten zugreifen müssen.

Nun zu deinem Fehler. Anscheinend versuchen Sie, wp-load.php aus einer der Dateien Ihres Themas einzufügen. Wenn es so ist, dann ist das nicht nötig. Die Dateien des Themas haben bereits Zugriff auf die Funktionen von WordPress. Entfernen Sie einfach den require... und Sie werden in Ordnung sein.

Sagen wir aus unbekannten Gründen, dass dies nicht der Fall ist und Sie wp-load.php einschließen MÜSSEN. Diese Datei befindet sich im Stammverzeichnis Ihrer Installation, und Sie müssen dreimal zurückgehen, um sie einzuschließen. Also wird es so aussehen:

../../../wp-load.php

Bitte tun Sie dies noch einmal nicht. Es ist keine gute Übung.

2
Jack Johansson