web-dev-qa-db-ja.com

投稿にImgのカスタムフィールドを追加する

Wordpressの投稿内にカスタムフィールドをどのように設定できるのでしょうか。 Postダッシュボードで画像を追加するためのフィールドを用意したい - 最大幅と最大高さが設定されているので、画像を常に投稿内で左側に浮かべるようにしたい(テキストは右側を折り返す)。

誰かがこれのためのプラグイン、または私がそうするために含めることができるPHPスニペットを推薦することができますか?

いつもありがとう!

3
Captain Ron

サムネイルの投稿機能を使うべきです。 functions.phpファイルのこの行でこの機能のサポートを追加します。

add_theme_support( 'post-thumbnails' );

また、新しく追加した写真をトリミングしてテーマに使用する新しいサムネイルサイズを設定することもできます。このコードを追加して新しいサムネイルサイズを設定します(functions.phpファイルにもあります)。

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

上記のコードは500 x 300ピクセルにぴったり収まるように画像をトリミングします。幅と高さを流動的(最大幅500、最大高さ300)にするには、trueプロパティをfalseに設定します。

最後に、あなたが望む場所でテーマにサムネイルを追加してください。このコードでは:

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

それがそれです:)あなたは写真を撮られた投稿サムネイルを可能にして、カスタマイズしました!これがあなたのために働くことを願っています:)

編集する

いくつかの提案/ベストプラクティスを追加します。

まず、functions.phpコードを必ずコールバックの内側に置き、適切にフックします。例えば。:

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

次に、テンプレート呼び出しを条件付きでラップし、画像の完全形式のHTMLを出力します。

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

(私はまた、theme-slug-large-feature', wheretheme-slugis the *slug* of your Theme name. Note that I also usedtheme_slugas a unique prefix for thefunctions.php`コールバック関数のような、独自のスラッグをカスタムイメージサイズに使うことをお勧めします。)