web-dev-qa-db-fra.com

Comment puis-je ajouter des images téléchargées dans l'article à un champ personnalisé par défaut

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);
1
Demilio

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 ().

1
krembo99