ডাব্লুপি ৪.৪-তে আমি কীভাবে প্রতিক্রিয়াশীল চিত্রগুলি অক্ষম করব?


37

আমি সফলভাবে আমার 4.3.1 ইনস্টলটি সমস্ত https এ রূপান্তর করেছি। 4.4 আপডেট করার পরে। নতুন srcsetবৈশিষ্ট্য নিয়ে আমার সমস্যা আছে । যদিও srcইমেজ জন্য অ্যাট্রিবিউট https ব্যবহার সেট করা থাকে, srcsetঅ্যাট্রিবিউট HTTP হয়। এর ফলে ব্রাউজারগুলি কোনও চিত্রই প্রদর্শন না করে।

আরও ভাল সমাধানের জন্য অপেক্ষা করার সময়, আমি srcsetপুরোপুরি বৈশিষ্ট্যটি সেট করা অক্ষম করতে চাই যাতে সমস্ত চিত্রের কেবল একটি srcবৈশিষ্ট্য থাকে। আমি কেমন করে ঐটি করি?


2
আমি এটিও জানতে চাই - এটি আমাদের ওয়েবসাইটটির একটি সঠিক জগাখিচুড়ি করেছে!
ক্রিস

আমি সাফল্য না পেয়ে বিভিন্ন উপায়ে চেষ্টা করেছি তবে আমি মূল প্রশ্নটি নতুন পদ্ধতির জন্য ছেড়ে দিতে চেয়েছি। আমার প্রচেষ্টার সবচেয়ে কঠোরতম মন্তব্যটি আমি দায়বদ্ধ বলে বিশ্বাস করেছি এই add_filterলাইনে মন্তব্য default-filters.phpকরেছিলাম://add_filter( 'the_content', 'wp_make_content_images_responsive' );
ব্রোকার

1
প্রতিক্রিয়াশীল চিত্রগুলি অক্ষম করার পরিবর্তে, আপনাকে এইচটিটিপি এবং এইচটিটিপিএস মিশ্রিত করা উচিত তা দেখতে হবে কারণ প্রতিক্রিয়াশীল চিত্রগুলির কার্যকারিতা সমস্যার উত্স নয়। আমার সমস্ত ওয়েবসাইটগুলি এইচটিটিপিএসের অধীনে রয়েছে এবং এটি srcsetওয়ার্ডপ্রেস দ্বারা সঠিকভাবে তৈরি করা হয়েছে। আপনি এইচটিটিপি থেকে এইচটিটিপিএসে কীভাবে স্থানান্তরিত হয়েছিলেন?
সাইবমেটা


দেখে মনে হচ্ছে বেশ ভাল লাগছে। ডাবল পোস্টিংয়ের জন্য ক্ষমা প্রার্থনা - ওয়ার্ডপ্রেস.আর. ( ওয়ার্ডপ্রেস.আর.সি.সুপুর্ট / টপিক/…) দিয়ে শুরু করা থ্রেডে মূল ইস্যুটি (এসসিআরসিটেট https ব্যবহার করা উচিত) এছাড়াও সমাধান করা হয়েছে আমার প্রতিরক্ষায় থ্রেডটি একদিন পরে বেশ মরে গেছে বলে মনে হয়েছে বা সুতরাং যখন এটি পুনরুদ্ধার করা হয়েছিল। জ্যামকগিলকে ধন্যবাদ যারা সেখানে এটি সমাধান করেছেন।
ব্রোকার

উত্তর:


43

৪.৪-তে প্রতিক্রিয়াশীল চিত্র সমর্থন সরাতে আপনি কয়েকটি জিনিস এখানে চেষ্টা করতে পারেন:

/**
 * Disable responsive image support (test!)
 */

// Clean the up the image from wp_get_attachment_image()
add_filter( 'wp_get_attachment_image_attributes', function( $attr )
{
    if( isset( $attr['sizes'] ) )
        unset( $attr['sizes'] );

    if( isset( $attr['srcset'] ) )
        unset( $attr['srcset'] );

    return $attr;

 }, PHP_INT_MAX );

// Override the calculated image sizes
add_filter( 'wp_calculate_image_sizes', '__return_empty_array',  PHP_INT_MAX );

// Override the calculated image sources
add_filter( 'wp_calculate_image_srcset', '__return_empty_array', PHP_INT_MAX );

// Remove the reponsive stuff from the content
remove_filter( 'the_content', 'wp_make_content_images_responsive' );

তবে @cybmeta দ্বারা উল্লিখিত হিসাবে সমস্যাটি অন্য কোথাও হতে পারে।

জোর করে https চালু করুন srcset

আপনি wp_calculate_image_srcsetফিল্টারটির সাথে কিছু ডিবাগ করতে পারেন এবং এই দ্রুত-ফিক্সটি চেষ্টা করে দেখতে পারেন :

add_filter( 'wp_calculate_image_srcset', function( $sources )
{
    foreach( $sources as &$source )
    {
        if( isset( $source['url'] ) )
            $source['url'] = set_url_scheme( $source['url'], 'https' );
    }
    return $sources;

}, PHP_INT_MAX );

ইউআরএল স্কিম সেট করতে https। আরেকটি পদ্ধতি হ'ল এটির পরিকল্পনাবিহীন //

অন্যান্য set_url_scheme()বিকল্পের জন্য কোডেক্স দেখুন :

$source['url'] = set_url_scheme( $source['url'], null );        
$source['url'] = set_url_scheme( $source['url'], 'relative' );

তবে আপনার আরও গভীর খনন করার এবং এর মূল কারণটি খুঁজে বের করার চেষ্টা করা উচিত।

হালনাগাদ:

আমরা এর আগে এই wp_calculate_image_srcset()অনুষ্ঠানটি থেকে জামিন দিতে পারতাম :

add_filter( 'wp_calculate_image_srcset_meta', '__return_empty_array' );

তারপরে wp_calculate_image_srcsetবা max_srcset_image_widthফিল্টারগুলি ব্যবহার করে ।

টিকিট # 41895 অনুসারে আপডেট হয়েছে , মিথ্যা / নাল পরিবর্তে একটি ফাঁকা অ্যারে ফিরিয়ে আনতে


উভয় পন্থা প্রতিটিই আমার উদ্দেশ্যে হিসাবে কাজ করেছিল তা নিশ্চিত করার জন্য, অক্ষম srcset সরিয়ে নেওয়া srcset (এবং তাই 'ফিক্সড' চিত্রগুলি ফিরিয়ে আনা হয়েছে) এবং https বলটি srcset url কে https এ পরিবর্তন করেছে। উভয় পন্থা মিশ্র সামগ্রীর সতর্কতা সরিয়ে দিয়েছে।
ব্রোকার

4
add_filter( 'wp_calculate_image_srcset_meta', '__return_null' );সমাধান আমার জন্য কাজ করে মহান। ধন্যবাদ!
টিম বোয়েন

শুনে খুশী হলাম এটি।
বার্জায়ার

এটি কোনও বৈধকরণকারীর উপর সতর্কতা সৃষ্টি করবে: "srcset বৈশিষ্ট্যটি উপস্থিত থাকলে মাপের বৈশিষ্ট্যটি কেবলমাত্র নির্দিষ্ট করা যেতে পারে।"
মাইকেল রজার্স

দেখে মনে হচ্ছে আপনি srcset ফিল্টার করেছেন তবে মাপের বৈশিষ্ট্যটি নয়। @MichaelRogers
birgire

13

এটি করার সবচেয়ে সহজ এবং পরিষ্কার উপায় কেবল এটি:

add_filter( 'wp_calculate_image_srcset', '__return_false' );

যদিও অন্যান্য লোকেরা যা বলছে তা প্রতিধ্বনিত করতে, srcset একটি ভাল ধারণা এবং ভবিষ্যতে (এখন সেরা অনুশীলন), তবে আপনার সাইটের কাজ চালিয়ে যাওয়ার জন্য যদি আপনার দ্রুত সমাধানের প্রয়োজন হয় তবে উপরের স্নিপেটটি কোনও হ্যাকিং ছাড়াই কাজটি করে।

উত্স: ডাব্লুপি কোর ব্লগ


5
__return_falseপরিবর্তে কেবল ব্যবহার করুন disable_srcset, ডাব্লুপি এর মতো সাধারণ কাজের জন্য ফাংশন রয়েছে।
জেক

3
এবং আপনি উভয়ই কেবল মিথ্যা ফিরিয়ে দিতে পুরো নতুন ফাংশন না করে আপনার কোডটি উন্নত করতে পারেন। ওয়ার্ডপ্রেস এটি করার জন্য ফাংশন সরবরাহ করে। কোডেক্স.ওয়ার্ডপ্রেস.আর.
জেক

1
এটিই সঠিক সমাধান। এই বৈশিষ্ট্যটি ডব্লিউপি_আউটপ হিসাবে প্রায় ভালভাবে চিন্তা করা। আমি শিল্পের দিকনির্দেশের পাশাপাশি প্রতিক্রিয়াশীল চিত্রগুলি পেতে <চিত্র> ব্যবহার করি এবং এটি এটিকে সম্বোধন করে না।
পিটার উস্টার

1
@ জেক 1 থেকে 10 এর স্কেলে "" মিথ্যা ফিরিয়ে দেওয়ার জন্য একটি নতুন ফাংশন তৈরি করা "ওয়ার্ডপ্রেসে প্রায় -2 ব্লাট যুক্ত করে। স্ব-ডকুমেন্টিং কোড যা যে কেউ (কেবলমাত্র একটি ডাব্লুপি দেব নয়) বুঝতে পারে একটি নির্দিষ্ট মান।
মাহমুদ আল-কুদসি

1
@ মাহমুদআল-কুদসি কারণ '__আরত_ফালস' এত বিভ্রান্তিকর? ওয়ার্ডপ্রেস ফোরামে এই আলোচনাটি ওয়ার্ডপ্রেস বৈশিষ্ট্যটি বন্ধ করার বিষয়ে। এটি ডিফল্ট, খুব বেসিক এবং ভাল ডকুমেন্টেড, ওয়ার্ডপ্রেস রিটার্ন ফাংশনগুলি ওয়ার্ডপ্রেসে অন্তর্নির্মিত করে তা ব্যবহার করা পাগল নয়। ফাংশনটির নাম "রিটার্ন_ফালস" রাখা হয়েছে এটি বেশ স্ব-ডকুমেন্টিং। চেষ্টা করুন এবং অনুমান করুন এটি কী করে?
জেক

7

সম্ভবত, আপনার srcsetবৈশিষ্ট্যের ইউআরএলগুলি ভুলভাবে এইচটিটিপিএস দেখানোর কারণ হ'ল সমস্ত চিত্রের ইউআরএলগুলি আপনার wp_options টেবিলের সাইটুরল বিকল্পটির মান ব্যবহার করে নির্মিত। আপনি যদি এইচটিটিপিএসের মাধ্যমে আপনার সামনের প্রান্তটি পরিবেশন করে থাকেন তবে আপনার সেই মানগুলিও পরিবর্তন করা উচিত (সেটিংস> সাধারণের মাধ্যমে)।

ওয়ার্ডপ্রেস ইস্যু ট্র্যাকিং সিস্টেমে সম্পর্কিত টিকিট এখানে রয়েছে: https://core.trac.wordpress.org/ticket/34945


5

এটি 1 পিক্সেলের চেয়েও বেশি বৃহত্তর চিত্রগুলি সরিয়ে এসসিআরসিট কোডটি অক্ষম করবে।

add_filter( 'max_srcset_image_width', create_function( '', 'return 1;' ) );

দীর্ঘমেয়াদে, আপনার আসল সমস্যাটি সমাধান করার চেষ্টা করা উচিত। তবুও, যদি আপনার দ্রুত সমাধানের প্রয়োজন হয় তবে এটি কাজ করে।



1
ক্রিয়েট ফাংশন () সম্পর্কে কী? আমি পিএইচপি 5.2 এও আমার উত্তরগুলি পছন্দ করি।
অটো

2

সেটিংসে / সাধারণে আপনার ওয়ার্ডপ্রেস ঠিকানা (URL) এবং সাইটের ঠিকানা (URL) https://yourdomain.com এ সেট করা আছে তা নিশ্চিত করুন

Http://wptavern.com/how-to-fix-images-not-loading-in-wordpress-4-4----- ব্যবহার- ssl দেখুন

জো ম্যাকগিল, যিনি ওয়ার্ডপ্রেসে প্রতিক্রিয়াশীল চিত্র আনার প্রয়াসকে নেতৃত্ব দিয়েছিলেন, ফোরামের থ্রেডেও প্রতিক্রিয়া জানিয়েছিলেন এবং ক্রি এর পরামর্শটি সঠিক বলে নিশ্চিত করেছেন, “আপনি যদি প্রথম প্রান্তে এইচটিটিপিএস চালিয়ে যাচ্ছেন, আপনার নিজের ঘর এবং সাইটের জন্য ইউআরএলস পরিবর্তন করা উচিত সেটিংগুলিতে ইউআরএল> সাধারণ যাতে তারা এইচটিটিপিএস স্কিম ব্যবহার করে, "তিনি বলেছিলেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.