J'essaie d'ajouter des vignettes à mes vidéos à l'aide d'un champ ACF. Par conséquent, je recherche des PHP qui ajoutent/mettent à jour l’image sélectionnée sur les vidéos (sur l’écran Détails de la pièce jointe). J'ai testé ce code sur le forum d'ACF mais cela ne semble pas fonctionner
// Set the first sock image uploaded as the featured image
function acf_set_featured_image( $value, $post_id, $field ){
if($value != ''){
delete_post_thumbnail( $post_id);
//Add the value which is the image ID to the _thumbnail_id meta data for the current post
add_post_meta($post_id, '_thumbnail_id', $value);
}
return $value;
}
// acf/update_value/name={$field_name} - filter for a specific field based on it's name
add_filter('acf/update_value/name=video_thumbnail', 'acf_set_featured_image', 10, 3);
//field name: video_thumbnail
Mise à jour: Je suis tellement idiot ... - J'ai modifié le mauvais function.php, le code ci-dessus convient donc. : |
Remarque: j'ai ajouté cette ligne pour éditer des images existantes.
delete_post_thumbnail( $post_id);
Ce code se produira lorsque vous mettrez à jour la clé name
.
File: wp-content/plugins/advanced-custom-fields/core/fields/_functions.php
193: foreach( array('key', 'name', 'type') as $key )
194: {
195: // run filters
196: $value = apply_filters('acf/update_value/' . $key . '=' . $field[ $key ], $value, $post_id, $field); // new filter
197: }
Essayez de: imprimer $ valeur, $ post_id, champ $ pour comprendre ce que vous avez ... Vous avez probablement une mauvaise étiquette ...
function acf_set_featured_image( $value, $post_id, $field ){
// print $value, $post_id, $field to understand what you have...
print_r(...);
wp_die();
if($value != ''){
//Add the value which is the image ID to the _thumbnail_id meta data for the current post
add_post_meta($post_id, '_thumbnail_id', $value);
}
return $value;
}
// acf/update_value/name={$field_name} - filter for a specific field based on it's name
add_filter('acf/update_value/name=video_thumbnail', 'acf_set_featured_image', 10, 3);