投稿ページにおすすめの画像情報を表示する必要があります。他の情報の中で私は画像(投稿の特集画像)のファイルサイズを表示する必要があります。
私はsingle.phpの中でこの機能を試しました。
<?php
function getSize($file){
$bytes = filesize($file);
$s = array('b', 'Kb', 'Mb', 'Gb');
$e = floor(log($bytes)/log(1024));
return sprintf('%.2f '.$s[$e], ($bytes/pow(1024, floor($e))));
}
?>
そしてそれを反映する:
<?php echo getSize('/wp-content/uploads/2014/06/some-file-name.jpg'); ?>
それは動作しますが、私は手動でコードでそれを入力するのではなく、自動的にtiが注目の画像のURLを取得するようにする必要がありますか?
例えば、私はこれを使用して注目の画像( "full")のURLをエコーします。
<?php
if ( has_post_thumbnail()) {
$full_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full');
echo $thumb_image_url[0];
}
?>
それを結合するのを手伝ってもらえますか、それとも私に別の解決策を提供してください。
get_attached_file()
を使用すると、次のことができます。
添付ファイルIDに基づいて添付ファイルのパスを取得します。
また、 get_post_thumbnail_id()
現在の投稿の投稿サムネイル、または$post_id
パラメータを設定した場合は任意の投稿を決定します。使用例
$bytes = filesize(
get_attached_file(
get_post_thumbnail_id()
)
);
size_format()
を使用して
与えられたバイト数を人間が読める形式に変換する
$hr_size = size_format( $bytes );
実際に中間サイズの1つのサイズを取得したい場合は、上の図がフルイメージのファイルサイズを示しています。 image_get_intermediate_size()
を使用してください。ここで、
メタデータ 'sizes'は、パラメータ$ size valueに使用できる互換性のあるサイズに使用されます。
つまり、データを取得するために wp_get_attachment_metadata()
を使用します。さらに、パスを構築するために wp_upload_dir()
が必要です。使用例
$upload_dir = wp_upload_dir();
$metadata_size = image_get_intermediate_size(
get_post_thumbnail_id(),
'thumbnail'
);
$path_inter = $upload_dir[ 'basedir' ] . '/' . $metadata_size[ 'path' ];
$bytes = filesize(
$path_inter
);
$hr_size = size_format( $bytes );