ابزارک‌ها یا Widgets یکی از منعطف‌ترین بخش‌های وردپرس هستند که به شما اجازه می‌دهند بدون تغییر در کدهای اصلی قالب، محتوای خاصی را در نواحی مشخص (Sidebar یا Footer) نمایش دهید. در این مقاله از سون ریپلای، یاد می‌گیرید که چگونه با استفاده از کدنویسی استاندارد، یک ابزارک حرفه‌ای برای سایت خود بسازید.


ابزارک وردپرس چگونه کار می‌کند؟

در وردپرس، ابزارک‌ها بر پایه کلاس قدرتمندی به نام WP_Widget ساخته می‌شوند. هر ابزارک از ۴ بخش اصلی تشکیل شده است:

  1. __construct: تنظیمات پایه (نام و آیدی ابزارک).

  2. widget: خروجی نهایی که کاربر در سایت می‌بیند.

  3. form: فیلدهایی که مدیر سایت در پیشخوان می‌بیند (مثل فیلد عنوان).

  4. update: ذخیره‌سازی اطلاعات وارد شده در دیتابیس.


مراحل ساخت ابزارک اختصاصی

برای شروع، کد زیر را به فایل functions.php قالب خود اضافه کنید. در این مثال، ما یک ابزارک ساده برای نمایش متن دلخواه می‌سازیم.

گام اول: تعریف کلاس ابزارک

PHP

class S7R_Custom_Widget extends WP_Widget {

    // تنظیمات اولیه
    function __construct() {
        parent::__construct(
            's7r_widget', 
            __('ابزارک اختصاصی سون ریپلای', 'text_domain'), 
            array( 'description' => __( 'توضیحات ابزارک شما در اینجا', 'text_domain' ), ) 
        );
    }

    // ظاهر ابزارک در سایت
    public function widget( $args, $instance ) {
        echo $args['before_widget'];
        if ( ! empty( $instance['title'] ) ) {
            echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
        }
        echo __( 'سلام! این خروجی ابزارک اختصاصی شماست.', 'text_domain' );
        echo $args['after_widget'];
    }

    // فرم ابزارک در مدیریت
    public function form( $instance ) {
        $title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'عنوان جدید', 'text_domain' );
        ?>
        <p>
        <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'عنوان:' ); ?></label> 
        <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
        </p>
        <?php 
    }

    // بروزرسانی اطلاعات
    public function update( $new_instance, $old_instance ) {
        $instance = array();
        $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
        return $instance;
    }
}

گام دوم: ثبت ابزارک در وردپرس

بعد از تعریف کلاس، باید به وردپرس بگویید که این ابزارک را فعال کند:

PHP

function s7r_register_custom_widget() {
    register_widget( 'S7R_Custom_Widget' );
}
add_action( 'widgets_init', 's7r_register_custom_widget' );

مدیریت ابزارک‌های ساخته شده

پس از قرار دادن کدهای بالا، کافی است به منوی نمایش > ابزارک‌ها در پیشخوان وردپرس بروید. در آنجا مشاهده خواهید کرد که “ابزارک اختصاصی سون ریپلای” به لیست ابزارک‌های شما اضافه شده است. می‌توانید آن را با درگ و دراپ (کشیدن و رها کردن) در سایدبار خود قرار دهید.


نکات مهم در طراحی ابزارک

  • امنیت: همیشه از توابع esc_attr() و strip_tags() برای پاکسازی داده‌های ورودی استفاده کنید.

  • سرعت: از نوشتن کوئری‌های سنگین داخل تابع widget خودداری کنید تا سرعت لود صفحات سایت کم نشود.

  • چندزبانه: از توابع ترجمه (__() و _e()) استفاده کنید تا ابزارک شما در سایت‌های چندزبانه به خوبی کار کند.


سوالات متداول (FAQ)

۱. آیا می‌توانم چندین ابزارک بسازم؟ بله، برای هر ابزارک باید یک کلاس جداگانه با نام متفاوت تعریف کرده و هر کدام را با دستور register_widget ثبت کنید.

۲. چرا ابزارک من در سایت نمایش داده نمی‌شود؟ مطمئن شوید که قالب شما دارای “ناحیه ابزارک” یا Sidebar فعال است و ابزارک را دقیقاً در همان ناحیه قرار داده‌اید.


آیا مایل هستید آموزش ساخت یک “ابزارک پیشرفته” که لیست آخرین مطالب را همراه با تصویر شاخص نشان می‌دهد، برایتان آماده کنم؟

نظرات

هنوز بررسی‌ای ثبت نشده است.

سبد خرید
سبد خرید شما خالی است

آموزش‌های ویدیویی جدید یوتیوب رو از دست ندی!

بزن بریــم!