۳۲ ترفند مفید برای فایل Function وردپرس:

همانطور که می دانید همه قالب های وردپرسی دارای فایل قدرتمندی هستند که به آن فایل functions.php گفته می شود. این فایل همانند یک افزونه عمل می کند و به شما اجازه می دهد کارهای زیادی بر روی سایت وردپرسی خود انجام دهید. در این مقاله برخی از ترفندها و نکات مفید برای این فایل را در وردپرس بیان می کنیم. پس همراه باشید.

فایل functions در وردپرس چیست؟

این فایل که با عنوان فایل functions.php شناخته شده است یک فایل در قالب وردپرسی می باشد.  هدف این فایل این است که به توسعه دهندگان قالب های مختلف اجازه دهد قابلیت ها و عملکردهای مختلفی را در قالب تعریف نمایند. این فایل همانند یک افزونه در وردپرس عمل می کند و می توان از آن برای اضافه کردن کدهای سفارشی استفاده کرد.  خوب شاید به این موضوع فکر کنید که تفاوت بین افزونه های خاص وردپرس و فایل functions.php چیست؟ کدام یک بهتر است؟ با اینکه functions.php بسیار راحت تر است اما افزونه هایی که برای سایت ها طراحی می شود بهتر خواهد بود.  از سوی دیگر، فایل functions.php یک قالب  نه تنها برای آن قالب کار می کند بلکه به هنگام تعویض قالب، شما می توانید کدهای سفارشی خود را به قالب جدید کپی کنید. در ادامه چند ترفند و نکته مفید را در مورد این فایل بیان خواهیم کرد.

  • عدد مربوط به نسخه وردپرس را به کمک این فایل پاک کنید:
  • شما  باید همیشه از آخرین نسخه وردپرس بر روی سایت خود استفاده کنید. با اینحال، در بیشتر موارد صاحبان سایت دوست دارند نسخه وردپرس را  روی سایت خود حذف کنند. به کمک کد زیر می توانید به چنین عملکردی دست پیدا کنید:

    ۱function wpb_remove_version() {۲return ”;

     

    ۳}۴add_filter(‘the_generator’, ‘wpb_remove_version’);

     

  • یک لوگوی سفارشی در داشبورد اضافه کنید:
  • شما می توانید یک لوگوی سفارشی به داشبورد مدیریتی خود اضافه کنید. اولین قدم برای انجام اینکار آپلود کردن لوگوی سفارشی به فولدر تصاویر قالب به عنوان custom-logo.png است. اطمینان حاصل کنید که لوگوی سفارشی شما اندازه ۱۶ در ۱۶ پیکسل را دارد. بعد از انجام اینکار می توانید کد زیر را  به فایل functions خود  اضافه کنید:

    ۰۱function wpb_custom_logo() {۰۲echo ‘

     

    ۰۳۰۴#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {

     

    ۰۵background-image: url(‘ . get_bloginfo(‘stylesheet_directory’) . ‘/images/custom-logo.png) !important;۰۶background-position: 0 0;

     

    ۰۷color:rgba(0, 0, 0, 0);۰۸}

     

    ۰۹#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {۱۰background-position: 0 0;

     

    ۱۱}۱۲

     

    ۱۳‘;۱۴}

     

    ۱۵//hook into the administrative header output۱۶add_action(‘wp_before_admin_bar_render’, ‘wpb_custom_logo’);

     

  • می توانید فوتر را در پنل مدیریتی وردپرس تغییر دهید:
  • فوتر در ناحیه مدیریتی وردپرس پیامی را نشان می دهد. شما می توانید این پیام را به کمک کد زیر به پیام دلخواهتان تغییر دهید.

    ۱function remove_footer_admin () {۲

     

    ۳echo ‘Fueled by WordPress | WordPress Tutorials: WPBeginner

    ’;۴

     

    ۵}۶

     

    ۷add_filter(‘admin_footer_text’, ‘remove_footer_admin’);

     

  • ابزارک های سفارشی در وردپرس ایجاد نمایید:
  • حتما شما نیز ابزارک هایی را دیده اید که افزونه ها و قالب های متعدد آن را به داشبورد وردپرس اضافه می کنند. به عنوان توسعه دهنده قالب می توانید ابزارک خود را به کمک کد زیر اضافه کنید:

    ۰۱add_action(‘wp_dashboard_setup’, ‘my_custom_dashboard_widgets’);۰۲

     

    ۰۳function my_custom_dashboard_widgets() {۰۴global $wp_meta_boxes;

     

    ۰۵۰۶wp_add_dashboard_widget(‘custom_help_widget’, ‘Theme Support’, ‘custom_dashboard_help’);

     

    ۰۷}۰۸

     

    ۰۹function custom_dashboard_help() {۱۰echo ‘

    Welcome to Custom Blog Theme! Need help? Contact the developer here. For WordPress Tutorials visit: WPBeginner

    ’;

     

    ۱۱}

     

  • می توانید گراواتار پیش فرض را در وردپرس تغییر دهید:
  • ایا تا به حال به آواتار پیش فرض وردپرس در وبلاگ ها توجه کرده اید؟ شما می توانید به راحتی این آواتار را به آواتار دلخواه خود تغییر دهید. کافیست تصویر مورد نظر خود را آپلود کنید و سپس  کد زیر را در فایل Function بچسبانید.

    ۱add_filter( ‘avatar_defaults’, ‘wpb_new_gravatar’ );۲function wpb_new_gravatar ($avatar_defaults) {

     

    ۳$myavatar = ‘http://example.com/wp-content/uploads/2017/01/wpb-default-gravatar.png’;۴$avatar_defaults[$myavatar] = “Default Gravatar”;

     

    ۵return $avatar_defaults;۶}

     

    حالا می توانید سری به بخش تنظیمات و سپس صفحه گفت و گوها بزنید و آواتار پیش فرض خود را انتخاب کنید.

  • تاریخ پویای کپی رایت را در فوتر وردپرس اضافه نمایید:
  • شما می توانید به سادگی تاریخ کپی رایت را با ویرایش فوتر قالب خود تغییر دهید. با اینحال این تاریخ زمانی که سایت خود را راه اندازی می کنید نشان داده نخواهد شد و به صورت خودکار در سال بعد نشان داده نمی شود. شما می توانید به کمک کد زیر تاریخ کپی رایت را به صورت پویا به فوتر خود اضافه کنید.

    ۰۱function wpb_copyright() {۰۲global $wpdb;

     

    ۰۳$copyright_dates = $wpdb->get_results(“۰۴SELECT

     

    ۰۵YEAR(min(post_date_gmt)) AS firstdate,۰۶YEAR(max(post_date_gmt)) AS lastdate

     

    ۰۷FROM۰۸$wpdb->posts

     

    ۰۹WHERE۱۰post_status = ‘publish’

     

    ۱۱“);۱۲$output = ”;

     

    ۱۳if($copyright_dates) {۱۴$copyright = “© ” . $copyright_dates[0]->firstdate;

     

    ۱۵if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {۱۶$copyright .= ‘-‘ . $copyright_dates[0]->lastdate;

     

    ۱۷}۱۸$output = $copyright;

     

    ۱۹}۲۰return $output;

     

    ۲۱}

     

    بعد از اضافه کردن این کد، باید فایل Footer.php را باز کنید و کد زیر را به آن اضافه نمایید.

    ۱

     

  • به طور تصادفی رنگ پس زمینه را در وردپرس تغییر دهید:
  • دوست دارید به هنگام بازدید و بارگذاری سایت، رنگ پس زمینه خود را به صورت تصادفی تغییر دهید؟ پس از کد زیر استفاده نمایید. ابتدا این کد را به فایل Function اضافه نمایید:

    ۱function wpb_bg() {۲$rand = array(‘0’, ‘۱’, ‘۲’, ‘۳’, ‘۴’, ‘۵’, ‘۶’, ‘۷’, ‘۸’, ‘۹’, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’);

     

    ۳$color=’#’.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].۴$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];

     

    ۵echo $color;۶}

    در مرحله بعدی، باید کد زیر را به فایل Header.php در قالب خود اضافه کنید. تگ را پیدا کنید و سپس آن را با خط زیر جایگزین نمایید:

    ۱”>>

     

  • آدرس وردپرس خود را به روزرسانی نمایید:
  • اگر نتوانستید به ناحیه مدیریتی سایت خود وارد شوید باید URL وردپرس خود را به روزرسانی نمایید. برای برطرف کردن این مشکل، کد زیر را به فایل Function اضافه نمایید.

    ۱update_option( ‘siteurl’, ‘http://example.com’ );۲update_option( ‘home’, ‘http://example.com’ );

     

    فراموش نکنید که باید example.com را با نام دامنه سایت خود عوض کنید. بعد از لاگین کردن، شما می توانید به بخش تنظیمات بروید و URL را تنظیم کنید. بعد از این مرحله باید کدی که به فایل function اضافه کرده اید را پاک کنید.

  • اندازه‌های متعددی برای تصاویر اضافه کنید:
  • وردپرس به صورت خودکار زمانی که تصویری آپلود می شود اندازه های متعددی را برای تصاویر ایجاد می کند. شما می توانید اندازه های اضافی برای تصاویر خود ایجاد کنید. این کد را به فایل Function اضافه کنید:

    ۱add_image_size( ‘sidebar-thumb’, 120, 120, true ); // Hard Crop Mode۲add_image_size( ‘homepage-thumb’, 220, 180 ); // Soft Crop Mode

     

    ۳add_image_size( ‘singlepost-thumb’, 590, 9999 ); // Unlimited Height Mode

    این کد سه اندازه جدید برای تصاویر ایجاد می کند. در تغییر این کد آزاد هستید. شما می توانید به کمک کد زیر اندازه تصویر را نشان دهید:

    ۱
  • منوهای ناوبری جدید به قالب خود اضافه کنید:
  • وردپرس به توسعه دهندگان اجازه می دهد منوهای ناوبری را تعریف کنند و آن ها را به نمایش بگذارند. این کد در فایل Function به شما کمک می کند منوی جدیدی تعریف کنید:

    ۱function wpb_custom_new_menu() {۲ register_nav_menu(‘my-custom-menu’,__( ‘My Custom Menu’));

     

    ۳}۴add_action( ‘init’, ‘wpb_custom_new_menu’ );

     

    شما می توانید به قسمت نمایش و سپس منوها بروید و از آنجا گزینه منوی سفارشی را مشاهده کنید. حالا باید این کد را به قالب خود اضافه کنید:

    ۱
  • فیلد پروفایل نویسنده را اضافه کنید:
  • اگر دوست دارید فیلدهای اضافی برای پروفایل نویسندگان خود داشته باشید می توانید کد زیر را به فایل Function اضافه کنید:

    ۱function wpb_new_contactmethods( $contactmethods ) {۲// Add Twitter

     

    ۳$contactmethods[‘twitter’] = ‘Twitter’;۴//add Facebook

     

    ۵$contactmethods[‘facebook’] = ‘Facebook’;۶

     

    ۷return $contactmethods;۸}

     

    ۹add_filter(‘user_contactmethods’,’wpb_new_contactmethods’,10,1);

     

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

    ۱
  • نواحی آماده ابزارک یا سایدبار در قالب وردپرس اضافه کنید:
  • این موضوع یکی از پرکاربردترین مواردی است که توسعه دهندگان از آن استفاده می کنند. کد زیر را در فایل Function بچسبانید:

    ۰۱// Register Sidebars۰۲function custom_sidebars() {

     

    ۰۳۰۴ $args = array(

     

    ۰۵ ‘id’            => ‘custom_sidebar’,۰۶ ‘name’          => __( ‘Custom Widget Area’, ‘text_domain’ ),

     

    ۰۷ ‘description’   => __( ‘A custom widget area’, ‘text_domain’ ),۰۸ ‘before_title’  => ‘

    ’,

     

    ۰۹ ‘after_title’   => ‘’,۱۰ ‘before_widget’ => ‘’,

     

    ۱۱ ‘after_widget’  => ‘’,۱۲ );

     

    ۱۳ register_sidebar( $args );۱۴

     

    ۱۵}۱۶add_action( ‘widgets_init’, ‘custom_sidebars’ );

    حالا می توانید به قسمت نمایش و سپس ابزارک ها بروید و ناحیه سفارشی خود را مشاهده کنید. برای نمایش ابزارک یا سایدبار، کد زیر را اضافه کنید:

    ۱۲

     

    ۳
  • فید RSS را در فوتر دستکاری کنید:
  • حتما شما نیز وبلاگ هایی را دیده اید که تبلیغات خود را در فید RSS زیر هر پست قرار می دهند. شما می توانید اینکار را با  اضافه کردن کد زیر انجام دهید:

    ۱function wpbeginner_postrss($content) {۲if(is_feed()){

     

    ۳$content = ‘This post was written by Syed Balkhi ‘.$content.’Check out WPBeginner’;۴}

     

    ۵return $content;۶}

     

    ۷add_filter(‘the_excerpt_rss’, ‘wpbeginner_postrss’);۸add_filter(‘the_content’, ‘wpbeginner_postrss’);
  • تصاویر ویژه به فید RSS اضافه کنید:
  • تصاویر ویژه اغلب در  پست های وبلاگی نمایش داده می شود. شما می توانید کارکرد فید RSS را با چند تغییر ساده، بیشتر کنید.

    ۰۱function rss_post_thumbnail($content) {۰۲global $post;

     

    ۰۳if(has_post_thumbnail($post->ID)) {۰۴$content = ‘

    ’ . get_the_post_thumbnail($post->ID) .

     

    ۰۵‘

    ’ . get_the_content();۰۶}

     

    ۰۷return $content;۰۸}

     

    ۰۹add_filter(‘the_excerpt_rss’, ‘rss_post_thumbnail’);۱۰add_filter(‘the_content_feed’, ‘rss_post_thumbnail’);
  • خطاهای لاگین در وردپرس را مخفی سازید:
  • خطاهای لاگین در وردپرس معمولا توسط هکرها برای حدس زدن نام کاربری و پسورد مورد استفاده قرار می گیرد. با کد زیر این خطاها را پنهان کنید:

    ۱function no_wordpress_errors(){۲ return ‘Something is wrong!’;

     

    ۳}۴add_filter( ‘login_errors’, ‘no_wordpress_errors’ );
  • لاگین توسط ایمیل را در وردپرس غیر فعال سازید:
  • وردپرس به کاربران اجازه می دهد به کمک آدرس ایمیل یا نام کاربری خود لاگین کنند. شما می توانید لاگین به کمک ایمیل را با اضافه کردن کد زیر غیر فعال سازید:

    ۱remove_filter( ‘authenticate’, ‘wp_authenticate_email_password’, 20 );
  • قابلیت جستجو را در وردپرس غیر فعال کنید:
  • اگر می خواهید قابلیت جستجو را در سایت وردپرسی خود غیر فعال سازید می توانید کد زیر را به سادگی به فایل Function خود اضافه نمایید:

    ۰۱function fb_filter_query( $query, $error = true ) {۰۲

     

    ۰۳if ( is_search() ) {۰۴$query->is_search = false;

     

    ۰۵$query->query_vars[s] = false;۰۶$query->query[s] = false;

     

    ۰۷۰۸// to error

     

    ۰۹if ( $error == true )۱۰$query->is_404 = true;

     

    ۱۱}۱۲}

     

    ۱۳۱۴add_action( ‘parse_query’, ‘fb_filter_query’ );

     

    ۱۵add_filter( ‘get_search_form’, create_function( ‘$a’, “return null;” ) );
  • انتشار پست در فید RSS را به تعویق بیندازید:
  • برخی از اوقات ممکن است در مقاله خود مشکل گرامری یا املایی داشته باشید. این مشکل به طور زنده در فید RSS منتشر می شود. اگر دوست ندارید چنین اتفاقی بیفتد کد زیر را به فایل Function  خود اضافه کنید:

    ۰۱function publish_later_on_feed($where) {۰۲

     

    ۰۳ global $wpdb;۰۴

     

    ۰۵ if ( is_feed() ) {۰۶ // timestamp in WP-format

     

    ۰۷ $now = gmdate(‘Y-m-d H:i:s’);۰۸

     

    ۰۹ // value for wait; + device۱۰ $wait = ’۱۰’; // integer

     

    ۱۱۱۲ // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff

     

    ۱۳ $device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR۱۴

     

    ۱۵ // add SQL-sytax to default $where۱۶ $where .= ” AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait “;

     

    ۱۷ }۱۸ return $where;

     

    ۱۹}۲۰

     

    ۲۱add_filter(‘posts_where’, ‘publish_later_on_feed’);

    در این کد از زمان ۱۰ دقیقه برای تاخیر انتشار استفاده شده است. شما می توانید آن را به دلخواه تغییر دهید.

  • متن مربوط به بیشتر بخوانید را در وردپرس تغییر دهید:
  • برای انجام اینکار از کد زیر استفاده کنید:

    ۱function modify_read_more_link() {۲ return ‘Your Read More Link Text’;

     

    ۳}۴add_filter( ‘the_content_more_link’, ‘modify_read_more_link’ );
  • فید RSS را در وردپرس غیر فعال سازید:
  • همه سایت ها به فید RSS نیازی ندارند. اگر می خواهید این فید را در سایت وردپرسی خود غیر فعال سازید کد زیر را به  فایل Function اضافه کنید.

    ۱function fb_disable_feed() {۲wp_die( __(‘No feed available,please visit our View all posts by ‘ . $display_name . ‘’;۳۴

     

    ۳۵// Check if author has a website in their profile۳۶if ( ! empty( $user_website ) ) {

     

    ۳۷۳۸// Display author website link

     

    ۳۹$author_details .= ‘ |

    دسته بندی : وردپرس

    مقالات مرتبط


    منبع : وب ایده

    برخی از مقالات با ذکر منبع بازنشر شده است . در صورت تمایل به حذف مطالبتان می توانید از طریق فرم با لینک زیر اعلام و مطلب مورد نظر حذف می گردد .
    فرم تماس با ما