WordPress folder functions: tutte le path portano a WordPress

WordPress mette a disposizione molti modi per accedere ai nomi delle sue cartelle e costruirne di nuovi. Ecco un elenco utile con esempi eseguiti, per essere più chiari, a partire da una sottocartella posizionata in un ipotetico plugin:

Plugins

Iniziamo con plugins_url() utile per determinare e costruire url quando si scrive un plugin.

plugins_url()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = plugins_url();
// http://www.miosito.com/wp-content/plugins/

$r = plugins_url( 'myscript.js', __FILE__ );
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/myscript.js

$r = plugins_url ( 'assets' );
// http://www.miosito.com/wp-content/plugins/assets

$r = trailingslashit( plugins_url ( 'assets' ) );
// http://www.miosito.com/wp-content/plugins/assets/

plugin_dir_url()

Questa funzione è una variante di quella di sopra.

1
2
3
4
5
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = plugin_dir_url( __FILE__ );
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/

plugin_dir_path()

Questa, sostanzialmente simile a plugin_dir_url(), restituisce il percorso sul filesystem. Recuperare il percorso sul filesystem è utile e necessario quando ad esempio dobbiamo eseguire degli include(). I percorsi in formato http, invece, sono utili e necessario quando dobbiamo caricare script, stili css, immagini e quant’altro è raggiungibile dal browser.

1
2
3
4
5
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = plugin_dir_path( __FILE__ );
// /var/www/clients/client2/web18/web/wp-content/plugins/my_plugin/classes/

Di fatto può considerarsi un alias di return trailingslashit( dirname( __FILE__ ) );

plugin_basename()

1
2
3
4
5
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = plugin_basename( __FILE__ );
//  my_plugin/classes/test.php

Temi

Vediamo adesso le funzioni relative ai temi.

get_theme_root_uri()

Restituisce l’url del tema. Questa funzione applica un filtro theme_root_uri con due parametri aggiuntivi: l’indirizzo del sito memorizzato nella option siteurl, che nel nostro caso è http://www.miosito.com/, e un parametro non considerato passato alla stessa get_theme_root_uri()

1
2
3
4
5
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = get_theme_root_uri();
// http://www.miosito.com/wp-content/themes

get_theme_root()

Questa è la variante di sopra per il filesystem. Anche questa usa un filtro theme_root.

1
2
3
4
5
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = get_theme_root();
// /var/www/clients/client2/web18/web/wp-content/themes

get_theme_roots()

Questa restituisce o una stringa con la cartella del tema, se unico, o un array dei temi.

1
2
3
4
5
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = get_theme_roots();
// /themes

WordPress

Queste funzioni restituiscono tutta una serie di percorsi chiave e utilissimi.

home_url()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = home_url();
// http://www.miosito.com

$r = admin_url();
// http://www.miosito.com/wp-admin/

$r = site_url();
// http://www.miosito.com

$r = content_url();
// http://www.miosito.com/wp-content

$r = includes_url();
// http://www.miosito.com/wp-includes/

$r = wp_upload_dir();
// Questo restituisce un array key pair così formato
array(6) {
  ["path"]    => string(61) "/var/www/clients/client2/web18/web/wp-content/uploads/2012/04"
  ["url"]     => string(49) "http://www.miosito.com/wp-content/uploads/2012/04"
  ["subdir"]  => string(8) "/2012/04"
  ["basedir"] => string(53) "/var/www/clients/client2/web18/web/wp-content/uploads"
  ["baseurl"] => string(41) "http://www.miosito.com/wp-content/uploads"
  ["error"]   => bool(false)
}

Multisite

Queste sono funzioni introdotte con la release 3.0 di WordPress, quando WordPress MU (Multisite) è stato fuso con WordPress.

get_admin_url()

Questa supporta il filtro admin_url e restituisce la cartella di amministrazione wp-admin di un dato sito. Quasi tutte queste funzioni, infatti, accettano (opzionalmente) come primo parametro l’ID del blog.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Se questa riga viene eseguita da
// http://www.miosito.com/wp-content/plugins/my_plugin/classes/test.php

$r = get_admin_url();
// http://www.miosito.com/wp-admin/

$r = get_home_url();
// http://www.miosito.com

$r = get_site_url();
// http://www.miosito.com

$r = network_admin_url();
// http://www.miosito.com/wp-admin/

$r = network_site_url();
// http://www.miosito.com

$r = network_home_url();
// http://www.miosito.com
  • http://twitter.com/_vik vik

    Grazie stra-utile!