TEMPLATEPATH senza il nome del tema? Nessuna costante THEMEPATH?

24 mar 2011, 00:21:18
Visualizzazioni: 2.87K
Voti: 0

Esiste un modo per ottenere il percorso della directory dei temi senza includere il tema corrente nel percorso?

Ad esempio, in un'installazione standard di WP, vorrei un riferimento a:

C:\xampplite\htdocs\sitename/wp-content/themes/

Ma la costante TEMPLATEPATH restituisce...

C:\xampplite\htdocs\sitename/wp-content/themes/currentActiveTheme

0
Tutte le risposte alla domanda 4
4
dirname( STYLESHEETPATH );

Questo restituirà la directory del tema.

Non assumere mai che /wp-content/ sia sotto ABSPATH. Spesso utilizzo una directory e un dominio diversi per wp-content per abilitare richieste senza cookie per i file del tema. Plugin e temi mal scritti si rompono terribilmente in questi casi.

Aggiunta

Oppure usa get_theme_root() per il percorso del file e get_theme_root_uri() per l'URI. Entrambi sono definiti in wp-includes/theme.php.

24 mar 2011 01:12:29
Commenti
  • 1 Grazie. Anche questo funziona. Ci sarebbero dei vantaggi nell'usare questo rispetto alla risposta di imHavoc?
Scott B Scott B
24 mar 2011 15:09:18

@Scott B Non dovrebbe esserci alcuna differenza. STYLESHEETPATH è definito in wp-includes/default-constants.php chiamando get_stylesheet_directory() che a sua volta interroga get_theme_root().

fuxia fuxia
24 mar 2011 15:46:18

in realtà, dopo un'ulteriore verifica, la tua è la risposta più appropriata alla mia domanda. Restituisce un percorso di file, non un percorso URL come fa get_theme_root_uri() (c:\ invece di http://) e dato che sto spostando file, era proprio quello che mi serviva in questo caso.

Scott B Scott B
24 mar 2011 19:37:15

@Scott B Ho aggiunto le due funzioni per il percorso e l'URI per completare la risposta.

fuxia fuxia
25 mar 2011 02:22:59
2

Non esiste una costante THEMEPATH, ma puoi utilizzare la funzione get_theme_root_uri() per ottenere il percorso alla cartella dei temi.

24 mar 2011 00:36:53
Commenti

Sembra l'opzione migliore. Lo sto testando ora.

Scott B Scott B
24 mar 2011 14:42:04

Funziona perfettamente, tuttavia, in questo caso, sto cercando un percorso del file, non un percorso URL. Sto spostando file sul server da una cartella del plugin alla cartella dei temi. La tua risposta funziona bene comunque, a seconda del contesto della domanda.

Scott B Scott B
24 mar 2011 19:40:07
0

WP_CONTENT_DIR e WP_CONTENT_URL così come content_url() ti portano già a buon punto.

24 mar 2011 00:51:04
4

Puoi utilizzare la costante ABSPATH e semplicemente concatenarla con wp-content/themes/ in questo modo:

ABSPATH . "wp-content/themes/" 
24 mar 2011 00:37:50
Commenti

L'utente può specificare una directory diversa da wp-content/themes per memorizzare i propri temi?

Scott B Scott B
24 mar 2011 00:43:39

@Scott: È possibile ma molto difficile da realizzare e poco probabile che qualcuno lo abbia fatto.

Bainternet Bainternet
24 mar 2011 00:51:19

Due righe in wp-config.php non sono così difficili. ;) Basta definire WP_CONTENT_DIR e WP_CONTENT_URL.

fuxia fuxia
24 mar 2011 01:13:45

@toscho: grazie, si impara sempre qualcosa di nuovo ogni giorno, stavo proprio leggendo a riguardo su http://codex.wordpress.org/Determining_Plugin_and_Content_Directories

Bainternet Bainternet
24 mar 2011 01:41:43