رفتن به مطلب

حذف فایل های افزونه ها در صفحه اصلی


پست های پیشنهاد شده

با سلام خدمت دوستان گل انجمن .

من خیلی وقت بود که دنبال یه راه حلی بودم که بتونم فایل های JS و CSS افزونه ها رو که فقط مال صفحه ادامه مطلب Single هستند رو در صفحه اصلی غیر فعال کنم اینطوری سرعت لود صفحه اصلی بالاتر و حجم صفحه به طور چشمگیری کاهش پیدا میکنه . :ph34r:

ولی با کلی سرچ یک تابع پیدا کردم که فکر کنم بشه باهاش یه همچین کاری کرد ولی متاسفانه PHP من در حد قوطی کبریته ممنون میشم توی این مورد کمکم کنید یه راح حلی پیدا کنیم . چون یک راه بسیار کاربردی واسه افزایش سرعت سایت هستش . پیشاپیش ممنون . :rolleyes:

اینم تابعی که پیدا کردم :


class BuddyPlug {

/* focusing on bp_enqueue_script */

private function __construct() {
$this->setup_globals();
$this->setup_hooks();
}

private function setup_globals() {
// let's define some globals to easily build the url to your scripts
$this->version = '1.0.0';
$this->file = __FILE__;

// url to your plugin dir : site.url/wp-content/crayon-syntax-highlighter/js/min/
$this->plugin_url = plugin_dir_url( $this->file );

// url to your plugin's includes dir : site.url/wp-content/plugins/buddyplug/includes/
$this->includes_url = trailingslashit( $this->plugin_url . 'includes' );

// url to your plugin's js dir : site.url/wp-content/plugins/buddyplug/includes/js/
$this->plugin_js = trailingslashit( $this->includes_url . 'js' );

// url to your plugin's css dir : site.url/wp-content/plugins/buddyplug/includes/css/
$this->plugin_css = trailingslashit( $this->includes_url . 'css' );

$this->component_id = 'buddyplug';
$this->component_slug = 'buddyplug';
}

private function setup_hooks() {
// As soon as WordPress meets this hook, your cssjs function will be called
add_action( 'bp_enqueue_scripts', array( $this, 'cssjs' ) );
}

public function cssjs() {
// Your css file is reachable at site.url/wp-content/plugins/buddyplug/includes/css/buddyplug.css
wp_enqueue_style( 'buddyplug-css', $this->plugin_css . 'buddyplug.css', false, $this->version );
// Your script file is reachable at site.url/wp-content/plugins/buddyplug/includes/js/script.js
wp_enqueue_script( 'buddyplug-js', $this->plugin_js . 'script.js', array( 'jquery' ), $this->version, true );
}
}

لینک به ارسال

این قابلیت فکر کنم در افزونه w3totalcashe هست

در منو minify میتونی انتخواب کنی css و یا js در کدوم برگه از قالب قرار بگیره!

لینک به ارسال

یه روش که خودم استفاده میکنم اینه که میرم به افزونه و کد فراخوانی استایل یا جاوا رو پیدا میکنم.

و از شرط استفاده میکنم.

مثلا:


if(is_page()) {
wp_enqueue_script('wp-postratings', plugins_url('wp-postratings/postratings-js.js'), array('jquery'), '1.63', true);
}

لینک به ارسال

یه روش که خودم استفاده میکنم اینه که میرم به افزونه و کد فراخوانی استایل یا جاوا رو پیدا میکنم.

و از شرط استفاده میکنم.

مثلا:


if(is_page()) {
wp_enqueue_script('wp-postratings', plugins_url('wp-postratings/postratings-js.js'), array('jquery'), '1.63', true);
}

سلام داداش - متاسفانه کار نکرد :(

من فقط میخوام از دست فایل های JS افزونه crayon-syntax-highlighter توی صفحه اصلی راحت بشم اگه خودت از این افزونه استفاده میکنی کدش رو بدی ممنونت میشم

مثلا الان من اینجوری وارد کردم ولی کار نکرد :


if(is_page()) {
wp_enqueue_script('crayon-syntax-highlighter', plugins_url('crayon-syntax-highlighter/js/min/crayon.min.js'), array('jquery'), '2.6.5', true);
}

لینک به ارسال

هر اسکریپت یا فایل استایل بندی یک نام داره مثلا در کد بالا نام اسکریپت crayon-syntax-highlighter است برای اینکه در صفحه ی اصلی سایت این اسکریپت مشاهده نشه می تونید برای اون صفحه با قرار دادن تابع زیر در functions.php قالب حذفش کنید اینجوری به روز رسانی افزونه هم خللی در کدهاتون ایجاد نمی کنه مگر اینکه اسکریپت جدیدی اضافه شده باشه که اونرو هم به همین ترتیب می شه حذفش کرد


if(is_home()) {
wp_deregister_script('crayon-syntax-highlighter');
}

لینک به ارسال

سلام داداش - متاسفانه کار نکرد :(

من فقط میخوام از دست فایل های JS افزونه crayon-syntax-highlighter توی صفحه اصلی راحت بشم اگه خودت از این افزونه استفاده میکنی کدش رو بدی ممنونت میشم

مثلا الان من اینجوری وارد کردم ولی کار نکرد :


if(is_page()) {
wp_enqueue_script('crayon-syntax-highlighter', plugins_url('crayon-syntax-highlighter/js/min/crayon.min.js'), array('jquery'), '2.6.5', true);
}

چون باید به این شکل درون پست ها استفاده کنی:


if(is_single()) {
wp_enqueue_script('crayon-syntax-highlighter', plugins_url('crayon-syntax-highlighter/js/min/crayon.min.js'), array('jquery'), '2.6.5', true);
}

کد قبلی توی برگه نمایش میداد.

لینک به ارسال

ببخشید ولی فکر کنم همه این کار ها رو با افزونه کشی که بالا گفتم بشه حل کرد!

حرف شما درست، اما یکی مثل من نمیتونم از این افزونه استفاده کنم یا اینکه اصلا نمیخوام استفاده کنم. :rolleyes:

توی همچین مواقعی این روش میتونه جواب بده ;):lol:

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...