সাম্প্রতিক উন্নতির অংশ হিসাবে আমি বিভিন্ন ওয়েবসাইটগুলিতে করেছি যা আমি গ্যালারিতে চিত্রগুলি তৈরি করতে চেয়েছিলাম যখন উপরে হোভার করা হয় তখন বর্ধিত সংস্করণ দেখায়. বেসিক দিয়ে এটি করা সিএসএস মোটামুটি তুচ্ছ, কিন্তু আমি শুধু মূল চিত্রটি প্রসারিত করতে চাইনি, আমি চেয়েছিলাম ব্রাউজারটি একটি নতুন দখল করুক (বড়) ছবিও…
All of the images are already providing a full src-set so all I needed to do was to use a little jQuery (which is already loaded by wordpress anyway) to change the target display size to make the browser pull a larger image. সুন্দর জিনিস যে সিএসএস works instantly so you get a larger image using the original file, and then the quality improves a split second later as the higher res file gets loaded.
দ্য সিএসএস
দ্য সিএসএস I used is as follows. আমি কেবল আমার থিমের স্টাইল। CSS এ এটি যুক্ত করেছি (or rather child-theme — always a good idea to use one)
ডিটি.গ্যালারি-আইকন একটি img.size-thumbnail:ঘোরা { রূপান্তর: স্কেল(3.0); }
নোট (1) — the above সিএসএস applies to gallery images only. It is unlikely anyone would want this functionality for all images displayed anywhere on the page, but you might want it for the main content section. You would need to check how your theme structures this, but in my case the main content area is a “section” so the following code would do the job
বিভাগ.এন্ট্রি-সামগ্রী পি একটি img.size- থাম্বনেল:ঘোরা { রূপান্তর: স্কেল(3.0); }
নোট (2) — This code applies only to thumbnail images. For medium images you would replace “size-thumbnail” with “size-medium”, and for large with “size-large”.
নোট (3) — Because my thumbnails are 120x80px I want to increase them to 3x their original size. I already have a custom image size of 360×240 that wordpress creates for me that is included in the src-set. For hi-dpi screens there are also even larger image sizes that I have (e.g. 720×480). Creating additional image sizes in wordpress is easy — there are lots of good guides online if you need to do this.
আপনি 1.5x বা 2.0x এ স্কেল করতে চাইলে সাধারণ পরিবর্তন করুন 3.0 পছন্দসই হিসাবে
JQuery
Add the following to your (শিশু) থিমের স্ক্রিপ্ট ফাইল (assuming it has one). If it doesn’t have one, create your own, and ‘enqueue’ it with a custom function in the (শিশু) থিমের ফাংশন.এফপি
jQuery(দলিল).প্রস্তুত(ক্রিয়া(){ jQuery("ডিটি.গ্যালারি-আইকন একটি img.size-thumbnail").ঘোরা(ক্রিয়া(){ jQuery(এই).অ্যাট্রি("আকার","(সর্বোচ্চ প্রস্থ: 360px আকারে) 100vw, 360px আকারে"); }, ক্রিয়া(){ jQuery(এই).অ্যাট্রি("আকার","(সর্বোচ্চ প্রস্থ: 120px আকারে) 100vw, 120px আকারে"); }); //উপরের পুনরাবৃত্তি 5 আপনি সংশোধন করতে চান প্রতিটি আলাদা চিত্র আকারের জন্য এখানে লাইন });
The above code is applying to images with class thumbnail that are found inside any dt with a gallery-icon class — so in otherwords — only to images inside the wordpress built-in gallery structure. On hover the max-width is increased from 120 থেকে 360 (আমার সাথে মেলে একটি 3x বৃদ্ধি সিএসএস!), and then the second part of the function restores the original 120 width when the hover stops.
হিসাবে সিএসএস উপরে, you can adjust the numbers to change how much the image enlarges, এবং আপনি পরিবর্তন করতে পারেন dt.gallery-icon a img.size-thumbnail
section to target a different element or class depending on which images you want to target.
আপনার নিজস্ব স্ক্রিপ্ট সজ্জিত করুন
If your theme didn’t have a script file and you need to enqueue your own add the following to your (শিশু) থিমের ফাংশন.এফপি (assuming you called your script file image-zoom.js and saved it in the root folder of the theme)
wp_register_script( 'img-zoom', get_stylesheet_directory_uri() . '/image-zoom.js', শ্রেণীবিন্যাস( 'jquery' ), '', true);
wp_enqueue_script( 'img-zoom' );
উপরেরটি আপনার স্ক্রিপ্ট নিবন্ধন করবে, in the footer, making sure it is placed after jquery (so jquery should already be available when it executes)
চিত্রের আকার যুক্ত করা হচ্ছে
For completeness here’s how to add custom image sizes to wordpress. আবার, এটি আপনার যুক্ত করুন (শিশু) থিমের ফাংশন.এফপি
add_image_size( 'প্রান্তিক প্রস্থ', 192, 144, মিথ্যা );
Above I’ve added a new image-size called “quarter-width” with a maximum width of 192px and a maximum height of 144px. চিত্রটি ক্রপ করা হবে না (অতএব শেষে মিথ্যা).
WordPress will now create images of this size automatically when you upload images (you will need to use a thumbnail rebuild plugin to recreate the thumbnails for already-uploaded images).
This new image size will NOT show up for insertion in the editor though. To make it available also add the following code to your functions.php
my_custom_image_s आकार ফাংশন( $আকার ) {
ফিরুন অ্যারে_সজ্জা( $আকার, শ্রেণীবিন্যাস(
'quarter-width' => __('কোয়ার্টার প্রস্থ'),
) );
}
বিদ্যমান সেটিংস সম্মান
আর একটি জিনিস যা আপনি করতে চাইবেন (to ensure responsive images work well) is to create larger (i.e. হাই-ডিপিআই) thumbnail sizes that respect the গ্রাফিক্যাল ইউজার ইন্টারফেস of whether to crop thumbnails or not. To do that use the code below which as you will see is slightly modified from the more basic one above
add_image_size( 'রেস-থাম্ব -2 এক্স', (get_option( 'থাম্বনেইল_সাইজ_উ' ) == 0 ? 0 : '240'), 160, get_option( 'থাম্বনেইল_ক্রপ' ) );
উপরের কোডটি চেক করে 2 things — firstly it checks to see if the crop option is set, এবং যদি হয়, it mirrors it for our new responsive size. প্রস্থটি সেট করা আছে কিনা তাও এটি পরীক্ষা করে 0 (i.e. no maximum) in which case our new image will also have no maximum either. I called the new image size “resp-thumb-2x” as it is a ‘responsive’ copy of the thumbnail that is twice as large (for hi-dpi screens with double the normal pixel density). I have also created a number of other sizes to make a fairly complete set.
Note — Since my original thumbnails were 120×80 I want my new ones to be 240×160 so those are the sizes I have specified (হার্ড কোডেড). It would be possible to get both the height and width specified for the original thumbnail and multiply both by 2 to make this function fully generic, but I didn’t do so when I was developing it so I will leave that to you to figure out!
একটি চূড়ান্ত পরামর্শ
যদি, আমার মত, you create your own full set of new image sizes, you may not want wordpress to create it’s own extra hidden sizes. In addition to the original image, and the thumbnail, the medium, এবং বড় ইমেজ, wordpress also create a “post-thumbnail”, a “medium-large”, a 1536×1536 and a 2048×2048. These are disabled in 2 different ways…
অপসারণ করতে 1536 এবং 2048 চিত্রগুলি সরাসরি-ফরোয়ার্ড
মুছে ফেলা_মাজে_সাইজ করুন( '1536x1536' ); //অপসারণ 1536 we dont need it
remove_image_size( '2048x2048' ); //অপসারণ 2048 আমাদের এটি দরকার নেই
The post-thumb and medium-large are slightly more complicated
//remove the built-in medium-large add_filter('ইন্টারমিডিয়েট_আইমেজ_ সাইজ', ক্রিয়া($আকার) { ফেরত অ্যারে_ডিফ($আকার, ['মাঝারি বৃহৎ']); }); //remove the built-in post-thumbnail add_filter('ইন্টারমিডিয়েট_আইমেজ_ সাইজ', ক্রিয়া($আকার) { ফেরত অ্যারে_ডিফ($আকার, ['পোস্ট-থাম্বনেল']); });
Note that removing the post-thumbnail seems to sometimes have strange effects on the image library in the editor.
একটি চূড়ান্ত চূড়ান্ত নোট
When deciding on image sizes (for larger images, less so thumbnails) you ideally want a size that common aspect ratio images will always resize nicely to. For that reason I recommend the following sizes
আকার | প্রস্থ | উচ্চতা (4:3) | উচ্চতা (16:9) | উচ্চতা (3:2) |
---|---|---|---|---|
কোয়ার্টার | 192 | 144 | 108 | 128 |
তৃতীয় | 288 | 216 | 162 | 192 |
অর্ধেক | 384 | 288 | 216 | 256 |
Medium | 576 | 432 | 324 | 384 |
সম্পূর্ণ | 768 | 576 | 432 | 512 |
বড় | 1152 | 864 | 648 | 768 |
এক্সট্রা লার্জ | 1536 | 1152 | 864 | 1024 |
Note how the widths specified produce whole number heights for all 3 of the most common aspect ratios. আপনি এর মতো প্রস্থের সাথে তা পাবেন না 150 or 200.
Also note the pattern in increases. ঝাঁপ দাও 2 সারণীতে সারি এবং আকার দ্বিগুণ হয়! এমনকি সারি (288,576,1152 এবং 1535) are also 1.5x the previous size so these work well on semi-hi-dpi screens using a 50% ডিপিআই বৃদ্ধি. এই সেট ব্যবহার করে 7 sizes you have a good range of usable options for most viewports AND a good set of responsive images that wordpress will automatically add to the src-set since they will have consistent aspect ratios with no fractions that would lead to quality loss or cropping.
Currently for thumbnails I tend to either have unlimited width allowed OR I hard crop to a fixed 3:2 ratio so I use whole number sizes for thumbnails but I may eventually tweak my theme and extend the above system backwards by having options 48px and 96px wide (মনে রাখবেন যে এগুলির মধ্যে কোনও মূল্য নেই 2 that would work unfortunately — and since I use 60px wide mini thumbnails I haven’t opted to extend backwards). 72px উভয়ের জন্য কাজ করবে 4:3 এবং 3:2 (এবং 64px এর সাথে কাজ করবে 4:3 এবং 16:9). Since a majority of my images are taken on my dSLR these are typically 3:2 (the same as the aspect ratio of traditional 35mm film) তাই আমি এই আকারটিও ব্যবহার করতে পারি, যা তখন পুরো আকারে বড় আকারের সাথে কাজ করবে, but the larger sizes are not cropped whereas my thumbnails are — I’m happy for larger images to be both landscape and portrait, but I want thumbnails to typically be landscape only to fit with my design, so that’s why I haven’t extended backwards. Hopefully as more and more logos are available as SVG'গুলি, এবং একবার কোন JPEG-এক্সএল নিকট ভবিষ্যতে ব্রাউজারে আসবে, এই অনেক সমাধান করা হবে.
“Hi James I realise it has been a long while, but I just checked this on windows 11 (build 23H2)…”