আমি একেবারে সাধারণের জন্য অস্থায়ী সমাধান নিয়ে এসেছি, তবে কুকিজের সাথে জনপ্রিয় ডাব্লুপি ক্যাচিং সলিউশনগুলির মিথস্ক্রিয়া নিয়ে অভূতপূর্ব সমস্যা থেকে অনেক দূরে, এক্ষেত্রে স্ট্যান্ডার্ড ডাব্লুপি মন্তব্য কুকিজ। আমার সমাধানটি ক্যাশেড ফাইলগুলি পরিবেশন করার ক্ষেত্রে খুব কম সংজ্ঞাযুক্ত "পরিচিত ব্যবহারকারী" ব্যতীতও বহন করে। এটি ব্যবহারযোগ্য বা না হোক, আমি বুঝতে পারি যে এটি ব্যাখ্যা করে এবং সম্ভবত এটি কেন খারাপ ধারণা হতে পারে তা শিখিয়ে নেওয়া সাধারণত শিক্ষামূলক হতে পারে।
আমি ডাব্লুপি সুপার ক্যাশে, ডাব্লু 3 মোট ক্যাশে এবং ধূমকেত ক্যাশে দিয়ে আমার পদ্ধতিটি পরীক্ষা করেছি। এই সমস্যাটি অধ্যয়নকালে আমি নিজের জন্য বিশদে যেটি ভেঙে ফেলেছি তা হ'ল ডাব্লুপি সুপার ক্যাশে (এরপরে "ডাব্লুপিএসসি"), তাই আমি এটিকে আমার প্রধান উদাহরণ হিসাবে ব্যবহার করব।
পটভূমি
যখন একটি ডাব্লুপি স্ট্যান্ডার্ড মন্তব্য থ্রেড দর্শকদের মন্তব্য করার অনুমতি দেওয়ার জন্য সেট করা থাকে, তখন মন্তব্য কুকিগুলি এমন কোনও মন্তব্যকারীর জন্য সেট করা থাকে যা নিবন্ধিত ব্যবহারকারী নয় এবং লগ ইন করা আছে, প্রকৃত মন্তব্য করার সুযোগসুবিধিতে আরও চেক করা উচিত। আমি যা বিশ্বাস করি এটি সবচেয়ে সাধারণ কনফিগারেশন, একজন মন্তব্যকারীকে কেবল একটি নাম এবং একটি ইমেল ঠিকানা সরবরাহ করা প্রয়োজন। এগুলি দুটি ব্রাউজার কুকিজের মধ্যে সাধারণত সংরক্ষণ করা হয় comment_author_ . COOKIEHASH
এবং comment_author_email_ . COOKIEHASH
। COOKIEHASH
ব্যবহারকারী বিকল্প অনুযায়ী সংজ্ঞায়িত করা হয়।
যদি "জ্ঞাত ব্যবহারকারীদের কাছে নতুনভাবে উত্পন্ন ফাইলগুলি সরবরাহ করার জন্য সেট করা থাকে," ডাব্লুপিএসসি নির্ধারণ করে যে বেশ কয়েকটি চেকের ভিত্তিতে ক্যাশেড ফাইলটি পরিবেশন করা হবে কি না: লগ-ইন করা ব্যবহারকারীরা তাজা ফাইলগুলি পান এবং তাই "মন্তব্য করতে পারেন এমন দর্শকরা"। পরবর্তীকর্মীরা প্রধানত তাদের comment_author_
কুকিজের ব্রাউজারগুলিতে উপস্থিতি দ্বারা চিহ্নিত হয়ে থাকে যা নির্দিষ্ট ব্যবহারকারীর দ্বারা নির্দিষ্টভাবে বা অনন্যভাবে সনাক্ত করা যায় না COOKIEHASH
(সাধারণত তবে সর্বদা সাইটের অপশনগুলিতে রেকর্ডকৃত "সাইটরল" এর MD5- এনকোড সংস্করণ নয়) not
ডাব্লুপিপি-ক্যাশে-ফেজ ১.এফপি এলএল 71১71-৩83৩ থেকে ডাব্লুপিএসসি কোডের মূল অংশ হিসাবে উপস্থিত বলে মনে হচ্ছে, কুকিজের মধ্য দিয়ে সাইক্লিং করে স্ট্রিং পেতে একটি রেজিএক্স প্যাটার্ন ব্যবহার করা হয়েছে:
$regex = "/^wp-postpass|^comment_author_";
if ( defined( 'LOGGED_IN_COOKIE' ) )
$regex .= "|^" . preg_quote( constant( 'LOGGED_IN_COOKIE' ) );
else
$regex .= "|^wordpress_logged_in_";
$regex .= "/";
while ($key = key($_COOKIE)) {
if ( preg_match( $regex, $key ) ) {
wp_cache_debug( "wp_cache_get_cookies_values: $regex Cookie detected: $key", 5 );
$string .= $_COOKIE[ $key ] . ",";
}
next($_COOKIE);
}
এখন, আমি যদি পিএইচপি-তে কঠোরভাবে কাজ করতাম, তবে আমি ডাব্লুপি কোর ফাংশনগুলিতে পুনরায় উত্পাদন বা হুক করতে পারতাম এবং comment_author_ . COOKIEHASH
মন্তব্য টেমপ্লেট দ্বারা সাধারণ সেট পেতে পারি, তবে আমি jQuery কুকি প্লাগ-ইন ব্যবহার করে jQuery এ কাজ করছি। তবে, আপনি দেখতে পাচ্ছেন যে আপনি রেজিএক্সের দিকে তাকান কিনা, ডাব্লুপিএসসি ফাংশনটি এর কোনও যত্ন করে না COOKIEHASH
: যদি এটি মুখোমুখি হয় তবে এটি সন্তুষ্ট comment_author_
।
আমার টেন্টিটিভ সলিউশন
$.cookie( 'comment_author_proxyhash', 'proxy_author', { path: '/' } );
JQuery কুকি সম্পর্কে অপরিচিত যারা: উপরেরগুলি পুরো সাইটের পক্ষে কী = comment_author_proxyhash
এবং মান = সহ একটি সাধারণ সেশন কুকি সেট করে proxy_author
। (এছাড়াও, যারা ডব্লিউপি-র $
জন্য পরিচিত জিকুয়েরিকে প্রাক-প্রতিস্থাপনের পাশাপাশি jQuery কুকি এবং ডাব্লুপি ব্যবহার করেন jQuery
, আমি ইতিমধ্যে সেট করে রেখেছি $.cookie.raw = true;
))
আমি আমার jQuery স্ক্রিপ্টে লাইনটি যুক্ত করেছি, এবং, ভয়েলা! , ডাব্লুপিএসসি, ডাব্লু 3 মোট ক্যাশে এবং ধূমকেতু ক্যাশে সবগুলিই আমি যেমন চাই তেমনি অভিনয় করছে। আমি স্ক্রিপ্টটি ব্যবহার করার পরে এবং পুনরায় লোড করার পরে আমি নতুন পৃষ্ঠাগুলি পাই। আমি যদি সত্যিকারের মন্তব্য দেওয়ার মতো হয়ে থাকি তবে স্বাভাবিক comment_author_
এবং comment_author_email_
কুকিজ সেট হয়ে যায় এবং সহাবস্থান নিয়ে কোনও সমস্যা বলে মনে হয় না।
সম্ভবত একটি ত্রুটি হ'ল "প্রক্সিহশ" কুকি যতক্ষণ না তিনি বা সে অধিবেশনটি উন্মুক্ত রাখেন ততক্ষণ ব্যবহারকারীর সাথে ভ্রমণ করবে তবে এটি আমাকে বড় সমস্যা হিসাবে চিহ্নিত করবে না - এমনকি একটি সতর্কতাও মূল্যবান। নিয়মিত কুকিগুলির মধ্যে একটির সাথে এই জাতীয় ঘটনার বিষয়ে কেউ অভিযোগ করার কথা আমি অবশ্যই শুনিনি।
তবে সম্ভবত আমি এখানে কিছু মিস করছি এবং আমার দুর্দশাকে অনেকটা আবিষ্কার করতে পারে, যদি সম্ভবত আমার সংশোধনও হয়। অথবা আমার জন্য জিকুয়্যারিতে অনুলিপি করা COOKIEHASH
, বিকল্প ব্যবহারের ক্ষেত্রেও আবরণ করার অপেক্ষাকৃত সহজ সর্বোত্তম অনুশীলনের উপায় আছে ... বা অন্য উপায়ে একই পরিণতি অর্জন করার জন্য - দর্শনার্থীর চিকিত্সা করার ক্ষেত্রে ক্যাচিং প্লাগইনগুলি চালিত করার অন্যান্য উপায় একজন মন্তব্যকারী হিসাবে ...
যদি তা না হয় তবে এই বা মহাবিশ্বের নিকটবর্তী কোনও কিছুকে প্লাগ-ইনে ঠেলে দেওয়ার কোনও ভাল কারণ নেই?
wp_localize_script
কুকি হ্যাশটি আপনার জাভাস্ক্রিপ্টে পাস করতে ব্যবহার করতে পারেন যাতে আপনি প্রক্সিহশের পরিবর্তে "নেটিভ" কুকি ব্যবহার করতে পারেন। অন্যথায়, এটি একটি খুব আকর্ষণীয় ইস্যু এবং আপনার সমাধানটি কঠিন বলে মনে হচ্ছে, যদিও কুকিজ + ক্যাশে সর্বদা এত জটিল হয় যদি এটি "সঠিক" সমাধান হয় বা কিছু মিস হয় তবে তা বলা শক্ত। দুর্দান্ত গবেষণা!