J'essaie d'ajouter l'URL des images de publication dans un champ personnalisé par défaut. Voici le code que j'ai eu jusqu'à présent ...
Voici comment j'ajoute le champ personnalisé par défaut:
add_action('wp_insert_post', 'mk_set_default_custom_fields');
function mk_set_default_custom_fields($post_id)
{
if ( $_GET['post_type'] != 'post' ) {
add_post_meta($post_id, 'Image', '', true);
}
return true;
}
Maintenant, j'ai besoin d'une fonction qui remplit la valeur avec l'URL de l'image téléchargée. S'il n'y a pas d'image téléchargée, le champ peut être vide.
Voici le code pour remplir la valeur avec info, mais j'ai besoin de l'URL de la vignette dans la valeur
add_post_meta($post_id, 'custom field name', 'custom field value', true);
Pouvez-vous expliquer pourquoi vous avez besoin d'un champ personnalisé pour l'image? s'il n'y a pas de raison particulière pour cela, vous devez utiliser the_post_thumbnail () , une fonction construite dans Wordpress et qui ne vous gâchera pas avec les champs personnalisés.
Vous pouvez lire plus ici :
Afficher la vignette du champ personnalisé
EDIT - Eh bien, si vous insistez pour l'utiliser:
add_action('wp_insert_post', 'mk_set_default_custom_fields');
function mk_set_default_custom_fields($post_id)
{
if ( $_GET['post_type'] != 'post' ) {
$image1 = wp_get_attachment_image_src(get_post_thumbnail_id()) ;
update_post_meta($post_id, 'image', $image1[0],true);
}
return true;
}
Bien sûr, l'image de la fonction doit être définie (ou définie par défaut) et vous pouvez choisir les tailles dans la fonction get_post_thumbnail ().