চিত্র অপ্টিমাইজেশনের জন্য $ Content_width ব্যবহার করার জন্য একটি ভাল বিকল্প কী?


14

$content_widthগ্লোবাল ওয়ার্ডপ্রেস প্রভাব অনেক থিম এবং চিত্র এবং পোস্টগুলির মধ্যে এম্বেড আকার সীমিত দ্বারা এমন কিছু প্লাগিন, এটা wordpress.org জমা থিম জন্য একটি প্রয়োজন।

এটি ব্যবহার করে সেট করা হয়েছে:

$content_width = 584; // Twenty Twelve example

আপনি যদি কোনও পোস্টে একটি বৃহত চিত্র (ডিফল্ট 1024x1024) সন্নিবেশ করান তবে ফলাফল হয়:

src="../wp-content/uploads/2013/02/IMG_1390-1024x682.jpg" width="584" height="328"

পরিবর্তে আপনি যদি এই বিশ্বব্যাপী সেটিংসটি সরিয়ে থাকেন এবং আসল চিত্রের আকার সন্নিবেশ করান তবে সেট করুন add_image_size ফলাফল:

src="../wp-content/uploads/2013/02/IMG_13901-584x328.jpg" width="584" height="328" 

বিশ্বব্যাপী সরানো এবং বড় চিত্র সন্নিবেশ করা, যা খুব সাধারণ , প্রায়শই 2x এরও বেশি সঞ্চয় হয়, একাধিক চিত্রের পৃষ্ঠাগুলিতে আমি পৃষ্ঠা লোডে শত শত কেবি সংরক্ষণিত দেখতে পাই ।

add_image_sizeপূর্ণ আকারের চিত্রগুলি সন্নিবেশ করার ক্ষমতাটি ব্যবহার এবং অপসারণ করা কি আরও ভাল বিকল্প নয়?

পুনশ্চ. আমি আরও সঠিক তথ্য দিয়ে এখানে এটি সম্পর্কে লিখেছি


1
এটি ডাব্লুপি-হ্যাকার মেলিং তালিকায় আনার মতো কিছু মনে হচ্ছে ।
এডিমেমায়া

উত্তর:


7

মনে রাখবেন যে $content_widthগ্লোবালটি কেবল চিত্রগুলির জন্যই নয়, ভিডিও সহ এম্বেড থাকা সামগ্রীর জন্যও ব্যবহৃত হয়। সুতরাং, কোনও সমাধান কেবল $content_widthনিজের ব্যবহার / সমর্থন বাদ দেওয়ার ঘটনা হবে না ।

সাধারণত কোনও থিম কয়েকটি উপায়ে বিষয়বস্তু-অঞ্চল চিত্রগুলি সীমাবদ্ধ করে রাখবে:

  1. বৃহত চিত্রের আকার: $content_widthথিম ডিজাইনের জন্য উপযুক্ত কিছু সংজ্ঞা দেওয়া
  2. আসল / পূর্ণ চিত্রের আকার: -োকানো #content img { max-width: XXX; height: auto; }পূর্ণ-আকারের চিত্রগুলি লেআউটটি ভাঙ্গবে না তা নিশ্চিত করার জন্য একটি সিএসএস নিয়ম সংজ্ঞায়িত করা
  3. থাম্বনেল চিত্রের আকার: set_post_thumbnail_size()বৈশিষ্ট্যযুক্ত চিত্র / পোস্ট থাম্বনেল ডিফল্ট thumbnailআকারের সংজ্ঞা দিতে কল করা (দ্রষ্টব্য: আমি ব্যক্তিগতভাবে এই পদ্ধতিটি ব্যবহার করার পরামর্শ দিই না a বৈশিষ্ট্যযুক্ত চিত্রের জন্য প্রদত্ত স্থানে নির্দিষ্ট কাস্টম চিত্রের আকার নির্ধারণ করুন এবং তারপরে নির্দিষ্ট টেম্পলেট স্থানে সেই কাস্টম আকারটি কল করুন the_post_thumbnail( $size )))

যেমনটি আপনি আবিষ্কার করেছেন যে কোনও প্রদত্ত চিত্রের অনুরোধের জন্য ওয়ার্ডপ্রেস মধ্যবর্তী চিত্রের আকারের সাথে বাছাই করার কারণে, সেই অনুরোধটির ফলে ব্রাউজার-মাপানো চিত্র আসতে পারে।

বৃহত চিত্রের জন্য থিম-নির্ধারিত মান

একটি বিকল্প বড় ইমেজ মাত্রা জন্য সেটিংস পুনরায় সংজ্ঞায়িত করা হবে । (সাবধানতার সাথে এগিয়ে যান This এটি আপনার নিজের সাইটের জন্য ভাল, তবে ব্যবহারকারীদের কনফিগারেশন সেটিংসের সাথে মেসেজ করা একটি সর্বজনীনভাবে বিতরণ করা থিমটি হ'ল ... ধূসর অঞ্চল সেরা)

বৃহত চিত্রের মাত্রা সেটিংস হিসাবে সংরক্ষণ করা হয়:

$large_image_width = get_option( 'large_size_w' );
$large_image_height = get_option( 'large_size_h' );

সুতরাং, আপনি আপনার মান অনুযায়ী সেই মানগুলি সেট করতে পারেন $content_width:

global $content_width;
update_option( 'large_size_w', $content_width );
update_option( 'large_size_h', $content_width );

(অবশ্যই, আপনি যথাযথ হিসাবে এর আশেপাশে কিছু ব্যর্থ সাফ / ত্রুটি-চেক লাগাতে চান))

পূর্ণ আকারের চিত্র সন্নিবেশ করানোর জন্য বিকল্পটি সরান

আপনি যদি ব্যবহারকারীদের পুরো আকারের চিত্র tingোকানো থেকে বিরত রাখতে চান (আবার: সাবধানতার সাথে এগিয়ে যান; এটি প্লাগইন অঞ্চল হতে পারে) আপনি ফিল্টার করতে পারেন 'image_size_names_choose':

function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
    unset( $possible_sizes['full'] );
    return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );

আবার: আপনি এখানে কিছু বুদ্ধিমান ফেলেনস যুক্ত করতে চাইতে পারেন, কারণ এই ফিল্টারটি একাধিক জায়গায় ব্যবহৃত হয়।

পূর্ণ-পোস্ট-প্রস্থের চিত্রগুলির জন্য একটি কাস্টম চিত্রের আকার নির্ধারণ করুন

পূর্ববর্তী বিকল্পের সাথে সম্পর্কিত, আপনি একটি 'full-post-width'চিত্রের আকার নির্ধারণ করতে পারেন :

global $content_width;
add_image_size( 'full-post-width', $content_width, $content_width, false );

তারপরে, এটিকে উপলভ্য বিকল্পগুলির তালিকায় যুক্ত করুন:

function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
    // Unset full image size
    unset( $possible_sizes['full'] );
    // Add full-post-width image size
    $possible_sizes['full-post-width'] = 'Full Post Width';
    // Return array
    return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );

বিস্তৃত উত্তরের জন্য ধন্যবাদ চিপ, আমি get_optionমানগুলি সেট করার বিষয়ে ভাবি নি । বাকীটি আমার যে লিঙ্কটিতে লিঙ্কযুক্ত ছিল আমি gist.github.com/wycks/4949242 ব্যবহার করছি তার সাথে মিল রয়েছে । এছাড়াও থিমটি পরিবর্তিত হলে কীভাবে এটি প্রকৃতপক্ষে স্কেল করা যায় তার একটি ধূসর অঞ্চল বলে মনে হয়।
উইক

এছাড়াও আমি $content_widthসেটিংস সরিয়ে ফেলা বা না সেট করা উল্লেখ করতে ভুলে গেছি , এটি এখনও আমার মনে হয় এম্বেড থাকা বস্তুগুলিতে ডিফল্টরূপে প্রয়োগ হয়ে যায়।
উইক

image_size_names_chooseএখনও অবধি ফিল্টারটি আর দেখেনি ! আমি এখন পর্যন্ত আমার কাস্টম আকারগুলি পেতে পুরো ক্ষেত্রটি প্রতিস্থাপন করেছি। 3.5 চিপ এ কি নতুন?
sanchothefat

আমি মনে করি এটি ৩.৩ থেকে হয়েছে, আমি বহু add_image_sizeভাষাতে লেবেল তৈরি করতে এটি ব্যবহার করছি এবং তারপরে আমি ভেবেছিলাম এই চিত্র আকারের ইস্যুতে এটি ব্যবহার করাও ভাল। আপনার যদি স্থানীয়করণের প্রয়োজন না হয় তবে আপনি এটিকে হার্ডকোডিংয়ের পরিবর্তে অ্যারেতে ধাক্কা দিতে পারেন।
উইক

পছন্দ করেছেন উইকের মতো দেখে মনে হচ্ছে এটি 3.3 ছিল? আমি সর্বদা উত্সটি অনুসন্ধান করতে পছন্দ করি, যখন আমার কোনও প্রসারিত / সংশোধন করা দরকার এবং সেই নির্দিষ্ট জিনিসটিতে একটি ফিল্টার যুক্ত হয়েছে finding :)
চিপ বেনেট

2

হ্যাঁ আমি তাই মনে করি. $content_widthরেপোতে জমা হওয়া থিমগুলির জন্য ইস্যুটি ঘুরে দেখার জন্য আমি ডিজাইনের জন্য যে আকারগুলি বেছে নিয়েছি তার জন্য জোর করে বিকল্প ফিল্টার ব্যবহার করি।

add_filter( 'option_large_size_w', function( $opt ) { return 1024; } );
add_filter( 'option_large_size_h', function( $opt ) { return 0; } );
add_filter( 'option_embed_size_w', function( $opt ) { return 1024; } );
add_filter( 'option_embed_size_h', function( $opt ) { return 0; } );
// ...etc...
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.