Skip to content

Instantly share code, notes, and snippets.

@mehrshaddarzi
Created June 29, 2025 06:15
Show Gist options
  • Save mehrshaddarzi/445753e94c77e3abdf962f1135fa1d21 to your computer and use it in GitHub Desktop.
Save mehrshaddarzi/445753e94c77e3abdf962f1135fa1d21 to your computer and use it in GitHub Desktop.
Elementor Dynamic Tags
ثابت (Constant) توضیح و کاربرد مثال ویجت‌ها
Module::TEXT_CATEGORY برای خروجی‌های متنی ساده. این پرکاربردترین دسته است. ویرایشگر متن، سربرگ، دکمه، نقل قول
Module::URL_CATEGORY برای هر نوع لینک و URL. فیلد "پیوند" در ویجت‌های دکمه، تصویر، سربرگ
Module::IMAGE_CATEGORY برای خروجی تصویر. خروجی باید آرایه‌ای با کلید id و url باشد. ویجت تصویر، پس‌زمینه بخش/ستون
Module::NUMBER_CATEGORY برای خروجی‌های عددی. مانند قیمت، تعداد، شناسه و... ویجت شمارنده، جدول قیمت، سربرگ
Module::COLOR_CATEGORY برای خروجی کد رنگ. (مثلاً #ff5500) کنترل‌های انتخاب رنگ در بخش استایل
ثابت (Constant) توضیح و کاربرد مثال ویجت‌ها
Module::POST_META_CATEGORY یک دسته خاص برای زمینه‌های دلخواه. به المنتور می‌گوید تگ مربوط به اطلاعات پست است. معمولاً در کنار دسته‌های دیگر استفاده می‌شود.
Module::GALLERY_CATEGORY برای خروجی گالری تصاویر. خروجی باید آرایه‌ای از تصاویر باشد. ویجت گالری، اسلایدر تصاویر
Module::MEDIA_CATEGORY برای آدرس فایل‌های رسانه‌ای (مثل ویدیو، PDF). ویجت ویدیو (Self-Hosted)، دکمه دانلود
Module::VIDEO_URL_CATEGORY برای آدرس ویدیو. (یوتیوب، ویمئو و...) ویجت ویدیو
Module::ARCHIVE_META_CATEGORY مخصوص صفحات بایگانی. برای تگ‌های اطلاعات صفحات بایگانی. کنترل‌ها در زمان طراحی قالب بایگانی
<?php
/**
* ثبت تگ داینامیک سفارشی برای نمایش تصویر پروفایل کاربر لاگین شده در المنتور
*
* این تگ در یک گروه سفارشی به نام "Fire" نمایش داده می‌شود.
*/
add_action( 'elementor/dynamic_tags/register', function( $dynamic_tags_manager ) {
if ( class_exists( 'Elementor_Dynamic_Tag_Fire_User_Avatar' ) ) {
return;
}
class Elementor_Dynamic_Tag_Fire_User_Avatar extends \Elementor\Core\DynamicTags\Tag {
public function get_name() {
return 'fire-logged-in-user-avatar-url';
}
public function get_title() {
return 'آدرس تصویر پروفایل کاربر';
}
/**
* ==========================================================
* تغییر این قسمت برای ایجاد گروه سفارشی "Fire"
* ==========================================================
*/
public function get_group() {
return [ 'fire' ]; // نام گروه جدید شما
}
public function get_categories() {
return [ \Elementor\Modules\DynamicTags\Module::URL_CATEGORY ];
}
public function render() {
if ( ! is_user_logged_in() ) {
// در صورت نیاز، آدرس یک تصویر پیش‌فرض برای کاربران مهمان
// echo 'https://example.com/path/to/default-avatar.png';
return;
}
$current_user = wp_get_current_user();
$avatar_url = get_avatar_url( $current_user->ID, [ 'size' => 512 ] );
echo esc_url( $avatar_url );
}
}
// ثبت تگ جدید
$dynamic_tags_manager->register( new Elementor_Dynamic_Tag_Fire_User_Avatar() );
} );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment