• User

    Codice realizzato in PHP all'interno di Wordpress

    Ciao a tutti.
    Ho un sito wordpress in cui volevo intergrare degli script PHP.
    Inizialmente pensavo che incollando il codice PHP nell'editor WP esso venisse interpretato ed eseguito, prima di venire a sapere che di default ciò non avviene.
    In sintesi avevo realizzato, in file esterni al sito WP, una prima pagina con un form tramite il quale l'utente passa un valore a una successiva pagina (nella quale arrivano i dati in $_POST e li uso per fare una SELECT dal database e successiva stampa dei risultati). Quindi in questa pagina di destinazione avrei dei link cliccando sui quali passerei dei parametri in GET (quindi nella stringa dell’URL) a una terza pagina che li utilizza per andare a prendere i corrispondenti dati dal database e stampare gli output.
    Come posso integrare questi codici all'interno di WP?
    Ho letto dell’utilizzo di shortcode da inserire nell'editor ma se ho capito bene con tale sistema potrei passare delle funzioni in PHP, non un codice più completo che interagisce con il database e visualizza i risultati della query nella pagina.
    Ho anche letto che si potrebbe creare un template a parte per le pagine in questione e lì metterci tutto il codice PHP che serve. Se in questo caso è consigliabile questa opzione mi sarebbe d’aiuto una guida o qualche link per capire come creare tali template.
    Oppure devo rassegnarmi a destinare gli script PHP a pagine a parte al di fuori del template di WP?
    Spero mi possiate dare qualche suggerimento. Grazie.


  • User

    Ciao,

    secondo me puoi fare almeno in due modi.

    1- puoi creare delle funzioni nel file functions.php con degli shortcode che poi richiami nella pagine / post
    2- puoi creare un template ad hoc seguendo questa guida developer.wordpress.org/themes/basics/template-hierarchy/


  • User

    @Alessio Angeloro said:

    Ciao,

    secondo me puoi fare almeno in due modi.

    1- puoi creare delle funzioni nel file functions.php con degli shortcode che poi richiami nella pagine / post
    2- puoi creare un template ad hoc seguendo questa guida developer.wordpress.org/themes/basics/template-hierarchy/

    Ciao,
    ma posso scrivere tutto il codice nella funzione richiamata dallo shortcode? Perchè negli esempi che ho visto online usano funzioni di poche righe, invece io dovrei includere la parte che fa la connessione, controlli vari sulle variabili, una select e la stampa dell'HTML con i risultati.
    Per quanto riguarda i template ho inziato a leggere la guida, se non ho capito male dopo aver creato il file del template, ad es. page-nuovo.php, per associargli la nuova pagina dovrei dare a questa un URL che contiene la stringa 'nuovo' come parametro.
    Inoltre, scusa la domanda da inesperto: posso andare ad aggiornare tranquillamente il database di wordpress aggiungendo le tabelle con i dati che mi servono?


  • User

    Nela funzione puoi metterci quello che vuoi, purchè sia scritta bene.

    Si puoi aggiungere tabelle al db, fai sempre prima un backup.

    Domanda, ma sei sicuro di non riuscire a fare tutto con WP e basta ?


  • User

    con qualche plugin?
    Non saprei, ho una pagina con un form con selezione (radio button) che a seconda della scelta dovrebbe visualizzare output diversi nella pagina che viene richiamata. Questi output sono in forma di link che mandano ognuno a contenuti diversi creati dinamicamente. In alternativa avrei potuto mettere anche nella seconda pagina un form con selezione, invece che dei link. A questo punto penso che ci vorrebbe un plugin che gestisca un form dove dall'opzione selezionata vada a prendere i dati da una tabella del DB, magari che ti fa compilare tramite la sua interfaccia i collegamenti tra input (del form) e output. Il problema è che comunque c'è anche il passaggio dei parametri alla terza pagina, quindi si dovrebbe ripetere l'operazione (supponendo di usare il form anche nella seconda pagina) prendendo come caselle da selezionare i risultati derivanti dal precedente form.
    Poi non so se c'è qualche altro modo; volevo evitare di mettere dei link che puntano a pagine statiche con i contenuti che mi servono.