رفتن به مطلب

نحوه فراخوانی صحیح فایل های JS و CSS در پروژه ؟


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

با سلام . سوالی از دوستان داشتم . میخواستم کلا نحوه صحیح و درست فراخوانی فایلهای js و CSS در پروژه بدونم به چه صورت هستش ؟

در فیلم های معمولی آموزشی که میبینم برای فراخوانی این فایلها از دستور زیر استفاده میکنند در بخش head :


<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url'); ?>/style.css" />

در قالبهای حرفه ای که دانلود میکنم برخی هاشون فایلهای css و js در فایل functions فراخوانی میکنند .با دستورات حرفه ای و متفاوت .

حالا میخواستم ببینم به نظرتون بهترین کار چی هستش ؟؟؟ چطوری باید فراخوانی کرد که به مشکل نخوریم ؟

مثلا من میخوام برای یک شرکت قالب سایت طراحی بکنم . این دستورات کجا و به چه صورت فراخوانی کنم بهتر هستش ؟؟؟

حالت صحیح و درستش ممنون میشم بفرمایید ...

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

لینک به ارسال

فرقی نمی کنه دوست من. در داخل header.php فراخوانی کنید ، پوسته ای منعطف تر ، بهتر و با یه ذره سرعت بیشتر خواهید داشت.

البته همیشه این در خاطرتون باشه که به جای فکر کردن به این چیزا ، بیشتر روی نحوه کدنویسی و استانداردنوشتن و در کل خوب نوشتن تمرکز کنید. چون بالاخره شما از هر روشی استفاده کنید ، اون فایل فراخوانی میشه!

لینک به ارسال

ممنون . اما اینکه یه فرد مبتدی بدون از اول به چه صورت کدزنی کنه که بهتر باشه خوب یه شرط هستش که بتونه بهش عادت کنه .

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

لینک به ارسال

در هر حال اون فایل ها در سورس سایت باید لود بشن. اون قالب ها هم حتما برای تنظیمات بیشتر (پنل تنظیمات قالب) این کار رو کردن :)

لینک به ارسال

هیچ فرقی تو نوع فراخوانی وجود نداره

برای مثال از طریق فایل فانکشن یک js معرفی میکنیم :


wp_register_script( 'esm', get_bloginfo('template_url').'/file.js');

لینک به ارسال

اول که style.css با تابع زیر فراخانی میکنند:»


<?php bloginfo('stylesheet_url'); ?>

فایل های دیگر مثل js با تابع زیر :


<?php bloginfo('template_url'); ?>

=====

فرض کنید شما 10 فایل js دارید که سنگین هستند و باید در قالب لود بشن وثتی در header.php قرار بدید باید صبر کنید فایل ها اجرا بعد قالب و سایت کار کنند که اصولا در فوتر قرار میدهند

====

در فانکشن هم خوبه باید دقت کرد که شاید قالب هر شخصی نتونه دستکاری کنه ویا....

لینک به ارسال

من خودم از روش معمولی استفاده میکنم فایل های استایل رو توی header و فایل های js رو توی footer در آخر کد ها ...

و یه ترفند دیگه هم هستش که میتونید فایل های css یا js که فقط در صفحه اصلی کاربرد دارن رو اختصاص بدید فقط توی صفحه اصلی و توی ادامه مطلب غیر فعال باشن اینطوری سرعت لود سایت بالاتر میره .

اگر از طریق فایل فانکشن اضافه کنید مزیتی که داره اینکه لینک ها در سورس قالب مخفی میشن .

برای style :


wp_enqueue_style('style', get_stylesheet_directory_uri() .'/style.css');

لینک به ارسال

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

لینک به ارسال
  • 4 هفته بعد...

یه موضوع دیگه ای که در همین رابطه هم هستش :

بنده فایلهای CSS و JS میخواستم درون فایل functions.php لود کنم کدهاش به صورت زیر قرار دادم :

لود فایلهای CSS :


function acaweb_theme_stylesheets()
{
wp_register_style('reset', get_template_directory_uri() . '/css/reset.css', array(), '1', 'all' );
wp_register_style('normalize', get_template_directory_uri() . '/css/normalize.css', array(), '1', 'all' );
wp_register_style('font-awesome', get_template_directory_uri() . '/css/font-awesome.min.css', array(), '1', 'all' );
wp_register_style('bootstrap', get_template_directory_uri() . '/css/bootstrap.css', array(), '1', 'all' );
wp_register_style('master', get_template_directory_uri() . '/css/master.css', array(), '1', 'all' );

wp_enqueue_style( 'reset');
wp_enqueue_style( 'font-awesome');
wp_enqueue_style( 'normalize');
wp_enqueue_style( 'bootstrap');
wp_enqueue_style( 'master');
wp_enqueue_style( 'stylesheet', get_stylesheet_uri(), array(), '1', 'all' );
}

من 5 تا فایل CSS با استفاده از کدهای بالا به خوبی در صفحه در قسمت هدر لود میکنم .

اما برای لود فایلهای js از دستورات زیر استفاده میکنم :


// Import JS files :
function acaweb_theme_js()
{
global $version;
wp_enqueue_script('jquery', get_template_directory_uri() . '/js/jquery-1.11.0.min.js',array( 'jquery' ),$version,true );
wp_enqueue_script('bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js',array( 'jquery' ),$version,true );
wp_enqueue_script('script', get_template_directory_uri() . '/js/script.js',array( 'jquery' ),$version,true );
}
add_action('wp_enqueue_scripts', 'acaweb_theme_js');

اما متاسفانه فایلهای JS بنده در پروژه با استفاده از دستورات بالا لود نمیشه . نمیدونم مشکلش کجاست . ممنون میشم بهم بگید کجای دستورات بالا اشتباه هستش و کد مربوط به لود Js بالا رو تصحیح کنید طوری که در فوتر سایت بارگذاری بشود .

با تشکر .

لینک به ارسال

function acaweb_theme_js()
{
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', get_template_directory_uri() . '/js/jquery.js', 'jquery', '1.10.2');
wp_enqueue_script('jquery');
wp_register_script('bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', 'bootstrap', '1.0.0.0');
wp_enqueue_script('bootstrap');
wp_register_script('script', get_template_directory_uri() . '/js/script.js', 'script', '1.0.0.0');
wp_enqueue_script('script');
}
add_action('wp_enqueue_scripts', 'acaweb_theme_js');

لینک به ارسال
 function acaweb_theme_js() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', get_template_directory_uri() . '/js/jquery.js', 'jquery', '1.10.2'); wp_enqueue_script('jquery'); wp_register_script('bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', 'bootstrap', '1.0.0.0'); wp_enqueue_script('bootstrap'); wp_register_script('script', get_template_directory_uri() . '/js/script.js', 'script', '1.0.0.0'); wp_enqueue_script('script'); } add_action('wp_enqueue_scripts', 'acaweb_theme_js'); 

ممنون استاد . کدها به درستی کار کردش اما یه مشکل کوچیک وجود داره و اون اینکه میخوام کدهای جاوا اسکریپت در قسمت فوتر سایت نمایش داده شود. این به چه صورت است ؟

لینک به ارسال

این کد ریجستری اسکریپته و ارتباطی به محل نمایشش نداره ولی می تونید تابع


<?php wp_head(); ?>

را در footer.php وقبل از


<?php wp_footer();?>

قرار بدید

لینک به ارسال

این کد ریجستری اسکریپته و ارتباطی به محل نمایشش نداره ولی می تونید تابع


<?php wp_head(); ?>

را در footer.php وقبل از


<?php wp_footer();?>

قرار بدید

ممنون .

این دستور <?php wp_head(); ?> اصلا دقیق میاد چه مواردی وارد صفحه میکنه و کاربردش چی هستش ؟

چون charset و stylesheet و برخی meta ها رو به صورت دستی در تگ هد قرار می دیم ، پس این دستور دقیقا میاد و چه کاری انجام میده ؟

اگر این دستور نزدیک footer قرار بدیم آیا متاتگ ها و دیسکریپشن ها رو نمیاره و پایین صفحه نشون بده ؟

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

لینک به ارسال

دستوراتی که دستی در header.php می نویسید ربطی به این تابع ندارند این تابع بخش های مربوط به head را از افزونه ها و فانکشنز می آره

لینک به ارسال
  • 1 سال بعد...

سلام

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

من یک تمپلیت html رو میخوام به تمپ وردپرسی تبدیل کنم

یاد گرفتم که یک فایل style.css رو کنار فایل header.php و index.php قرار بدم و در فایل header.php با دستور


<?php bloginfo('stylesheet_url'); ?>

استایل رو فراخونی کنم

اما مشکل اینجاست که من دوتا پوشه دارم که تو هر کدومش چند تا فایل css و js وجود داره و منم نمیدونم چطوری استایل سایتو از فایل دیگه و از پوشه دیگه فراخونی کنم

برای توضیحات کامل تر فعلا او فایلهای css در قسمت هدر به شکل زیر اومده


<link rel="stylesheet" href="css/base.css">
<link rel="stylesheet" href="css/skeleton.css">
<link rel="stylesheet" href="css/jquery.fancybox.css">
<link rel="stylesheet" href="css/layout.css">
<!--[if lte IE 8]>
<script src="js/html5.js"></script>
<![endif]-->

خواهشا به منه تازه کار کمک کنید

ویرایش شده توسط Mehjdi3cm
لینک به ارسال

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

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

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

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

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

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

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

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

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