web-dev-qa-db-fra.com

Type de publication personnalisé avec un rognage d'image à rapport de format forcé

Ce que je cherche ressemble à quelques autres questions. Les liens sont:

Création d'un type de message personnalisé centré sur l'image?

Utilisation de la fonction de recadrage de l'image d'en-tête personnalisée par WordPress dans un type de publication/MetaBox

Je cherche une sorte de combinaison des deux. Je vais vous expliquer afin que vous n'ayez pas à chercher ces autres questions.

J'aimerais qu'un utilisateur puisse télécharger une image dans un type de publication personnalisé et qu'on lui demande de recadrer l'image avec un rapport de format défini avant de l'enregistrer. J'essaie d'empêcher les utilisateurs de devoir rogner des images en dehors de WordPress uniquement pour les adapter à un diaporama avec une taille d'image définie.

La fonctionnalité d'en-tête personnalisé correspond à peu près à ce que j'aimerais utiliser, mais je ne sais pas trop comment l'intégrer dans un plugin ou un thème et le faire exécuter dans un type d'article personnalisé. Le fait que l'utilisateur soit invité à rogner l'image selon un rapport défini avant de continuer est la clé .

Je suis assez à l'aise avec les types de publication personnalisée si quelqu'un peut simplement me donner un pointeur sur la façon d'obtenir WordPress pour forcer le rognage personnalisé d'une image avant d'enregistrer la publication personnalisée.

Merci d’avance à l’un de vos génies de codage de savoir comment faire cela.

11
Don

Don,

Vous devrez ajouter un support pour les vignettes dans votre functions.php/plugin-file.php

//Add Support for Thumbs
if ( function_exists( 'add_theme_support' ) ) {
  add_theme_support( 'post-thumbnails' );
        set_post_thumbnail_size( 960, 276, true ); // default Post Thumbnail dimensions   
}
//Add Thumbnail sizes   
if ( function_exists( 'add_image_size' ) ) { 
  add_image_size( 'large-thumb', 960, 276, true ); //960 pixels wide x 276 height and cropping
  add_image_size( 'medium-thumb', 605, 174 ); //No crop
  add_image_size( 'small-thumb', 288, 83, true ); 
}

À partir de là, vous pouvez modifier cette sortie dans votre boucle pour l'adapter à vos besoins:

<?php if ( has_post_thumbnail() ) {

          echo '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( $post->post_title ) . '">';
          echo get_the_post_thumbnail($thumbnail->ID, 'small-thumb', array( 'alt' => esc_attr( $post->post_title ), 'title' => esc_attr( $post->post_title ) ));
          echo '</a>';  //Change the 'small-thumb' to whichever size you would like.
          } 

J'espère que cela vous aidera à comprendre ce que vous faites - si vous avez besoin d'aide pour créer une requête à ce sujet, vous devriez vous pencher sur cette page .

2
David