۸ هک کاربردی برای سفارشی تر کردن وردپرس

 

همه ما وردپرس را دوست داریم ، چیزی که ما را بیشتر عاشق آن می کند ، امکان سفارشی کردن آسانش است.یعنی با مقداری کد می توانید کارهای بزرگی بوسیله وردپرس انجام دهید،مخصوصا اگر از filterها،action ها و hook ها استفاده کنیم.

گرچه وردپرس ۳ + با امکاناتش همه اذهان را متوجه خودش کرد ولی گاهی چیزی که ما نیاز داریم به کل متفاوت از پیش فرض های سیستم است.این همان چیزی است که امروز می خواهیم در موردش صحبت کنیم.

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

 

دریافت خلاصه پست خارج از حلقه

با این ،دیگر نیازی ندارید تا حتما داخل حلقه باشید تا بتوانید خلاصه ای از آن را بیرون بکشید.این امکان مخصوصا زمانی مفید است که می خواهید تعدادی از پست ها را در بخش کناری (sidebar) نمایش دهید ،پس نیازی به داده های اضافی پست ندارید(مثلا فقط عنوان ،لینک و خلاصه )

<?php
 function get_excerpt_outside_loop($post_id) {
 global $wpdb;
 $query = 'SELECT post_excerpt FROM '. $wpdb->posts .' WHERE ID = '. $post_id .' LIMIT 1';
 $result = $wpdb->get_results($query, ARRAY_A);
 $post_excerpt=$result[0]['post_excerpt'];
 return $post_excerpt;
 }
 ?>

عدم نمایش نوار مدیریت وردپرس

وردپرس ۳ که آمد همراه خود یک نوار مدیریت سیاه رنگ نیز آورد که برای بعضی ها (مثل بنده) خوش آیند بود ولی برای بعضی های دیگر آزار دهنده یود.حالا اگر از گروه دوم هستید ،با استفاده از این کد می توانید آن را حذف کنید

<?php
    global $current_user;
    get_currentuserinfo();

    if ($current_user->ID != 1) {
        add_filter( 'show_admin_bar', '__return_false' );
    }
?>

تنظیم نام ارسال کننده و ایمیل برای wp_mail()

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

<?php
    function mail_from() {
        $emailaddress = 'contact@fotolia.ir';
        return $emailaddress;
    }

    function mail_from_name() {
        $sendername = "Fotolia.ir - Ali";
        return $sendername;
    }

    add_filter('wp_mail_from','mail_from');
    add_filter('wp_mail_from_name','mail_from_name');
?>

محدود کردن دسترسی به wp-admin

شاید بخواهید دسترسی کاربران عضو را به بخش wp-admin قطع کنید،چون واقعا نیازی به ورود به این بخش ندارند ،درسته ؟ خوب انجام این کار خیلی آسان است .کافیست از اسنیپت زیر استفاده کنید.

<?php
    function restrict_access_admin_panel(){
        global $current_user;
        get_currentuserinfo();

        if ($current_user->user_level <  ۴) { //if not admin, die with message
            wp_redirect( get_bloginfo('url') );
            exit;
        }

    }
    add_action('admin_init', 'restrict_access_admin_panel', 1);
?>

 

مخفی کردن پیام بروز کردن وردپرس بری همه غیر از ادمین عزیز

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

<?php
function wp_hide_update() {
        global $current_user;
        get_currentuserinfo();

        if ($current_user->ID != 1) { // only admin will see it
            remove_action( 'admin_notices', 'update_nag', 3 );
        }
    }
    add_action('admin_menu','wp_hide_update');
?>

مخفی کردن منوهای مدیریت وردپرس

هنگامی که سایت های تکمیل شده را به مشتری ها می فروشیم ،ممکن است از امکانات زیاد آن کاملا سرگیجه بگیرند و عصبی شوند(البته در مقایسه با بعضی ها ،مدیریت وردپرس دلبازتر و راحت تره 😉 ).بنابراین چه خوب است که ما گزینه های اضافی را که ممکن است هیچ گاه مورد استفاده قرار نگیرند را حذف کنیم.اینطوری فضای بازتری ایجاد می شود و زحمات ما هم بیشتر نمایان می شود 😉 با استفاده از تابع زیر شما می توانید ،بسیاری از گزینه های مدیریت را حذف کنید.می توانید ترکیب اعداد را نیز تغییر دهید تا ببینید دقیقا کدام ها مخفی می شوند !

<?php
    function remove_dashboard_widgets() {
        global $menu,$submenu;

        global $current_user;
        get_currentuserinfo();

        if ($current_user->ID != 1) { // only admin sees the whole thing
            // $menu and $submenu will return fo all menu and submenu list in admin panel .
            $menu[2] = ""; //Dashboard
            $menu[5] = ""; // Posts
            $menu[15] = ""; //Links
            $menu[25] = ""; //Comments
            $menu[65] = ""; //Plugins

            unset($submenu['themes.php'][5]); //themes
            unset($submenu['themes.php'][12]); //editor
        }
    }
    add_action('admin_head', 'remove_dashboard_widgets');
?>

انتقال به یک صفحه متفاوت به جای داشبورد

اگر شما داشبورد را مخفی کنید ،هنگام مراجعه کاربران ،بهتر است به جای خطای عدم وجود صفحه ،آن را به یک صفحه دیگر راهنمایی کنیم.بنابراین وقتی به wp-admin مراجعه می کنند، ما با کد زیر آنها را به یک صفحه دیگر می بریم :

<?php
    if ( is_admin() ) {
        $url = $_SERVER['SCRIPT_NAME'];
        $url = explode('/', $url);
        $tam = count($url);
        if ( $url [ ( $tam - 1 ) ] == "index.php" ) {
            $url = 'Location: ' . get_bloginfo('url') . "/wp-admin/edit.php?post_type=page";
            header( $url );
        }
    }
?>

امیدوارم این کدها به دردتون بخوره ،موفق باشید 🙂

 

به زودی در این مکان تب زیبا برای لینک های دانلود قرار میگیرد

دانلود با لینک مستقیم

منبع : webnma.com

خشایار توکلی

وب نما با هدف ایجاد یک مرجع کامل در زمینه آموزش وردپرس ، افزونه وردپرس و قالب وردپرس از سال 1394 پا به عرصه وب گذاشت. ما در وب نما سعی می کنیم همواره به نیاز های شما کاربران عزیز در زمینه وردپرس فارسی پاسخ دهیم.قصد داریم به شما کمک کنیم تا سایتی پر قدرت راه اندازی کنید و تبدیل به مشتری همیشگی ما شوید.

اضافه کردن دیدگاه

تماس با ما

جهت تماس با مدیر وب سایت با شماره 09307957745 در تماس باشید یا به این ایمیل webnma.com@gmail.com پیام دهید