web-dev-qa-db-fra.com

Ajout de champs personnalisés pour Img dans les messages

Je me demande comment je pourrais définir un champ personnalisé dans mes publications Wordpress. Je souhaite disposer d’un champ permettant d’ajouter une image via le tableau de bord Poste - qui a une largeur et une hauteur maximales définies, je souhaite que l’image flotte toujours à gauche dans les messages (le texte est enroulé via la droite).

Quelqu'un peut-il recommander un plugin pour cela, ou le snippet PHP que je pourrais inclure pour le faire (je pourrais ajouter à single.php ou functions.php, non?)

Merci comme toujours!

3
Captain Ron

Vous devriez utiliser la fonctionnalité post miniature. Ajoutez un support pour cette fonctionnalité avec cette ligne dans votre fichier functions.php:

add_theme_support( 'post-thumbnails' );

Vous pouvez également définir une nouvelle taille de vignette qui sera recadrée sur les nouvelles photos ajoutées afin de l'utiliser dans votre thème. Ajoutez ce code pour définir une nouvelle taille de vignette (également dans le fichier functions.php):

add_image_size( 'large-feature', 500, 300, true );

Le code ci-dessus recadre l'image pour l'adapter exactement à 500x300 pixels. pour que la largeur et la hauteur soient fluides (avec une largeur maximale de 500 et une hauteur maximale de 300), définissez la propriété vraie sur false.

Enfin, ajoutez la vignette au thème à l’emplacement de votre choix. Avec ce code:

echo get_the_post_thumbnail( $post->ID, 'large-feature' );

Ça y est :) vous avez activé et personnalisé une vignette de message illustrée! J'espère que cela fonctionne pour toi :)

Modifier

Ajout de quelques suggestions/meilleures pratiques:

Tout d’abord, assurez-vous de placer le code functions.php dans un rappel , raccordé de manière appropriée; par exemple.:

function theme_slug_setup_thumbnails() {
    // Enable featured image feature
    add_theme_support( 'post-thumbnails' );
    // Add custom image size for displaying
    // featured image within the post
    add_image_size( 'large-feature', 500, 300, true );

}
add_action( 'after_setup_theme', 'theme_slug_setup_thumbnails' );

Deuxièmement, encapsulez l’appel de modèle dans une condition et sortez le code HTML entièrement formé pour l’image:

if ( has_post_thumbnail() ) {
    the_post_thumbnail( 'large-feature' );
}

(Je recommanderais également d'utiliser un slug unique pour la taille d'image personnalisée, telle que la fonction de rappel theme-slug-large-feature', wheretheme-slugis the *slug* of your Theme name. Note that I also usedtheme_slugas a unique prefix for thefunctions.php`.)

4