ডাব্লু 3 মোট ক্যাশে - ক্যাশে প্রোগ্রামেটিকভাবে রিফ্রেশ করুন [বন্ধ]


21

আমি ওয়ার্ডপ্রেসে একটি ডিজিগের মতো ওয়েবসাইট তৈরি করছি।

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

কোন পরামর্শ?

উত্তর:


21

আপনি যদি ক্যাশে ফ্লাশ করতে চান তবে আপনি এটি করতে পারেন: প্লাগইনটিতে এর জন্য ফাংশন রয়েছে

<?php 

flush_pgcache()  //page cache
flush_dbcache()  // database cache
flush_minify()  // minify cache
flush_all() //all caches

?>

এবং আপনাকে কেবল এটির মতো কল করতে হবে:

<?php 
 $w3_plugin_totalcache->flush_all();
?>

এবং এটি মূলত "ক্যাশে প্রোগ্রামিয়ালি রিফ্রেশ" শিরোনামে প্রশ্নের উত্তর


12
আপনি কীভাবে $ w3_plugin_totalcache অবজেক্টটি ইনস্ট্যান্ট করেছেন তা স্পষ্ট করে সংজ্ঞা দিতে পারেন?
অ্যাডামডপোর্ট

3
আংশিক সহায়ক, আপনি কীভাবে সেই পরিবর্তনশীলটি ইনস্ট্যান্ট করলেন?
থিফ্পদেব

10

ডাব্লু 3 মোট ক্যাশে টুকরা কেচিং সমর্থন করে। এফএকিউ থেকে:

How do I implement fragment caching? 

Edit your templates to with the following syntax to ensure that dynamic features remain so:

Example 1:
<!-- mfunc any PHP code --><!-- /mfunc -->

Example 2:
<!-- mfunc -->any PHP code<!-- /mfunc -->

Example 3:
<!--MFUNC           -->
                                      echo rand();
<!--/mfunc -->

Example 4:
<!-- mclude path/to/file.php --><!-- /mclude -->

Example 5:
<!-- mclude -->path/to/file.php<!-- /mclude -->

ধন্যবাদ রাস্ট তবে আমি যখন উপরের উদাহরণগুলির মধ্যে
কোনওটি

@ ব্যবহারকারী1567 ট্যাগগুলি সম্ভবত খোলার / বন্ধ করার সাথে আপনার মিল নেই <?php ?>। আমি এগুলি এখনও ব্যবহার করি নি তাই দেখাতে ব্যবহারিক স্নিপেট নেই।
রাস্ট

একটি জিনিসের জন্য, আমি এটিগুলি ক্যাচ না করে ফাংশন.এফপি লোড করতে চাই। ফাংশন.এফপি-র নীচের কোডটি উপরের ত্রুটিটিকে ট্রিগার করেছে: <? Php <! - mcolve -> প্রয়োজনীয়_once (ফাংশন 2.পিএফপি) <! - / এমসিলেট ->?> কোডটিতে কী ভুল?
ব্যবহারকারী 1567

1
@ ব্যবহারকারী 1567 উদাহরণ অনুসারে এটি এমন কিছু হওয়া উচিত ?><!-- mclude -->functions2.php<!-- /mclude --><?php(আমার মনে হয় :)
রাস্ট

টুকরো টুকরো ক্যাশে কাজ করতে সক্ষম হন না। : আমার সমস্যা এখানে বর্ণিত stackoverflow.com/questions/31125413/...
JackTheKnife

10

W3tc v0.9.3 এ পোস্ট আইডির মাধ্যমে একটি পৃষ্ঠায় ফ্লাশ করতে আমি এটি খুঁজে পেয়েছি:

if (function_exists('w3tc_pgcache_flush_post')){
 w3tc_pgcache_flush_post($post_id);
}

1
আপনি এই কোডটি কোথায় রাখবেন? দেখে মনে হচ্ছে এটি প্রতিটি পৃষ্ঠা লোডে (সেই আইডির জন্য) চলে runs সম্পূর্ণরূপে ক্যাচিং প্রতিরোধ করার কোনও উপায় নেই?
s_ha_dum

@ s_ha_dum আপনি এই কোডটি কোন হুক দিয়ে ব্যবহার করতে পারেন তা জানতে পারেন?
প্রফুল্ল কুমার সাহু

প্লাগইনগুলি লোড হওয়ার পরে যদি আপনার কাস্টম কোড / প্লাগইন সম্পাদন করতে ইভেন্টটি সংযুক্ত করে তবে অতিরিক্ত হুকগুলির প্রয়োজন নেই which সমস্ত উপলভ্য ফাংশন w3-total-cache-api.phpডাব্লু 3টিসি এর প্লাগইন ডায়ারে রয়েছে।
ওয়ালফ

আপনাকে ধন্যবাদ, এটি এখন ডিসেম্বর 2018 এ আমার জন্য সহায়ক ছিল the যখন ক্লায়েন্টটি নির্দিষ্ট পৃষ্ঠায় একবার পরিদর্শন করে (এজেন্ট উপস্থিত থাকে তখন একটি সেটিংস পৃষ্ঠা প্রদর্শিত হয়) আমার জন্য হোম পৃষ্ঠার ক্যাশে ফ্লাশ করার একটি উপায় প্রয়োজন। এটি সুনির্দিষ্ট পৃষ্ঠাগুলির জন্য খুব দরকারী, তবে যদি এমন কোনও ফাংশন থাকত যা সমস্ত ক্যাশে পুর্ন করার মতো সমস্ত ক্যাশে ফ্লাশ করেছিল!
জর্ডান কার্টার 21

9

বেন্টারনেটের সমাধানটি আমার পক্ষে কাজ করে নি বলে মনে হয়।

আমি অ্যাডমিন_ইনিট ক্রিয়ায় লোড হওয়া একটি প্লাগইনের মধ্যে এই বিকল্প স্নিপেটটি সফলভাবে ব্যবহার করছি :

// Clear all W3 Total Cache
if( class_exists('W3_Plugin_TotalCacheAdmin') )
{
    $plugin_totalcacheadmin = & w3_instance('W3_Plugin_TotalCacheAdmin');

    $plugin_totalcacheadmin->flush_all();

    echo __('<div class="updated"><p>All <strong>W3 Total Cache</strong> caches successfully emptied.</p></div>');
}

আশা করি এটি কাউকে সাহায্য করবে।


আমি নিশ্চিত করতে পারি যে কেভিনলারিনেটের সমাধানটি ডাব্লু 3 মোট ক্যাশে সংস্করণ 0.9.2.4 এর সাথে কাজ করে। এটি সেই আপগ্রেডের পরে আমার প্লাগইনটির জন্য ভেঙে যায় এবং এটি ট্রিট করে works ধন্যবাদ! পল।

2
আমি কমান্ড লাইন থেকে এটি চালানোর চেষ্টা করছি। আমি কী জিজ্ঞাসা করতে পারি আপনি কীভাবে ডাব্লু 3 প্লাগিন_টোটাল ক্যাশেএডমিন ক্লাসটি লোড করেছেন? আমি চেষ্টা করলাম wp-load.php এর কোনও ফল হয় না।
অ্যাডামডপোর্ট

5

উপরের কোনওটিই আমার প্লাগ ইনটিতে আমার পক্ষে কাজ করেনি। তবে এই কাজ! ডাব্লু 3 টিসি এর 0.9.2.4 সংস্করণে কাজ করার বিষয়টি নিশ্চিত করেছেন।

if (function_exists('w3tc_dbcache_flush')) { w3tc_dbcache_flush(); }

আমি একটি "$ wpdb-> get_results (" নির্বাচন করুন sb_settingsf_fb_app_id, sb_settingsf_fb_secretথেকে sb_settings");" এবং বিস্মিত মান f_fb_secret এবং f_fb_app_id একই প্রত্যেক সময় ছিল। এটি অবশ্যই ডাব্লু 3 টিসি ক্যোয়ারির ফলাফল ক্যাশে করছিল। সুতরাং আমি sb_setting টেবিলের জন্য আমার সংশোধিত পৃষ্ঠায় একটি dbcache ফ্লাশ যুক্ত করেছি।

আপনি যদি পৃষ্ঠার ক্যাশে সাফ করতে চান, তবে কেবল পরিবর্তে w3tc_pgcache_flush ব্যবহার করুন।


আমি ডাউনটা লোককে বলতে চাই যে সে কেন ডাউনটা করেছে। আমার উত্তরে কিছু ভুল আছে?
এলরিন্থ

0

আপনার পিএইচপি ক্যাচিং চালু আছে কি না তা নির্বিশেষে চলে কিনা তা নিশ্চিত করতে এই স্নিপেটটি ব্যবহার করুন। হ্যাঁ, আপনার ফাংশনটি লিখতে / কল করতে হবে দুবার।

<!-- mfunc echo 'caching ON'; --><?php echo 'caching OFF'; ?><!-- /mfunc -->


(আমার মনে হয়) এটি কীভাবে কাজ করে:

  • এমফঙ্ক শর্তাদি পিএইচপি ট্যাগগুলি প্রতিস্থাপন করে
  • যদি ক্যাচিং বন্ধ থাকে তবে আপনার মার্কআপে এইচটিএমএল মন্তব্য হিসাবে এমএফএনসি মন্তব্যগুলি উপস্থিত হয়। <!-- mfunc echo "hello?"; -->লোকেরা আপনার পিএইচপি দেখতে আপনাকে কতটা খুশি তার উপর নির্ভর করে এটি মনে রাখবেন (কেবল যখন ক্যাচিং বন্ধ থাকে তখনই ঘটে)।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.