- وردپرس
- زمان 4 دقیقه
1. وردپرس دارای هزاران اسکریپت است
با استفاده از دو تابع بی نظیر wp_enqueue_script() و wp_enqueue_style()، می توانید طرح ها و اسکریپت ها را به راحتی در مدیریت استفاده کنید.
اما آیا می دانستید که وردپرس تعداد زیادی اسکریپت پیش ساخته دارد؟ jQuery ، بسیاری از عناصر UI jQuery ، فرم jQuery ، موضوع های SWF، MCE های زیر، Jcrop ها و Thickbox ها که از همه شناخته شده تر هستند.
لیست کامل را می توان در مستندات وردپرس یافت.
اگر علاقه مند به یادگیری چگونگی استفاده از به نوبت قراردادن توابع به طور موثر هستید،
من “راهنمای توسعه دهندگان برای ایجاد ستیزه ی رایگان میان جاوا اسکریپت و CSS در وردپرس” توصیه می کنم که در Smashing Magazine موجود است!
2. جایگزین کردن سازه در (Built-In) اسکریپت با غیر فعال کردن ثبت آنها
اگر ناچار باشید، می توانید از نسخه های اسکریپت ها به جای سازه ها استفاده کنید.
استفاده از جدیدترین نسخه ی jQuery کار متداولی است(هر چند نه لزوما خوب)، که می تواند به صورت زیر انجام ش
function my_scripts_method() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', get_template_directory_uri() . '/js/jquery-new.js'); wp_enqueue_script( 'jquery' ); } add_action('wp_enqueue_scripts', 'my_scripts_method');
اما این کار را تنها برای پز دادن در مورد استفاده از جدیدترین چیزها، انجام ندهید.
وردپرس نسخه ای از jQuery را استفاده می کند که مطمئنا از حداکثر سازگاری برخوردار است.
تنها در صورتی از نسخه ی دیگری از jQuery استفاده کنید
که با مشکلات مرتبط با سازگاری مواجهه می شوید، مثلا یک افزونه ای که به طور خاص به آن نیاز دارد.
اما این کار را تنها برای پز دادن در مورد استفاده از جدیدترین چیزها، انجام ندهید.
وردپرس نسخه ای از jQuery را استفاده می کند که مطمئنا از حداکثر سازگاری برخوردار است.
تنها در صورتی از نسخه ی دیگری از jQuery استفاده کنید
که با مشکلات مرتبط با سازگاری مواجهه می شوید، مثلا یک افزونه ای که به طور خاص به آن نیاز دارد.
3. فشرده کردن تصاویر JPG ایده آل
این یک مثال کلاسیک است که چرا کار کردن در یک تیم مفید است.
دوست خوب من Lars، به من گفت که وردپرس به منظور حفظ فضا و پهنای باند،
برای تصاویر ارائه شده در وب سایت، کیفیت 100٪ استفاده نمی کند. او البته به من یک راه حل نشان داد:
add_filter( 'jpeg_quality', 'smashing_jpeg_quality' ); function smashing_jpeg_quality() { return 100; }
وردپرس به طور پیش فرض از کیفیت 90٪ استفاده می کند.
در اکثر موارد این امر مشکلی ایجاد نمی کند،
من شک دارم که بسیاری از مردم بتوانند تفاوت ها را متوجه شوند.
اما اگر کیفیت درجه یک تصویر در وب سایت شما مهم است
(برای نمایش نمونه کارهایتان، عکاسی، و غیره)، تغییر دادن مقدارها ممکن است بهترین کار باشد.
وردپرس به طور پیش فرض از کیفیت 90٪ استفاده می کند.
در اکثر موارد این امر مشکلی ایجاد نمی کند،
من شک دارم که بسیاری از مردم بتوانند تفاوت ها را متوجه شوند.
اما اگر کیفیت درجه یک تصویر در وب سایت شما مهم است
(برای نمایش نمونه کارهایتان، عکاسی، و غیره)، تغییر دادن مقدارها ممکن است بهترین کار باشد.
add_action( 'template_redirect' , 'smashing_rss_redirect'); function smashing_rss_redirect() { if ( is_feed() AND !preg_match( '/feedburner|feedvalidator/i', $_SERVER['HTTP_USER_AGENT'] ) ){ header( 'Location: http://feeds.feedburner.com/my_smashing_feed' ); header( 'HTTP/1.1 302 Temporary Redirect' ); } }
5. استفاده از توابع طبقه بندی عمومی
تعدادی از توابع طبقه بندی می توانند هم طبقه بندی های سفارشی شما را انجام دهند
و هم تگ های سازه ها و دسته بندی ها را اداره کنند.
مرجع توابع مستندات، شامل لیست کاملی از توابع طبقه بندی می شود.
من به طور ویژه دوست دارم که از get_term() ، get_terms() و wp_get_object_terms() استفاده کنم.
برای منطبق کردن بیشتر چیزها، تا اندازه ای که می توانم
از این توابع استفاده می کنم، حتی برای تگ ها و دسته ها.
6. تنظیم و راه اندازی Sessions در وردپرس
Sessions ها برای ذخیره سازی اطلاعات بین صفحات، فوق العاده هستند
و به طور گسترده ای در وب سایت ها استفاده می شوند.
وردپرس اصلا آنها را به طور داخلی استفاده نمی کند، بنابراین Sessions ها هرگزتنظیم نمی شوند.
با استفاده از روش زیر، می توانید یک Sessions در تمام صفحات، قبل از هر گونه خروجی، تنظیم کنید.
add_action( 'init', 'smashing_session_start' ); function smashing_session_start() { if ( !session_id() ) { session_start(); } }
توجه داشته باشید که، در حالی که Sessions ها به طور کلی بسیار امن هستند،
چک کردن IP و یا اضافه کردن حفاظت nonce را برای امنیت بیشتر انجام دهید.
هر چند، اگر با اطلاعات غیر حساس کار می کنید، جای نگرانی نخواهد بود.
برای اطلاعات بیشتر به مقاله ی عالی Mark Jaquith در موردnonces مراجعه کنید.
7. لیست کردن تمام توابع هوک شده
من شروع به نوشتن یک تابع برای انجام این کار کردم.
هنگامی که یک جستجوی سریع در گوگل انجام دادم،
معلوم شد که دستور العمل های وردپرس دقیقا همان چیزی را که من نیاز داشتم، دارند.
function list_hooked_functions($tag=false){ global $wp_filter; if ($tag) { $hook[$tag]=$wp_filter[$tag]; if (!is_array($hook[$tag])) { trigger_error("Nothing found for '$tag' hook", E_USER_WARNING); return; } } else { $hook=$wp_filter; ksort($hook); } echo '<pre>'; foreach($hook as $tag => $priority){ echo "<br />>>>>>\t<strong>$tag</strong><br />"; ksort($priority); foreach($priority as $priority => $function){ echo $priority; foreach($function as $name => $properties) { echo "\t$name<br />"; } } } echo '</pre>'; return; }
بدون هیچ استدلالی مورد استفاده قرار می گیرد، شما یک لیست خوب از تمام توابع هوک شده را دریافت خواهید کرد.
این کار کمی طولانی خواهد بود، بنابراین می توانید برای کمی محدود کردن لیست یک قلاب مشخص کنید.
این امر به طور ویژه در هنگام رفع مشکل و یا در زمان اولویت بندی قلاب ها، مورد استفاده قرار میگیرد.
دانستن اینکه چه چیزی و چگونه به wp_head() قلاب شده است، مهم است، و این تابع یک دارایی بزرگ است!
وب سایت رسمی وردپرس
دیدگاه خود را بیان کنید