mehdi.tayebi

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

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

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

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


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

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

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

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

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

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

0

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


لینک به پست

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

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

4

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


لینک به پست

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

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

1

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


لینک به پست

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

1

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


لینک به پست

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

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


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

4

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


لینک به پست

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


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

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


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

=====

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

====

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

3

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


لینک به پست

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

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

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

برای style :


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

2

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


لینک به پست

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

0

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


لینک به پست

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

بنده فایلهای 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 بالا رو تصحیح کنید طوری که در فوتر سایت بارگذاری بشود .

با تشکر .

0

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


لینک به پست

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');

3

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


لینک به پست
 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'); 

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

0

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


لینک به پست

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


<?php wp_head(); ?>

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


<?php wp_footer();?>

قرار بدید

1

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


لینک به پست

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


<?php wp_head(); ?>

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


<?php wp_footer();?>

قرار بدید

ممنون .

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

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

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

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

0

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


لینک به پست

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

0

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


لینک به پست

ارسال شده در (ویرایش شده)

سلام

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

من یک تمپلیت 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
0

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


لینک به پست

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

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

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

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


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

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

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


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