ユーザーが自分のサイトで写真を閲覧しているときに、prettyPhotoライトボックスにフルサイズの画像のダウンロードボタンリンクを追加したいです。
現在私は自分のサイトで prettyPhoto Media プラグインを使用しています。また、prettyPhotoに表示するためにこのコード( this post から取得)も使用しています。ギャラリー内のフルサイズの画像よりも小さい画像なので、読み込み時間は長くなります。
function oikos_get_attachment_link_filter( $content, $post_id, $size, $permalink ) {
// Only do this if we're getting the file URL
if (! $permalink) {
// This returns an array of (url, width, height)
$image = wp_get_attachment_image_src( $post_id, 'large_image_size' );
$new_content = preg_replace('/href=\'(.*?)\'/', 'href=\'' . $image[0] . '\'', $content );
return $new_content;
}
}
add_filter('wp_get_attachment_link', 'oikos_get_attachment_link_filter', 10, 4);
しかし、prettyPhotoは現在サムネイルサイズの画像しか表示していないため、視聴者はフルサイズの画像(幅2000ピクセル前後)を取得できないため、ダウンロードボタンを追加する必要があるため、使用する全画像をダウンロードできます。
ありがとうございます。
それで私にとって最良の選択肢は、私はプログラマーではないということですが、単にプラグインを変更することでした。 このプラグイン を使用して、必要な結果を得ました(すでにダウンロードリンクがあります)。
プログラマは prettyPhotoのドキュメントを利用することができます そしてfooter.phpでwp_footer()を呼び出した後にプラグインを修正することができます。
ダウンロードボタンを追加した後、prettyPhotoに少し高さの向上を与えます。
<?php wp_footer();?>
<style>.download-btn{ margin-top: 10px; padding: 5px; background: #ccc; float: left }</style>
<script>
jQuery(document).ready(function() {
jQuery("a[rel^='prettyPhoto']").prettyPhoto({
image_markup: '<img id="fullResImage" src="{path}" /><span class="download-btn"><a href="{path}">Download</a></span>',
changepicturecallback: function(){
jQuery(".pp_content").css("height", $(".pp_content").height() + jQuery(".download-btn").outerHeight() + 10);
}
});
});
</script>
</body>
</html>