yaali

کد php پاک کردن تمام کش های سایت برای کاربر

18 پست در این موضوع قرار دارد

سلام

کد یا فانکشنی وجود داره که هر چی فایل js و Css که کاربر از آخرین بازدیدش روی دیوایسش کش شده رو پاک کنه و مجددا لود کنه؟

 

0

به اشتراک گذاری این پست


لینک به پست

سلام و درود

 

در 8 ساعت قبل، yaali گفته است :

کد یا فانکشنی وجود داره که هر چی فایل js و Css که کاربر از آخرین بازدیدش روی دیوایسش کش شده رو پاک کنه و مجددا لود کنه؟

یه تابعی داره php به اسم filemtime این تابع میاد آخرین تاریخ بروزرسانی فایل رو با فرمت Unix timestamp برمیگردونه.

حالا شما کافیه به صورت کوئری استرینگ این پارامتر رو به جای ورژن فایل های css و js ات اضافه کنی.

<link href="http://example.com/style.css?lm=<?php echo filemtime('style.css'); ?>" rel="stylesheet">

 

موفق باشید

1

به اشتراک گذاری این پست


لینک به پست
در هم اکنون، mehran-b گفته است :

سلام و درود

 

یه تابعی داره php به اسم filemtime این تابع میاد آخرین تاریخ بروزرسانی فایل با فرمت Unix timestamp برمیگردونه.

حالا شما کافیه به صورت کوئری استرینگ این پارامتر رو به جای ورژن فایل های css و js ات اضافه کنی.


<link href="http://example.com/style.css?lm=<?php echo filemtime('style.css'); ?>" rel="stylesheet">

 

موفق باشید

ممنون مهران جان

الان مثلا من یه فایل css توی مسیر زیر دارم:

 

plugins > myplugin > folder > style.css
 
الان این کدی رو که گفتی چه جوری و کجا باید قرار بدم؟
مرسی
0

به اشتراک گذاری این پست


لینک به پست
در ۱ ساعت قبل، mehran-b گفته است :

سلام و درود

 

مثلا من الان از این کد برای استایل قالب استفاده میکنم »

 function gh_refresh_styles() {

// عدد 10 رو بعد از هربار ویرایش استایل افزایش میدم

wp_enqueue_style('gh_refresh_styles', get_bloginfo('template_directory') . '/style.css', false, 10);

}

add_action('wp_print_styles', 'gh_refresh_styles');

 

 

حالا برای استایل افزونه باید چه جوری تغییرش بدم؟

0

به اشتراک گذاری این پست


لینک به پست

درود مجدد

 

به تابع filemtime باید مکان فایل رو در هاست بدید.

برای قالب ها از تابع get_template_directory استفاده میشه و برای پلاگین ها از تابع plugin_dir_path.

به طور مثال الان برای یه قالب بخوایم به فایل استایلش اشاره کنیم کد میشه:

wp_enqueue_style('style', get_bloginfo('stylesheet_url'), array(), (string) filemtime(get_template_directory() . '/style.css'));

و برای یه پلاگین بخوایم به یه فایل style.css توی روتش شاره کنیم کد میشه:

wp_enqueue_style('style', plugin_dir_url(__FILE__).'style.css', array(), (string) filemtime(plugin_dir_path(__FILE__).'style.css'));

 

موفق باشید

0

به اشتراک گذاری این پست


لینک به پست
در 47 دقیقه قبل، mehran-b گفته است :

موفق باشید

من اینو گذاشتم توی فانکشن افزونه:

function gh_refresh_styles() {
  
wp_enqueue_style('gh_refresh_styles', plugin_dir_url(__FILE__).'/public/js/woocommerce-order.js', array(), (string) filemtime(plugin_dir_path(__FILE__).'/public/js/woocommerce-order.js'));

}

add_action('wp_print_styles', 'gh_refresh_styles');

 

کار نمیکنه

به نظرت مشکلش چیه؟

0

به اشتراک گذاری این پست


لینک به پست

درود مجدد

 

نقل قول

به نظرت مشکلش چیه؟

مشکل احتمالا اون فوروارد اسلش قبل public هاست.

0

به اشتراک گذاری این پست


لینک به پست
در هم اکنون، mehran-b گفته است :

مشکل احتمالا اون فوروارد اسلش قبل public است.

یعنی اسلش رو پاک کنم؟

پاک کردم نشد

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، yaali گفته است :

یعنی اسلش رو پاک کنم؟

پاک کردم نشد

خوب اون یه مشکل بود.

به جای wp_print_styles از هوک wp_enqueue_scripts استفاده کن.

0

به اشتراک گذاری این پست


لینک به پست
در هم اکنون، mehran-b گفته است :

به جای wp_print_styles از هوک wp_enqueue_scripts استفاده کن.

اینم نشد مهران جان

شرمنده اذیتت میکنم

add_action('wp_enqueue_scripts', 'gh_refresh_styles');

 

0

به اشتراک گذاری این پست


لینک به پست
در 2 دقیقه قبل، mehran-b گفته است :

خوب اون یه مشکل بود.

 

این مسیر ها رو درست دارم جایگذاری میکنم؟

هر دو باید عین هم باشن؟

 plugin_dir_url(__FILE__).'/public/js/woocommerce-order.js', array(), (string) filemtime(plugin_dir_path(__FILE__).'/public/js/woocommerce-order.js'));

 

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، yaali گفته است :

شرمنده اذیتت میکنم

خواهش میکنم.

در 1 دقیقه قبل، yaali گفته است :

اینم نشد مهران جان

خوب الان این کد دیگه کاملا درسته حالا اینکه کجا رو اشتباه کردی نمیدونم.

کد زیر باید کار کنه.

function gh_refresh_styles() {
  
wp_enqueue_style('gh_refresh_styles', plugin_dir_url(__FILE__).'public/js/woocommerce-order.js', array(), (string) filemtime(plugin_dir_path(__FILE__).'public/js/woocommerce-order.js'));

}

add_action('wp_enqueue_scripts', 'gh_refresh_styles');

البته اگر اون فایل woocommerce-order.js توی اون مسیر باشه.

1

به اشتراک گذاری این پست


لینک به پست
در 12 دقیقه قبل، mehran-b گفته است :

البته اگر اون فایل woocommerce-order.js توی اون مسیر باشه.

آره هست..

نمیدونم. نمیشه

1

به اشتراک گذاری این پست


لینک به پست

حالا میشه اول register کنید بعد enqueue کنید.

function gh_refresh_styles() {
  
wp_register_style('gh_refresh_styles', plugin_dir_url(__FILE__).'public/js/woocommerce-order.js', array(), (string) filemtime(plugin_dir_path(__FILE__).'public/js/woocommerce-order.js'));
wp_enqueue_style('gh_refresh_styles');

}

add_action('wp_enqueue_scripts', 'gh_refresh_styles');

 

2

به اشتراک گذاری این پست


لینک به پست
در 25 دقیقه قبل، mehran-b گفته است :

حالا میشه اول register کنید بعد enqueue کنید.



 

نشد

میگم این کد چی میگه؟

header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 2016 05:00:00 GMT'); // Date in the past
header('Pragma: no-cache'); 

 

1

به اشتراک گذاری این پست


لینک به پست

درود مجدد

 

در هم اکنون، yaali گفته است :

میگم این کد چی میگه؟

این کد میاد کش فایل HTML خروجی رو غیرفعال میکنه.

برای فایل های JS و CSS خارجی حرکت خاصی نمیزنه.

1

به اشتراک گذاری این پست


لینک به پست
در 5 ساعت قبل، mehran-b گفته است :

برای فایل های JS و CSS خارجی حرکت خاصی نمیزنه.

یه افزونه پیدا کردم که اینکار رو انجام میده.

2

به اشتراک گذاری این پست


لینک به پست
در در 2/19/2018 at 21:05، yaali گفته است :

یه افزونه پیدا کردم که اینکار رو انجام میده.

میشه این افزونه را معرفی کنین

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط sindots
      سلام
      یه کد میخوام که بتونم آخرین مطالب یک دسته بندی در پست تایپی خاص رو در هر جای وبسایت نمایش بدم
      پیشاپیش ممنون از راهنماییتون
    • توسط t-51
      با سلام خدمت همه .
      بنده یه مشکل کوچیک داشتم قسمت فهرست سازی اونم عبارت از نامعتبر بودن صفحات ورود و ثبت نام به دلیل نامعلوم به شرح عکس زیر کسی میدونه باید چیکار کرد یا اضلا چرا اینطوری شده ؟
       

    • توسط ارتور زم
      سلام دوستان خسته نباشید
      بنده از افزونه لایسنس منیجر استفاده میکنم Software License Manager
      از این افزونه برای بحث لایسنس قالب استفاده میشه یا هر محصول دیگری ...
      اما مشکلی که هست اینه که بعد از اینکه کدلایسنس توسط مشتری فعال شد و کار هم به خوبی انجام میشه و قالب فعال میشه
      اما مشکلی که هست در هر بار لود سایت باید این تایید اعتبار صورت بگیرد ،
      میخام ببینم طوری میشه کرد که فقط بعد از اولین تایید اعتبار (بعد خرید) فعال بشه و دیگر تا زمانی که از سمت سرور (سایت من) برای مشتری در بحث لایسنس ارسال نشد ، به هر دلیلی اگر سایت سرور هم قطع شد ، دیگه خاموش نشه
      چون مشکلی که هست اینه که اگر سایت من قطع بشه کلیه سایت های لایسنس شده مشتریان قطع میشه و این مشکل بزرگی هست.
      از توسعه دهنده پلاگین سوال کردم ، گفت باید کد سمت کلاینت تغییر کنه ، شما راه حلی دارید برای این کد:
       
      <?php define('YOUR_LICENSE_SERVER_URL','https://localhost'); $api_params=array('slm_action'=>'slm_check','secret_key'=>'245454545445','license_key'=>get_option('sample_license_key'),); $response=wp_remote_get(add_query_arg($api_params,YOUR_LICENSE_SERVER_URL),array('timeout'=>20,'sslverify'=>false)); $license_data=json_decode(wp_remote_retrieve_body($response)); global $active,$message;if($license_data->result=='success'){ ?> <?php } else{?> <?php wp_die(__('قالب شما لایسنس شده نمی باشد.'));?><?php }?>  
       
      منظور اینه بعد از هر لود ، تایید اعتبار میخام صورت نگیره ، الان به صورت پیشفرض با هر لود سایت ، درخواست میده به سمت سرور که تایید اعتبار بگیره ، خود سایت به صورت خودکار منظورمه ،
      میخام طوری بشه که بعد از اولین تایید اعتبار ، دیگه نیاز نداشته باشه با هر بار لود تایید بشه و تا زمانی که از سمت سرور دیگه پیغامی مبنی بر انقضا شدن لایسنس یا مثلا بلاک شدن بهش فرستاده نشه (ازداخل پنل افزونه این امکان وجود دارد)
      نیاز به تایید اعتبار پس از هر بار لود نشه …
    • توسط kamran.azarniya
      سلام دوستان
      در قالب  real home هر کاری میکنم امکان ثبت ملک توسط اعضا وجود نداره (با این که عضو میشن ) و لازم به ذکره 3 بار این قالبو از سایتهای مختلف گرفتم و نصب کردم
      تشکر
    • توسط amirmt
      سلام و عرض ادب هنگامی که سایتم و میخوام باز کنم و ادرسش رو سرچ میکنم یه صفحه سفید باز میشه که این اخطار رو میده 
      Parse error: syntax error, unexpected 'text' (T_STRING) in /home/unickir/public_html/wp-includes/class-oembed.php on line 461
      کسی میدونه مشکل کجاست و کمک کنه
      ادرس سایت}: www.unick.ir