2017-02-08 10 views
-2

Ich habe eine WP-Site und ich versuche, eine benutzerdefinierte Seite zu erstellen.PHP - Schwerwiegender Fehler: Aufruf zu undefinierter Funktion wp_get_current_user()

Ich erhalte eine Fatal error: Call to undefined function wp_get_current_user()

Wenn ich diesen Code ausführen:

<?php 
     $current_user = wp_get_current_user(); 
     echo 'User ID: ' . $current_user->ID . '<br />'; 
?> 

Dies ist die url:

https://[url of my site]/lesson1.php 

Ich kenne den Grund, warum. Eine normale Worpress Seiten-URL sieht wie folgt aus:

https://[url of my site]/index.php/lesson1 

Ich denke, die Seiten in einer Datenbank gespeichert werden und die index.php ist die Ressource, die sie irgendwie bekommt.

Also die Frage ist, wenn ich eine PHP-Datei erstellen möchte, die von der WP-Installation getrennt ist, wie kann ich auf Funktionen wie wp_get_current_user() zugreifen?

+0

wo ist wp-config.php? –

+0

@JaydeepPandya Es befindet sich hier: /public_html/wp-config.php – Lumo5

+0

Nein, ich möchte es in Ihre benutzerdefinierte Seite aufnehmen; danach funktioniert die wp_get_current_user() Funktion. –

Antwort

1

Wordpress wp-load.php Datei enthält alle Funktionen/Verbindungen, Sie können es auf folgende Weise tun und die Wordpress-Datei in Ihre PHP-Datei enthalten, um Wordpress-Funktionen in Ihre Datei zu bekommen.

<?php 
define('WP_USE_THEMES', false); 
require('./wp-load.php'); 
?> 
+0

Das sieht nach einer guten Lösung aus. Kann ich neben dem Thema noch etwas anderes deaktivieren? – Lumo5

+0

Dies sind grundlegende Einstellungen zum Deaktivieren der Designdateien. Sie werden damit besser arbeiten können. Verwenden Sie einfach die Funktionen, die Sie benötigen, damit Sie schneller laden können. –

+0

Sollte ich require_once() anstelle von require()? – Lumo5

0

Wenn Sie eine Seite im Root erstellen, benötigen Sie die Datei wp-load.php, also fügen Sie sie in Ihre Seite ein.

require('wp-load.php'); 

Hoffe, das wird Ihnen helfen.

Verwandte Themen