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



مرور کلی

فیلتر `la24_render_profile_action_btn` به افزونه‌ها اجازه می‌دهد دکمه‌های HTML سفارشی را به نوار ابزار بالای صفحه پروفایل کاربر/سرنخ اضافه کنند. دکمه‌ها می‌توانند به صفحات CRM سفارشی لینک بدهند، مودال‌ها را راه‌اندازی کنند یا هر عملیات فرانت‌اندی را انجام دهند.

امضای هوک

php
apply_filters( 'la24_render_profile_action_btn', array $actions, bool $is_clue );
**نوع:** Filter **پارامترها:**
  • `$actions` (آرایه) — رجیستری دکمه‌های فعلی
  • `$is_clue` (bool) — برای سرنخ `true`؛ برای کاربر وردپرس `false`
**بازگشتی:** آرایه

افزودن دکمه عملیات پروفایل

php
add_filter( 'la24_render_profile_action_btn', function ( $actions, $is_clue ) {

    $profile_id = (int) ( $_GET['id'] ?? 0 );

    // فقط برای کاربران (نه سرنخ‌ها) دکمه اضافه کن
    if ( ! $is_clue && la24_user_can( get_current_user_id(), 'my_crm_view_reports' ) ) {
        $report_url = la24_get_permalink_panel( 'MyCrmReports/?user_id=' . $profile_id );

        $actions['my_crm_report_btn']['content'] =
            "<a href='" . esc_url( $report_url ) . "' class='btn btn-sm btn-outline-primary'>
                <i class='fa fa-bar-chart'></i> " . esc_html__( 'مشاهده گزارش', 'my-crm-ext' ) . "
            </a>";
    }

    return $actions;

}, 10, 2 );
> به `10, 2` در انتهای `add_filter` توجه کنید — آرگومان سوم اولویت است و چهارمی (`2`) به وردپرس می‌گوید این callback دو پارامتر دریافت می‌کند.

فیلدهای Action

هر ورودی در `$actions` با یک شناسه منحصربه‌فرد کلیدگذاری می‌شود. مقدار باید شامل کلید `content` با HTML خام برای رندر باشد:
php
$actions['my_unique_btn_key'] = array(
    'content' => '<a href="..." class="btn btn-sm">...</a>',
);
از کلاس‌های دکمه Bootstrap (که در پنل CRM از قبل بارگذاری شده‌اند) برای یکپارچگی ظاهری استفاده کنید:
کلاسظاهر
`btn btn-sm btn-outline-primary`دکمه آبی outline
`btn btn-sm btn-outline-success`دکمه سبز outline
`btn btn-sm btn-outline-danger`دکمه قرمز outline
`btn btn-sm btn-primary`دکمه آبی پر

تشخیص کاربر از سرنخ

php
if ( $is_clue ) {
    // این پروفایل یک سرنخ است (مخاطب ثبت‌نشده)
} else {
    // این پروفایل یک کاربر وردپرس ثبت‌شده است
}
از این flag برای نمایش مشروط دکمه‌هایی که فقط برای یک نوع پروفایل کاربرد دارند استفاده کنید.

ساخت URL دکمه

php
$profile_id = (int) ( $_GET['id'] ?? 0 );
$url = la24_get_permalink_panel( 'MyEndpoint/?user_id=' . $profile_id );
همیشه هنگام خروجی به HTML، URL را escape کنید:
php
echo esc_url( $url );