Was ist der Unterschied zwischen diesen beiden Codefragmenten und welches sollte ich für ein WordPress-Plugin verwenden?
require_once(dirname(__FILE__).'/inc/canagan_admin_functions.php');
require_once( '/inc/canagan_admin_functions.php' );
Vielen Dank,
Matt
Der erste ist wie gesagt ...
Fügen Sie die Datei ein, die sich im Verzeichnis
inc
oberhalb des Verzeichnisses befindet, in dem sich diese Datei befindet.
Die zweite Aussage lautet ...
suchen Sie im Server-Stammverzeichnis (
/
) im Ordnerinc
nachcanagan_admin_functions.php
, und schließen Sie ihn ein.
Der erste wird funktionieren, der zweite nicht. In der Sekunde suchen Sie im Stammverzeichnis des gesamten Dateisystems, in dem sich die Datei sicherlich nicht befindet.
Wenn ich ein Plugin starte, das sich über mehrere Dateien erstreckt und/oder CSS- oder JS-Dateien in die Warteschlange stellt, richte ich normalerweise ein paar Konstanten ein, um mir dabei zu helfen. Hier ist ein Beispiel .
<?php
define( 'CD_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
define( 'CD_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
plugin_dir_path
und plugin_dir_url
sind nett, weil sie immer Pfade/URLs mit abschließenden Schrägstrichen zurückgeben.
Dann benutze ich die Konstanten, um Dateien aufzunehmen/zu fordern. Verhindert, dass bei jedem Include dirname(__FILE__)
aufgerufen werden muss.
Sie können dann die Konstanten verwenden, um Dateien einzuschließen ...
require_once( CD_PLUGIN_PATH . 'path/to/file.php' );
oder um Skripte/Stile in die Warteschlange zu stellen ...
<?php
add_action( 'wp_enqueue_scripts', 'wpse35088_enqueue' );
function wpse35088_enqueue()
{
wp_enqueue_script( 'wpse35088-script', CD_PLUGIN_URL . 'path/to/script.js' );
}