web-dev-qa-db-ja.com

強制固定縦横比の画像トリミングを使用したカスタム投稿タイプ

私が探しているものは他のいくつかの質問に似ています。リンクは以下のとおりです。

画像中心のカスタム投稿タイプを作成する

ポストタイプでデフォルトのWordPressカスタムヘッダー画像トリミング機能を使用する/ MetaBox

私は2つの種類の組み合わせを探しています。説明しますので、他の質問を調べる必要はありません。

ユーザーが写真をカスタム投稿タイプにアップロードし、保存する前に設定した縦横比で画像をトリミングするように求められるようにします。画像サイズを設定してスライドショーに収まるように、ユーザーがWordPressの外部で画像をトリミングする必要がないようにしています。

カスタムヘッダー機能は、私が使用したいもののほとんどですが、それをプラグインまたはテーマのいずれかに組み込んで、カスタム投稿タイプで実行させる方法には困惑しています。ユーザーが作業を進める前に設定された比率で画像をトリミングするように要求されたという事実キーです)。

カスタム投稿を保存する前に、WordPressに強制的にカスタム画像のトリミングを強制する方法についてのポインターを渡すことができれば、私はカスタム投稿タイプにかなり満足しています。

あなたのうちの1人が天才をコーディングしていることを知っていて/これをする方法を理解してくれて、ありがとう。

11
Don

ドン、

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 ); 
}

ここから、ループ内でこの出力を変更してニーズに合わせて動作させることができます。

<?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.
          } 

これがあなたが何をしているのかを理解するのに役立つことを願っています - もしあなたがこのためのクエリを作成するのに何か助けが必要な場合は このページ を調べてください。

2
David