Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    residenza
    Trieste
    Messaggi
    828

    [wordpress] mostrare i dati di un custom post type array nel backend

    Non essendo uno sviluppatore ho sempre necessità di vedere le cose nel backend, per capire dove e come intervenire quando devo fare delle modifiche. Con tale premessa, avrei bisogno di un suggerimento su quale strada/plugin prendere per risolvere quanto segue:

    Nel mio tema c'è un particolare custom-post-type che è composto da diversi custom-fields. Alcuni di questi hanno una normale key+value e vengono creati sia dal frontend che dal backend; altri registrano i dati come un array e possono essere creati solo dal frontend.
    Ho bisogno di mostrare nel backend tutti i dati dell'array come singoli custom-fields. In tal modo posso individuare quale value voglio modificare. Ciò significa che qualsiasi modifica deve sovrascrivere il dato corrispondente nell'array.

    Qualche idea?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, non so fino a che punto sai metter mano con PHP ma ad ogni modo recuperando un valore, se array. Da php lo puoi vedere in questo modo (per WP).
    codice:
    $valori = get_post_meta('ID_ELEMENTO', 'nome_meta_key',true); //ritorna il valore nel tuo caso array o false se non esiste
    
    print_r($valori); //con questo vedi a schermo solo per debug chiave + valore
    Per usarlo a nel codice html, se dovessi costruirti una form a parte o aggiungere campi
    codice:
    foreach($valori as $key=>$value){
       echo 'chiave = '.$key.' - valore = '.$value.';
    }
    Dove $key è la chiave e $value il valore.

    A sto punto se dovessi modificare un valore :
    codice:
     $valori['NOME_CHIAVE'] = 'NUOVO VALORE';
    Per poi salvarlo nuovamente con update_post_meta()

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    residenza
    Trieste
    Messaggi
    828
    Non so mettere mano nel PHP ma cerco di capire quello che mi dici. Mi sembra di capire che quei codici tornano utili nel momento in cui devo fare un echo in una pagina/template. Io invece avrei bisogno di inserire una metabox all'interno di ogni custom-post-type che creo (in questo caso "company"). Ma vorrei evitare plugin e quindi integrare il codice nel tema per inserire questa metabox.
    Il secondo problema è proprio il modo in cui è scritto questo array (volevo inviarti i file ma il Forum non lo permette). Mi chiedo perchè hanno separato la creazione di un custom-post-type in due gruppi di customfields. Questo fra l'altro genera problemi di bidirezionalità front-backend.

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    I post type sono una cosa e determinano un tipo di elemento.
    I custom fields sono N elementi (quanti ne vuoi ) associati ad ogni elememento (quelli appunto in wp_posts aventi un ID corrispondente al post_id in wp_postmeta).
    In questo modo ( ci sono i pro ed i contro) hai la possibilità di creare tutti campi aggiuntivi che vuoi senza dove aggiungere campi a tabelle già esistenti. Al contrario avresti errori sicuramente su query eseguite ad esempio da altri plugn i quali non potrebbero sapere che esistono o meno.

    Per il tuo discorso secondo me ti conviene inserire un plugin tipo questo , in fin dei conti dovresti fare lo stesso o quasi scrivendo codice a mano. Nella maggior parte dei casi, i plugin richiamano funzioni native di WP (ad esempio quelle che ho indicato sopra).

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    residenza
    Trieste
    Messaggi
    828
    Avevo già contattato ACF a riguardo. La loro risposta è stata che: "ACF pemette di creare customfields accessibili sia da back che da frontend, ma non permette di utilizzare customfields già esistenti. Li dovrei ricreare da zero". Come comprenderai, questo come altri plugin sarebbero perfettamente inutili e quindi sono costretto a hackerare il tema. But I'm not a developer.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.