Come visualizzare i file nelle directory nella schermata "Modifica Temi"

12 nov 2012, 00:01:42
Visualizzazioni: 18.4K
Voti: 4

Mi piacerebbe avere cartelle nella directory del mio tema per script e stili, ma non riesco ad accedere a queste cartelle nell'interfaccia "Modifica Temi". Questo è problematico per i clienti che non mi danno accesso FTP. Esiste un modo per vedere queste cartelle e i file al loro interno dalla sezione di amministrazione di WordPress?

4
Commenti

Perché devi usare l'editor del tema di WordPress? Puoi facilmente creare una pagina personalizzata per mostrare questi file e aggiungere un editor visivo (quello che preferisci) per programmare come vuoi.

grosshat grosshat
16 nov 2012 10:07:03

I clienti che non ti danno accesso FTP sono clienti scadenti, oppure ti stanno fornendo metodi migliori come l'accesso shell. Probabilmente è un problema sociale perché non hanno la conoscenza per capire cos'è l'FTP e quindi si stanno coprendo le spalle. Pretendi l'accesso alle cose di cui hai bisogno per poter fare il tuo lavoro, dopotutto non pagheresti un idraulico per aggiustare il lavandino ma gli negheresti l'ingresso in casa.

Tom J Nowell Tom J Nowell
18 nov 2012 22:55:46

Possibile duplicato di: come far apparire il foglio di stile nell'editor del tema?

brasofilo brasofilo
20 nov 2012 01:38:59

basta aggiungere file_put_contents(get_template_directory() .'/template-custom-page.php', 'temporary content'); a un template esistente. Visita quella pagina e creerà il file per te (se l'utente del server web può creare file).

Patrick Forget Patrick Forget
28 lug 2016 20:55:42
Tutte le risposte alla domanda 8
0

Non esiste un modo per farlo senza modificare il core.

Dovresti vedere i file .php che si trovano nelle sottodirectory, ma non vedrai nulla al di sopra della directory radice del tema per i file .css e non vedrai alcun file JavaScript.

Se dai un'occhiata a wp-admin/theme-editor.php, le righe rilevanti sono...

<?php
$allowed_files = $theme->get_files( 'php', 1 );
$has_templates = ! empty( $allowed_files );
$style_files = $theme->get_files( 'css' );
$allowed_files['style.css'] = $style_files['style.css'];
$allowed_files += $style_files;

$theme è un oggetto WP_Theme che rappresenta il tema corrente. Viene creato qualche riga più sopra.

Il metodo get_files cerca in una directory confrontando l'estensione del file (primo argomento) e utilizzando la profondità (secondo argomento). La prima chiamata a get_files recupera tutti i file PHP nella directory del tema e in qualsiasi sottodirectory un livello sopra la directory del tema.

La seconda chiamata recupera tutti i file CSS nella directory del tema ma non entra ricorsivamente nelle sottodirectory (nota la mancanza dell'argomento $depth).

Non c'è molto che tu possa fare al riguardo; c'è una evidente mancanza di chiamate a apply_filters e do_action in theme-editor.php e anche il metodo get_files ne è privo. Sei piuttosto limitato.

E quando PHP non funziona, è il momento di provare i brutti hack JavaScript!

Sfortunatamente, neanche questo va bene. Ho provato ad esplorare l'aggiunta di file alla lista tramite JavaScript e ajax, ma cliccando su un file aggiunto via JS si ottiene un messaggio di errore a causa di una funzione chiamata validate_file_to_edit che controlla il file corrente da modificare rispetto alla lista di $allowed_files (vedi il codice sopra che recupera tale lista).

16 nov 2012 05:54:01
6

Il plugin Advanced Code Editor offre questa funzionalità.

Dalla descrizione del plugin:

Abilita l'evidenziazione della sintassi negli editor di codice integrati per temi e plugin. Supporta PHP, HTML, CSS e JS.
Modifica efficacemente i tuoi temi o plugin quando hai accesso solo a un browser, grazie all'evidenziazione della sintassi negli editor di codice integrati di WordPress. Supporta PHP, HTML, CSS e JavaScript


Modifica: Il plugin menzionato sopra non sembra avere l'albero delle directory per i temi; solo per i plugin. Esiste, tuttavia, un altro plugin che fornisce questa funzionalità: WPide

Dalla descrizione del plugin:

Albero dei file che ti permette di accedere e modificare qualsiasi file nella cartella wp-content (plugin, temi, upload, ecc.)

È stato anche creato un ticket trac su questo argomento; si spera che questo problema venga risolto in una versione futura di WordPress.

18 nov 2012 21:59:42
Commenti

Non è ancora quello che sta cercando - questo plugin cambia solo l'aspetto dell'editor e aggiunge alcune funzionalità interessanti, ma non gli permette di modificare tutti i file presenti nella directory del suo tema (che è il problema reale)

Nikola Ivanov Nikolov Nikola Ivanov Nikolov
19 nov 2012 18:02:12

Dovrebbe esserci un albero delle directory a destra della pagina... puoi accedere a tutti i file css, js, html e php da lì

shea shea
19 nov 2012 21:10:46

Wow, plugin fantastico e viene da un collega di WPSE: @bainternet :)

brasofilo brasofilo
20 nov 2012 01:43:55

Ma @NikolaIvanovNikolov ha ragione, non c'è la modifica delle sottocartelle per i temi. L'editor dei plugin ce l'ha, ma anche una semplice installazione lo fa. ..... Nikola, sembra che non ci sia davvero una soluzione per questo, a parte hackerare il core o creare una pagina di opzioni personalizzata per gestire CSS personalizzati (se era quello il caso).

brasofilo brasofilo
20 nov 2012 02:07:17

Il plugin WPide sembra supportare un albero di directory per i temi.

shea shea
20 nov 2012 05:53:06

Quel ticket Trac è stato chiuso come risolto 4 anni fa; 14175 è simile ma è stato chiuso 19 mesi fa come duplicato (di cosa non è specificato). Sembra che il consenso sia che questo sia già stato risolto.

Paul Gregory Paul Gregory
20 nov 2012 19:59:22
Mostra i restanti 1 commenti
2

Faccio la stessa cosa che fai tu e organizzo le cose in cartelle. Non uso mai quell'editor ma ho appena dato un'occhiata a uno dei miei siti e posso vedere i file ma non le directory. Cioè, i file sono elencati come presenti e sono modificabili, ma non vengono visualizzati per directory. Non puoi capire in quale cartella si trovano a meno che non leggi l'URL per i link.

Se stai parlando di un child theme, ho difficoltà a vedere alcuni dei file e non so perché. Il proprietario, il gruppo e i permessi corrispondono sia sul tema genitore, i cui file riesco a vedere, che sul child theme, alcuni dei cui file non riesco a vedere. Non avevo mai notato il problema finché non è emersa questa domanda.

12 nov 2012 00:19:25
Commenti

Non vedo alcun file che si trovi in una directory! Ad esempio, nella mia cartella css/, ho 'style.css', 'style-med.css' e 'style-mobile.css'. Nessuno di questi è visibile dalla pagina "Modifica Temi" :(

Voriki Voriki
12 nov 2012 00:33:48

Ho verificato la mia risposta controllando un altro sito su un server diverso. Tuttavia, su un terzo sito sto avendo problemi a visualizzare alcuni file per un tema figlio ma non per il tema genitore. Potrebbe essere correlato al tuo caso?

s_ha_dum s_ha_dum
12 nov 2012 00:57:02
0

Questo non è un problema per tutti gli utenti.

Pertanto, aggiorna a WordPress 3.4.x se non l'hai già fatto.

Ricorda che css/style.css apparirà in ordine alfabetico sotto la 'c', ma separato sotto Stili in fondo.

Se non funziona, prova lo stesso tema su un'installazione locale - se funziona lì, potrebbe essere che il loro server non consenta il listing ricorsivo.

20 nov 2012 20:05:31
0

Affronto lo stesso problema quasi ogni giorno con i nostri clienti WordPress.

Utilizzo un plugin che consente di modificare tutti i file di WordPress. Ma non è sicuro per gli account su hosting condiviso (a volte il plugin permette di modificare qualsiasi file sull'intero server).

Questo plugin è stato rimosso da wordpress.org (penso per motivi di sicurezza) e il dominio dell'autore ora è scaduto. Ho trovato una piccola recensione qui: http://www.themepremium.com/access-ftp-from-wordpress-dashboard-using-myftp-wordpress-plugin/

Di seguito posterò un link a una copia del plugin.

NOTA: Non ho alcuna relazione con l'autore di questo plugin e non l'ho modificato. Non mi assumerò alcuna responsabilità per come utilizzerai il plugin.

plugin "myftp"

22 nov 2012 19:57:56
0

Se non hai accesso FTP ma puoi utilizzare un piccolo trucco nell'editor del tema...

Basta aggiungere il seguente codice a un template esistente:

<?php
@file_put_contents(get_template_directory() .'/template-custom-page.php', 'contenuto temporaneo');
?>

Visita un URL che utilizza il template dove hai aggiunto il codice per creare il file e dovrebbe creare il file per te (assumendo che l'utente del server web abbia i permessi per creare file nella cartella del tema).

Rimuovi il codice aggiunto dal primo template (dopo che il file è stato creato) altrimenti il codice cancellerà sempre il contenuto del file quando viene eseguito.

28 lug 2016 21:01:13
0

Per coloro che cercano informazioni più recenti, AceIDE (derivato dal progetto WPide non più mantenuto) funziona abbastanza bene per modifiche rapide e sporadiche.

Tieni presente che le modifiche apportate a temi e plugin verranno sovrascritte dagli aggiornamenti, quindi modificare in questo modo è una pessima pratica.

5 apr 2017 09:57:57
4
-1

Se un cliente non vuole o non può darti accesso FTP, allora non dovresti lavorare per loro. Potresti usare il tempo che impiegheresti per aggirare il sistema per trovare clienti migliori.

21 nov 2012 01:45:19
Commenti

Scusa, ma IMO questo è un commento, non una risposta.

brasofilo brasofilo
21 nov 2012 14:23:54

Non preoccuparti, non posso commentare altre risposte altrimenti l'avrei semplicemente fatto.

dmarges dmarges
21 nov 2012 23:23:41

ahi... non lo imparo mai... scusa :/

brasofilo brasofilo
21 nov 2012 23:32:28

Mah... non preoccupartene. È più un difetto nel sistema di punteggio dei siti tipo Stack Overflow. Quando sei sotto i 50 punti non puoi commentare le domande o fare cose del genere. In realtà, ho commentato questa domanda solo perché tutto ciò che riguarda la modifica dei file core è un enorme campanello d'allarme per me, quindi ho avuto una reazione impulsiva. Saluti amico!

dmarges dmarges
23 nov 2012 23:48:07