مرور کلی
فیلتر `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 );
