32 ترفند برای استفاده در فایل Functions.php وردپرس

32 ترفند برای استفاده در فایل Functions.php وردپرس
واقعا هر زمانی که صحبت از ترفند های وردپرس میشه ، دست و پاهام را گم می کنم و نمیدونم واقعا چی در مورد این همه امکانات وردپرس بنویسیم که هم خودم ذوق مرگ می شوم و هم کاربرانی که می خواهند از این کد ها و ترفند های که در وردپرس وجود دارد را استفاده کنند دیگر چه قدر با ذوق و اشتیاق از این کد ها استفاده می کنند و این بار در میهن آکادمی قصد دارم که 32 تا از ترفند های فایل Functions.php را به شما عزیزان همراه با ما معرفی و آموزش دهم.
1. فعالسازی قابلیت ویرایشگر بلاگ در وردپرس
define('DISALLOW_FILE_EDIT', false);
توضیح: این کد به شما امکان میدهد تا از ویرایشگر داخلی وردپرس برای ویرایش فایلهای قالب و پلاگینها استفاده کنید. اگر مقدار true باشد، این قابلیت غیرفعال میشود و نمیتوانید از ویرایشگر برای تغییر فایلها استفاده کنید.
2. غیرفعالسازی تب های جدید در منوی مدیریت وردپرس
add_action('admin_menu', 'remove_admin_submenu');
function remove_admin_submenu() {
remove_submenu_page('options-general.php', 'options-writing.php');
}
توضیح: با این کد میتوانید یک زیرمنو خاص از منوی تنظیمات عمومی را حذف کنید. در این مثال، زیرمنوی “نوشتن” غیرفعال میشود.
3. پنهان کردن بخشهای غیرضروری در نوار مدیریت وردپرس
add_action('admin_init', 'remove_admin_bar_items');
function remove_admin_bar_items() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu('comments'); // حذف نظرات
}
توضیح: این کد به شما امکان میدهد تا گزینه نظرات را از نوار ابزار مدیریت حذف کنید. با استفاده از remove_menu(), میتوانید گزینههای دیگری را نیز بررسی و حذف کنید.
4. افزودن شورتکد در وردپرس
function my_custom_shortcode($atts) {
return "سلام، این یک شورتکد سفارشی است!";
}
add_shortcode('my_shortcode', 'my_custom_shortcode');
توضیح: با این کد، یک شورتکد سفارشی ایجاد میکنید که میتوانید در هرجای صفحه یا نوشته خود از آن استفاده کنید. به عنوان مثال، با نوشتن [my_shortcode]، متن “سلام، این یک شورتکد سفارشی است!” نمایش داده میشود.
5. تغییر عنوان صفحه ورود در وردپرس
function my_custom_login_title() {
return 'عنوان جدید ورود';
}
add_filter('login_headertitle', 'my_custom_login_title');
توضیح: این کد عنوان صفحه ورود وردپرس را به “عنوان جدید ورود” تغییر میدهد. میتوانید هر متنی را که میخواهید به عنوان عنوان صفحه ورود مشخص کنید.
6. سفارشیسازی لوگوی صفحه ورود در وردپرس
function my_custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image:url(' . get_template_directory_uri() . '/images/my-logo.png) !important; }
</style>';
}
add_action('login_enqueue_scripts', 'my_custom_login_logo');
توضیح: با این کد، لوگو صفحه ورود وردپرس را به یک تصویر سفارشی تغییر میدهید. فقط کافی است آدرس تصویر را در background-image مشخص کنید.
7. حذف نسخه وردپرس از HTML
remove_action('wp_head', 'wp_generator');
توضیح: این خط کد نسخه وردپرس شما را از کد HTML صفحه حذف میکند. این عمل میتواند به افزایش امنیت سایت شما کمک کند.
8. محدود کردن تعداد تلاشهای ورود به سیستم پنل مدیریت در وردپرس
function limit_login_attempts() {
return 3; // حداکثر 3 تلاش
}
add_filter('limit_login_attempts', 'limit_login_attempts');
توضیح: این کد به شما اجازه میدهد تعداد تلاشهایی که برای ورود به سایت انجام میشود را محدود کنید. در این مثال، حداکثر 3 تلاش مجاز است.
9. افزودن قابلیت بارگذاری فایلهای SVG در وردپرس
function cc_mime_types($mimes) {
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter('upload_mimes', 'cc_mime_types');
توضیح: با افزودن این کد، به کاربران این امکان داده میشود که فایلهای SVG را در وردپرس بارگذاری کنند. این فرمت معمولاً برای تصاویر گرافیکی و آیکونها مناسب است.
10. جلوگیری از فیلتر کردن اندازههای عکس
remove_filter('jpeg_quality', 'wp_protected_image_url');
توضیح: این کد به شما اجازه میدهد تا اندازه تصاویر JPEG را به طور پیشفرض کنترل کنید. با این کار، کیفیت تصویر را بر اساس نیاز خود تنظیم میکنید.
11. سفارشی کردن نوشتههای صفحه 404 در وردپرس
function my_custom_404_page() {
get_template_part('404-custom');
}
add_action('template_redirect', 'my_custom_404_page');
توضیح: با استفاده از این کد، میتوانید به جای صفحه 404 پیشفرض، یک صفحه سفارشی ایجاد کنید. فقط کافی است فایل 404-custom.php را در پوسته خود ایجاد کنید.
12. غیرفعال کردن آپدیت خودکار در وردپرس
define('AUTOMATIC_UPDATER_DISABLED', true);
توضیح: با این کد، آپدیتهای خودکار WordPress و پلاگینها را غیرفعال میکنید. این کد برای کسانی که میخواهند کنترل کاملی بر روی آپدیتها داشته باشند مفید است.
13. تغییر مجوز دسترسی به داشبورد برای نویسندگان در وردپرس
function my_custom_remove_dashboard_access() {
if (!current_user_can('administrator')) {
remove_menu_page('index.php');
}
}
add_action('admin_init', 'my_custom_remove_dashboard_access');
توضیح: این کد به نویسندگان اجازه نمیدهد به داشبورد دسترسی داشته باشند. تنها کاربران با سطوح دسترسی «مدیر» به آن دسترسی خواهند داشت.
14. ایجاد فیلد متا شخصی در نوشتهها
function my_custom_meta_box() {
add_meta_box('my_meta_box', 'فیلد دلخواه', 'my_meta_box_callback', 'post');
}
add_action('add_meta_boxes', 'my_custom_meta_box');
function my_meta_box_callback($post) {
// نمایش فیلدهای متا در اینجا
}
توضیح: با این کد، یک فیلد متا سفارشی در صفحه ویرایش نوشتهها ایجاد میشود. میتوانید در my_meta_box_callback کد HTML برای فیلدهای سفارشی ایجاد کنید.
15. افزودن قابلیت جستجوی سفارشی
function my_custom_search($query) {
if ($query->is_search) {
$query->set('post_type', 'custom_post_type');
}
return $query;
}
add_filter('pre_get_posts', 'my_custom_search');
توضیح: این کد به شما اجازه میدهد نتایج جستجو را به یک نوع خاص از پستها محدود کنید. به عنوان مثال، با استفاده از 'custom_post_type'، میتوانید نتایج را فقط به نوع مشخصی از پستها محدود کنید.
16. فعالسازی ابزارکهای سفارشی
function my_theme_setup() {
add_theme_support('widgets');
}
add_action('after_setup_theme', 'my_theme_setup');
توضیح: این کد به قالب شما اجازه میدهد تا از ابزارکها (ویدجتها) پشتیبانی کند. میتوانید ابزارکها را در نوار کناری یا مناطق قابل تنظیم دیگر قرار دهید.
17. افزایش حافظه PHP
define('WP_MEMORY_LIMIT', '256M');
توضیح: این کد به شما امکان میدهد تا حافظه PHP اختصاص داده شده به وردپرس را افزایش دهید. این کار به بهبود عملکرد سایتهای بزرگ یا پیچیده کمک خواهد کرد.
18. جلوگیری از پخش کردن تصویر اصلی
function prevent_image_drag() {
echo '<style> img { -webkit-user-drag: none; -khtml-user-drag: none; } </style>';
}
add_action('wp_head', 'prevent_image_drag');
توضیح: این کد به شما امکان میدهد جلوی دانلود یا کشیدن تصاویر از وبسایت خود را بگیرید و به نوعی از سرقت محتوای شما جلوگیری کند.
19. حذف حروف بزرگ در عنوان سایت
function my_custom_title($title) {
return strtolower($title);
}
add_filter('wp_title', 'my_custom_title');
توضیح: این کد عنوان سایت را به حروف کوچک تبدیل میکند. برای تغییر نوع نمایش عنوان، میتوانید از این کد استفاده کنید.
20. افزودن تخفیف به محصولات در ووکامرس
function add_discount_to_product($price, $product) {
if ($product->is_on_sale()) {
return $price * 0.9; // 10% تخفیف
}
return $price;
}
add_filter('woocommerce_product_get_price', 'add_discount_to_product', 10, 2);
توضیح: این کد به محصولات ووکامرس اجازه میدهد تا در زمان فروش، 10% تخفیف بگیرند. میتوانید درصد تخفیف را با تغییر مقدار 0.9 تنظیم کنید.
21. افزودن فیلدهای متا به کاربران
function my_custom_user_profile_fields($user) {
// ایجاد فیلدهای متا در صفحه ویرایش کاربر
}
add_action('show_user_profile', 'my_custom_user_profile_fields');
توضیح: با استفاده از این کد، میتوانید فیلدهای اضافی برای اطلاعات کاربر در صفحه ویرایش پروفایل اضافه کنید. کد داخل my_custom_user_profile_fields برای تعریف و نمایش فیلدهای متا میتواند استفاده شود.
22. محدود کردن تعداد نوشتههای اخیر در هندلر
function custom_recent_posts_limit($query) {
if ($query->is_home()) {
$query->set('posts_per_page', 5);
}
}
add_action('pre_get_posts', 'custom_recent_posts_limit');
توضیح: این کد تعداد نوشتههای اخیر نمایش داده شده در صفحه اصلی را به 5 کاهش میدهد. میتوانید عدد 5 را به هر عدد دلخواهی تغییر دهید.
23. سفارشی کردن هدر وبسایت
function my_custom_header_setup() {
add_theme_support('title-tag');
}
add_action('after_setup_theme', 'my_custom_header_setup');
توضیح: با استفاده از این کد، به تم خود این امکان را میدهید که از تگ <title> به طور خودکار بهرهبرداری کند. این به بهینهسازی SEO کمک میکند.
24. زبانهگذاری محتوای ویرایشگر
function my_custom_tabs($tabs) {
$tabs['my_custom_tab'] = 'زبانه سفارشی';
return $tabs;
}
add_filter('default_edit_form_after_title', 'my_custom_tabs');
توضیح: با این کد، میتوانید زبانههای سفارشی به ویرایشگر وردپرس اضافه کنید. به عنوان مثال، این زبانه میتواند اطلاعات اضافی در مورد نوشته را نمایش دهد.
25. تغییر متن دکمه ارسال در فرمها
function change_submit_button_text($translation, $text, $domain) {
if ($text === 'Submit') {
return 'ارسال';
}
return $translation;
}
add_filter('gettext', 'change_submit_button_text', 10, 3);
توضیح: این کد به شما این امکان را میدهد که متن دکمه ارسال در فرمها را به “ارسال” تغییر دهید. میتوانید متن دیگری را نیز به دلخواه خود وارد کنید.
26. اضافه کردن عکس به نتایج جستجو
function add_thumbnail_to_search_results($content) {
if (is_search() && have_posts()) {
while(have_posts()) {
the_post();
$content .= '<div>' . get_the_post_thumbnail() . '</div>';
}
}
return $content;
}
add_filter('the_content', 'add_thumbnail_to_search_results');
توضیح: این کد به نتایج جستجو این امکان را میدهد که یک تصویر بندانگشتی برای هر نتیجه (پست) نمایش داده شود. به این ترتیب، جذابیت نتایج افزایش مییابد.
27. ایجاد کسرهای سفارشی
function my_custom_discount($price, $product) {
return $price * 0.95; // 5% کسر
}
add_filter('woocommerce_product_get_price', 'my_custom_discount', 10, 2);
توضیح: این کد به شما این امکان را میدهد که به طور خودکار 5% تخفیف به قیمت محصولات ووکامرس اضافه کنید.
28. فعالسازی گوگل آنالیتیکس
function my_google_analytics() {
?>
<script async src="https://www.googletagmanager.com/gtag/js?id=YOUR_TRACKING_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'YOUR_TRACKING_ID');
</script>
<?php
}
add_action('wp_head', 'my_google_analytics');
توضیح: این کد به شما اجازه میدهد تا کد گوگل آنالیتیکس را برای جمعآوری دادههای تحلیلی به وبسایت خود اضافه کنید. فقط کافیست YOUR_TRACKING_ID را با شناسه گوگل آنالیتیکس خود جایگزین کنید.
29. تغییر موقعیت عناوین پلاگین
function my_custom_plugin_title_position($title) {
return '<span>' . $title . '</span>';
}
add_filter('plugin_title', 'my_custom_plugin_title_position');
توضیح: این کد به شما اجازه میدهد که موقعیت عناوین پلاگینها را تغییر دهید. با تعریف یک استایل جدید برای عنوان، میتوانید نحوه نمایش آن را سفارشی کنید.
30. سفارشی کردن شیوه نمایش خطای کاربر
function my_custom_error_page() {
// اختصاص صفحه خطا
wp_redirect(home_url('/custom-error-page'));
exit();
}
add_action('template_redirect', 'my_custom_error_page');
توضیح: این کد به شما این امکان را میدهد که کاربرانی که به صفحات خطا دسترسی پیدا میکنند به یک صفحه سفارشی هدایت شوند. فقط کافی است آدرس صفحهای که میخواهید کاربران به آن ارجاع شوند را درون home_url قرار دهید.
31. عدم اجازه به خزندهها برای index کردن صفحات خاص
function noindex_specific_pages() {
if (is_page('my-special-page')) {
echo '<meta name="robots" content="noindex, nofollow">';
}
}
add_action('wp_head', 'noindex_specific_pages');
توضیح: با این کد، میتوانید صفحات خاصی را مشخص کرده و از خزندهها بخواهید که آنها را ایندکس نکنند. در این مثال، اگر کاربر به صفحهای به نام “my-special-page” برود، متا تگ مورد نظر اضافه میشود.
32. افزودن فیلد تاریخ به فرم تماس
function my_custom_contact_form_field() {
echo '<label for="contact_date">تاریخ:</label>';
echo '<input type="date" id="contact_date" name="contact_date">';
}
add_action('contact_form_before_submit', 'my_custom_contact_form_field');
توضیح: این کد به فرم تماس شما یک فیلد تاریخ اضافه میکند. میتوانید مشخصات و تنطیمات فرم تماس را با استفاده از این کد سفارشی کنید.
با این 32 ترفند که در قسمت بالا به شما آموزش داد شد می توانید از این مزایا وردپرس استفاده کنید و امکانات جدیدتری را در سایت خود داشته باشید و در ضمن خوش حال میشیم که اگر آموزشی در زمینه وردپرس نیاز دارید را در قسمت نظرات با ما در میان بگذارید تا برای شما در میهن آکادمی قرار دهیم.
موفق و پیروز باشید.
