我将此用于我的图库-
<?php echo do_shortcode(\'[gallery size="gallery-thumb" link="file"]\'); ?>
我正在使用
jquery fancyapps fancybox. 但我的图库中的一些全尺寸图片非常大,需要很长时间才能加载。。。
相反,我想在短代码中的链接文件使用我下面的自定义图像大小。。。
add_image_size( \'fancyapps-image\', 1024, 1024 );
有谁能帮助我们使用其他插件吗?
我在我的帖子/页面正文上使用了类似的脚本,其中图像是手动插入和对齐的,所以类似的东西肯定可以工作?
这个脚本组合函数ajax调用基本上扫描了我帖子中的所有图像,并将链接url更改为“fancyapps图像”大小。。。
script
var raw_class, image_id = new Array();
$(\'.entry a img\').each(function(i){
var img_class = $(this).attr(\'class\');
if(img_class && img_class != undefined){
raw_class = $(this).attr(\'class\').split(" ");
for(j=0;j<=raw_class.length-1;j++){
if(raw_class[j].match(/wp-image-/))
image_id[i]= raw_class[j].slice(9);
}
}
});
var image_ids = image_id.toString();
var data = { type: \'get_data\', action: \'wp_get_large_image_url\', data: image_ids }
$.post( wp_ajax, data, function(message){
if(message){
var raw_data = message.split(\',\');
for(i=0;i<=raw_data.length-1;i++){
var image_data = raw_data[i].split(\'%-\');
$(\'.wp-image-\'+image_data[1]).parent(\'a\').attr(\'href\', image_data[0]);
}
}
});
admin-ajax.php call
<?php echo "var wp_ajax = \'" . admin_url(\'admin-ajax.php\') . "\';" ?>
functions.php
function wp_large_image_data(){
unset( $_POST[\'action\'] );
if($_POST[\'type\'] == \'get_data\'){
$data = $_POST[\'data\'];
$image_ids = explode( \',\', $data );
$image_large_url = array();
foreach($image_ids as $image_id){
if($image_id){
$attachment_data = wp_get_attachment_image_src( $image_id, \'fancyapps-image\' );
$image_large_url[] = $attachment_data[0].\'%-\'.$image_id;
}
}
$image_data = implode( "," , $image_large_url);
echo $image_data;
}
die;
}
add_action(\'wp_ajax_wp_get_large_image_url\', \'wp_large_image_data\');
add_action(\'wp_ajax_nopriv_wp_get_large_image_url\', \'wp_large_image_data\');
任何想法都很好,谢谢。