Sto lavorando al mio primo plug-in WP e sono bloccato.WordPress Ottieni Post Meta dalla funzione di richiamata
Ho creato un campo personalizzato (campo 1) nella pagina di posta sotto l'editor di contenuti. Salva correttamente. :)
Ho creato un campo personalizzato (campo 2) all'interno del popup della libreria multimediale quando si aggiungono i supporti. Salva correttamente. :)
Quello che sto volendo fare, è utilizzare il valore dal campo 1 come valore predefinito per il campo 2.
Sono sospettare che il problema risiede nella funzione di callbackattachment_fields_to_edit .
Penso che $ post è ora riferisce al "post file allegato" vero e proprio, piuttosto che il post stesso, in modo da quando sto riferimento i miei valori salvati:
$post_meta = get_post_meta($post->ID);
è in realtà tirando tutte le meta associato a quell'allegato e non al post corrente. È possibile estrarre il meta dal post effettivo?
Questo codice è dal Codex:
function my_add_attachment_location_field($form_fields, $post) {
$field_value = get_post_meta($post->ID, 'location', true);
$form_fields['location'] = array(
'value' => $field_value ? $field_value : '',
'label' => __('Location'),
'helps' => __('Set a location for this attachment')
);
return $form_fields;
}
add_filter('attachment_fields_to_edit', 'my_add_attachment_location_field', 10, 2);
function my_save_attachment_location($attachment_id) {
if (isset($_REQUEST['attachments'][$attachment_id]['location'])) {
$location = $_REQUEST['attachments'][$attachment_id]['location'];
update_post_meta($attachment_id, 'location', $location);
}
}
add_action('edit_attachment', 'my_save_attachment_location');
Come dovrei get_post_meta per il post corrente che stiamo inserendo l'allegato in? Ciò dovrebbe accadere nella funzione callback my_add_attachment_location_field nel codice del codice sopra.
Grazie!
hai accesso al tuo database? – David
in realtà dove vuoi utilizzare questo, come l'immagine in primo piano o per immagini aggiuntive? – David
immagini aggiuntive – Aaron