投稿のサムネイルサイズはどのように取得しますか?


13

WP Admin Media Settingsまたはこの機能を使用して、投稿のサムネイル画像のサイズを設定する方法を知っています

set_post_thumbnail_size( 150, 150 )

しかし、画像のサムネイルサイズに設定れている画像の 高さをどのように取得するのでしょうか?

私はこのようなことをしたいです:

get_post_thumbnail_size(); // return array(150, 150)

これはどのように行われますか?を使用しているのget_option()ですか?オプションキーはサムネイルの幅と高さですか?

回答:


8

WordPress(add_image_size)、またはプラグインまたは独自のカスタムコードによって画像サイズが追加され、$_wp_additional_image_sizesグローバルに追加された場合、そのグローバルからデータをプルするための同様の関数は見つかりませんが、確かに中を見ることができます登録された画像サイズの幅と高さを決定するグローバル。

例:

global $_wp_additional_image_sizes;
// Output width
echo $_wp_additional_image_sizes['post_thumbnail']['width'];
// Output height
echo $_wp_additional_image_sizes['post_thumbnail']['height'];

もちろん、サイズを設定した後のポイントでそれらの値を必ず参照してください。たとえば、初期化中にサムネイルのサイズを設定する場合は、その時点以降に必要なことを必ず行う必要があります(そうでない場合は、設定前のサイズに戻ります)。

お役に立てば幸いです。


ように見えるpost-thumbnailのではなく、post_thubmnail(WP3.6)
user2019515

15

ただし、別の方法があります。

get_option( 'thumbnail_size_w' );
get_option( 'thumbnail_size_h' );

注:thumbnailはに設定されたサイズの1つです$_wp_additional_image_sizes。したがって、への呼び出しget_option()は、他のすべての画像サイズでも機能します。


4
プラグインはフックを実行できるため、実際にはこれが最良のオプションです。
FUXIA

1
それがまだ言及されていないことに驚いている理由です。
マーク


1

これglobal $_wp_additional_image_sizes; は期待どおりに動作しない可能性があることに注意してください。たとえば、プラグインで使用する場合、テーマが登録した追加サイズは返されません。


アクションシーケンスの後半で呼び出しを行うと、つまり テーマが初期化アクションでサイズを登録する場合、そのアクションが発生した後に呼び出しを行う必要があります。
t31os

1

まだ足りないものはサムネイルのIDです:

$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$attachment = wp_get_attachment_image_src( $post_thumbnail_id );
$width=$attachment[1];
$height=$attachment[2];


-1

上記の投稿に加えて:

$attachment = wp_get_attachment_image_src( $attachment_id ); // where $attachment_id is the ID of the attachment you want to get the thumbnail from

次に、次のコードを使用して、URL、幅、高さを表示します。

echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.