it-swarm.com.de

Wie finde ich den "öffentlichen absoluten" Pfad einer Datei?

Kurzfassung

Ich muss den absoluten Pfad einer Javascript-Datei angeben, die in etwas eingebunden werden soll. Es funktioniert, wenn ich es fest einprogrammiere

"http://mywebsite.com/folder/script.js"

Ich ziehe es jedoch vor, es nicht hart zu codieren. Ich kann dirname(___FILE___) ausführen, was mir Folgendes gibt:

'/home/public_html/folder/script.js'

Aber das schlägt fehl, das Skript wird nicht geladen. Was ist die beste Vorgehensweise, um den absoluten Pfad zu finden (beginnend mit 'http: //')?

-

Lange Version

Auf dieser Seite in der Wordpress-Dokumentation zum Erstellen des tinyMCE-Plugins habe ich Folgendes gefunden:

// Load the TinyMCE plugin : editor_plugin.js (wp2.5)
function add_myplugin_tinymce_plugin($plugin_array) {
   $plugin_array['myplugin'] = URLPATH.'tinymce/editor_plugin.js';
   return $plugin_array;
}

Am unteren Rand steht eine Notiz mit der Aufschrift:

Hinweis: Wenn Sie den Filter mce_external_plugins verwenden, sollte die URL wie im obigen Beispiel auf die eigentliche Plugin-Datei verweisen.

Ein bisschen höher in der Dokumentation, die sie sagen

mce_external_plugins: Übergibt ein assoziatives PHP-Array 'plugin_name' => 'plugin_url'. Die URL sollte absolut sein und sich in derselben Domain wie Ihre WordPress-Installation befinden.

Ich bin völlig verwirrt, weil ich keine Informationen über 'URLPATH' finde, die in ihrem Beispiel verwendet werden. Ich glaube nicht, dass es in PHP, WP oder TinyMCE existiert, aber ich könnte mich irren.

Sollte dies übrigens ein Fehler in der Dokumentation zu WP sein, durch was würde ich URLPATH ersetzen, damit es funktioniert?

2
joon

Angenommen, Ihre Ressource ist in Ihrem Plugin enthalten:

  • plugins_url() ist die URL zu \wp-content\plugins\ ( Codex ref )

Wenn Sie also eine .js-Datei in \wp-content\plugins\plugin-slug\file.js haben:

<?php echo plugins_url() . '\plugin-slug\file.js'; ?>

ABER WARTEN !!

Wenn Sie beabsichtigen, tatsächlicheine Javascript-Datei zu laden, möchten Sie tatsächlichdiese Datei mithilfe von wp_enqueue_script() in den wp_enqueue_scripts-Hook einreihen.

Und wp_enqueue_script() verwendet den Dateipfadanstelle der URL, sodass Sie dirname(___FILE___) verwenden können, wenn Sie sich damit auskennen.

2
Chip Bennett