
کد کوچولوهای دوست داشتنی، به جای افزونه ها (۱)
از این پس در وردپرس با طعم فارسی نوشته هایی با نام “کد کوچولوهای دوست داشتنی” خواهیم داشت که در آن تکه کدهایی کوتاه، مختصر و مفید معرفی می شود که می توانید به راحتی هر چه تمام تر از آنها استفاده کنید.
همین جا جادارد که فرارسیدن عید فطر را خدمت همه دوستان عزیز وردپرسی و غیروردپرسی تبریک عرض نماییم.
همه ما وردپرسی ها همیشه در دنیای وب ،عاشق افزونه ها بوده ایم! دلیلش هم واضح است؛ هر کاری که به ذهن مان می رسد را می توانیم در وبسایت مان با آنها انجام دهیم! اما نباید از این نکته غافل شویم که ما همانقدر که به افزونه ها عشق می ورزیم، باید عاشق کدهای جایگزین افزونه ها نیز باشیم! این تکه نوشته های دوست داشتنی و سبک وزن، مشهود و به آسانی قابل اجرا هستند. پس چرا به آنها کم لطفی کنیم و یکسره از افزونه ها استفاده کنیم؟!
حال باید این نکته را نیز بیان کنیم که گاهی با تمام علاقه مان به افزونه ها، اگر وجودشان ضروری نیست می توانیم آنها را کنار بگذاریم. وقتی می توانیم با کدی کوتاه و دم دستی به مقصودمان برسیم، چرا زحمت نصب افزونه و سنگین کردن دیتابیس را به خودمان بدهیم؟!
در این مقاله سعی شده تا به شما کدهایی را معرفی کنیم که کارایی برخی از افزونه های مفید را در خود داشته باشد؛ اما قبل از آن…
کدهایتان را سازماندهی کنید
شاید یکی از دلایلی که باعث شود شما با حرفی که زدیم مخالفت کنید و بگویید که افزونه ها نسبت به کدها ارجحیت دارند، این است که شما می بایست کدها را به صورت دستی به فایل functions.php اضافه کنید. اضافه نمودن یک یا دو کد مشکلی ایجاد نخواهد کرد اما وقتی تعدادشان بیش از حد شود، بررسی کردن آنها، پیدا کردن شان و در کل نظارت برروی این کدها مشکل خواهد شد. از طرفی دیگر افزونه ها را به راحتی می توان تحت نظر داشت، زیرا پس از نصب شان، برای شما لیست می شوند و دارای اسم هستند.
خبر خوب این است که با افزونه Code Snippets شما می توانید لیستی از کدهایی داشته باشید که از آنها استفاده کرده اید، دقیقا مانند افزونه ها.
بنابراین دیگر دلیلی برای ارجح ندانستن کدها نسبت به افزونه ها وجو ندارد. پس این شما و این کدهای وردپرسی ما!
۱٫ حذف ابزارک های پیش فرض
افزونه: حذف ابزارکهای پیش فرض
بعضی از ما هنوز هم نمی توانیم درک کنیم که چرا باید از بعضی ابزارک های پیش فرض وردپرس استفاده کنیم. منصفانه است اگر بگوییم از برخی از این ابزارک ها اصلا استفاده نمی کنیم. بنابراین اگر می خواهید که از وجود همه این ابزارک ها یا تعدادی از آنها خلاص شوید، از کد زیر می توانید بهره ببرید. نام های انگلیسی کاملا مشخص است که به کدام ابزارک پیش فرض اشاره دارد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// unregister all widgets function unregister_default_widgets() { unregister_widget('WP_Widget_Pages'); unregister_widget('WP_Widget_Calendar'); unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Links'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Search'); unregister_widget('WP_Widget_Text'); unregister_widget('WP_Widget_Categories'); unregister_widget('WP_Widget_Recent_Posts'); unregister_widget('WP_Widget_Recent_Comments'); unregister_widget('WP_Widget_RSS'); unregister_widget('WP_Widget_Tag_Cloud'); unregister_widget('WP_Nav_Menu_Widget'); unregister_widget('Twenty_Eleven_Ephemera_Widget'); } add_action('widgets_init', 'unregister_default_widgets', 11); |
۲٫ حذف نام سازنده : وردپرس از هدر
افزونه: حذف متا تگ “سازنده : وردپرس” از هدر
یعنی حذف :
<meta name="generator" content="WordPress 3.4.1" />
برخی به منظور افزایش امنیت وبسایت، کد سازنده را از هدر حذف می کنند. گرچه زمانی که درحال کار برروی وبسایت کاربران هستید، شاید انجام این عمل امکان پذیر نباشد.
به هر حال، حذف این متاتگ بسیار ساده است. تنها از کد یک خطی زیر استفاده کنید:
1 |
add_filter('the_generator', create_function('', 'return "";')); |
۳٫ تغییر مسیر فیدههای وردپرس به Feedburner
افزونه: اف دی فیدبرنر
در صورت استفاده از این کد، وقتی برروی آدرس فید وبسایت شما کلیک شود، کاربر به اکانتی که در فیدبرنر ساخته هدایت می شود:
1 2 3 4 5 6 7 |
add_action('template_redirect', 'ilc_rss_redirect'); function ilc_rss_redirect() { if ( is_feed() && !preg_match('/feedburner|feedvalidator/i', $_SERVER['HTTP_USER_AGENT'])){ header('Location: http://feeds.feedburner.com/yourfeedname'); header('HTTP/1.1 302 Temporary Redirect'); } } |
۴٫ چکیده برای برگه ها
افزونه : چکیده برگه ها
گاهی پیش آمده که شما نیاز به تعریف چکیده برای برگه ها دارید. با استفاده از این تکه کد می توانید این امکان را در پوسته خود داشته باشید:
1 2 3 4 |
add_action( 'init', 'my_add_excerpts_to_pages' ); function my_add_excerpts_to_pages() { add_post_type_support( 'page', 'excerpt' ); } |
۵٫ باز نمودن تمام لینک ها در پنجره جدید
افزونه: باز کردن لینک های خارجی در پنجره جدید
شاید شما نیز زیاد موافق باز شدن پنجره جدید نباشید اما انسان ها با یکدیگر متفاوت هستند! اگر شما جزو آن گروه هستید که از این قابلیت استقبال می کنید این کد می تواند شما را به مقصود برساند:
1 2 3 4 5 |
function autoblank($text) { $return = str_replace('<a', '<a target="_blank"', $text); return $return; } add_filter('the_content', 'autoblank'); |
باز شدن هر لینک در پنجره جدید در وردپرس.
۶٫ اضافه نمودن فیلدهای اضافی برای شناسنامه کاربر
افزونه: جزئیات اضافه کاربر
وردپرس با چنین فرم های ارتباطی که در قسمت پروفایل کاربران دارد، ما را به یاد فیلم های سیاه و سفید می اندازد. (AIM؟ Yahoo IM؟ اما کجاست فیسبوک؟ بدون فیسبوک انگار چیزی کم داریم!) خوشبختانه به وسیله کد زیر می توان فیلدهای جدید به شناسنامه اضافه کنیم.
1 2 3 4 5 6 7 8 9 |
add_filter('user_contactmethods', 'my_user_contactmethods'); function my_user_contactmethods($user_contactmethods){ $user_contactmethods['twitter'] = 'Twitter Username'; $user_contactmethods['facebook'] = 'Facebook Username'; return $user_contactmethods; } |
همانطور که می بینید هر فیلد اضافی، به یک اسم و یک لیبل نیاز دارد.
۷٫ تغییر لوگوی صفحه ورود و خروج
افزونه: لوگوی ورود و خروج
اگر می خواهید کمی به صفحه ورود و خروج وبسایت تان شخصیت بدهید، چرا از گزینه تغییر لوگوی این صفحه بهره نبرید؟ کد زیر حتما به شما کمک خواهد کرد:
تغییر لینک لوگین :
1 2 3 4 5 6 |
<?php add_filter( 'login_headerurl', 'my_custom_login_url' ); function my_custom_login_url($url) { return 'http://www.example.com'; } ?> |
تغییر تصویر لوگین :
1 2 3 4 5 6 7 8 |
<?php function custom_login_logo() { echo '<style type="text/css"> h1 a { background-image:url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; } </style>'; } add_action('login_head', 'custom_login_logo'); ?> |
فراموش نکنید که تصویر مورد نظر خود را در فولدر images قالب خود بگذارید و نام تصویر را login_logo.png وارد کنید. همچنین کاربر با کلیک بر روی لوگو به صفحه اصلی وبسایت شما هدایت خواهد شد.
۸٫ نمایش پیام در قسمت پیشخوان
افزونه: پیام ادمین
اگر به هر دلیلی مایل هستید که یک رخداد یا یک پیام اخطار در قسمت پیشخوان به نمایش بگذارید، از کد زیر استفاده کنید:
1 2 3 4 5 6 7 8 9 10 11 12 |
function my_admin_help($text, $screen) { // Check we're only on my Settings page if (strcmp($screen, MY_PAGEHOOK) == 0 ) { $text = 'Here is some very useful information to help you use this plugin...'; return $text; } // Let the default WP Dashboard help stuff through on other Admin pages return $text; } add_action( 'contextual_help', 'my_admin_help' ); |
۹٫ حالت تعمیرات وردپرس
افزونه: حالت تعمیرات
اگر به دنبال راه ساده ای برای قفل کردن وبسایت وردپرسی خود بر روی افرادی که مدیر (ادمین) نیستند برای مدت کوتاهی هستید، کد زیر به شما کمک خواهد کرد:
1 2 3 4 5 6 |
function maintenace_mode() { if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) { die('YOUR MESSAGE'); } } add_action('get_header', 'maintenace_mode'); |
با این کد، صفحه ای خالی به نمایش در می آید که می توان با پیام دلخواه تان آن را تغییر دهید.
۱۰٫ اضافه نمودن فاوآیکون (Favicon)
افزونه: فاوآیکون
اضافه کردن یک فاوآیکون ساده واقعا نیازی به نصب افزونه ندارد. دارد؟! به جای آن می توانید از این کد کوتاه و آسان زیر کمک بگیرید:
1 2 3 4 |
add_action( 'wp_head', 'ilc_favicon'); function ilc_favicon(){ echo "<link rel='shortcut icon' href='" . get_stylesheet_directory_uri() . "/favicon.ico' />" . "\n"; } |
حال تمام کاری که باید انجام دهید این است که فایل favicon.ico را در دایرکتوری ریشه پوسته فعال تان آپلود کنید.
ای رفیق وردپرسی! چطور بود؟
وردپرس با طعم فارسی
عالی ….
خوب بود
ادامه دهید ما حمایتتان می کنیم فقط طعم فارسی هنوز زیاد نشده !
خسته نباشی 🙂
سلام. کوچولو و دوست داشتنی 😉
بار حاصل از استفاده از افزونه خیلی کم و عملاً هیچه ولی کلی مزیت داره؛ آپدیت راحت و اینکه هر زمان که خواستید میتونید اونها رو غیرفعال کنید و اینکه در وردپرس شبکه از یه افزونه در هر تعداد سایت قابل استفاده است و غیره. بهعلاوه، مدیریت این کدهای کوچولو بعد از مدتی بسیار سخت میشه.
هر چند، مطالعه این کدها بسیار مفید هست چون میتونه نشون بده چطور میشه به سادگی دک و پوز وردپرس رو سفارشیسازی کرد.
ممنون. 🙂
سلام
بازم یه مطلب کاربردی و خوب دیگه . ممنون
به قول بچه ها تانک یو 😀
ممنون
دمت قیژ! D:
خسته نباشید .ممنون
واقعا زحمت میکشید؛ دستتون درد نکنه؛ عیدتون هم مبارک
موفق و سلامت باشید
سلام
بسیار عالی بود.ممنونم
مدیریت مجموعه سایتهای مستر گیمر
سپاس از شما
به نظر من هیچی بهتر از وردپرس نیست.راستی سایتتون عالیه
سلام
تشکر بابت کدها
لطفا کدهای جدید تر معرفی بفرمایید
یعنی اگه این کد ها رو تو ابزارک Code Snippets وارد کنیم کار میکنه
این لوگو رو چجوری وارد کنیم تو فولدر
(صویر مورد نظر خود را در فولدر images قالب خود بگذارید و نام تصویر را login_logo.png وارد کنید.)
بله.
عالی بود. متشکرم.
جالب بود !
ممنون بابت این مطلب
برای اینکه لینک هایی که در بخش نظرات گذاشته میشن تو یه پنجره جدید باز بشن باید چه کدی رو استفاده کرد؟
این کد رو میخوام تو فایل COMMENT قالب بزارم
ممنون
سلام من می خاستم با استفاده از ” تغییر لوگوی صفحه ورود و خروج ” لینک را به سایت خودم لینک بدم اما نمیشه و مثل قبل به وردپرس فارسی لینک داده میشه !!!
ممنونم استفاده کردم
ممنون دوست من
آموزش بسیار خوبی بود
پیروز و پایدار باشید
ممنون
بسیار عالی و مفید بود.
بسیار مفید
با سلام
میخام بدونم چطور میشه لینک های آر اس اس در صفحه ای جدید باز شوند؟
مچکرم