زیرقالب یا چایلدتم چیست؟

در این مطلب به تعریف زیر قالب یا همان قالب فرزند می پردازیم و به این سوال که قالب فرزند چیست؟ پاسخ خواهیم داد.

زیر قالب یا چیلد تم چیست؟

فهرست مطالب

  • تم والدین چیست؟
  • زیرقالب یا تم فرزند چیست؟
  • چگونه یک تم کودک بسازیم
    • 1. یک پوشه تم کودک ایجاد کنید
    • 2. یک stylesheet ایجاد کنید: style.css
    • 3. شیوه نامه را در صف قرار دهید
    • 4. تم کودک را نصب کنید
    • 5. تم کودک را فعال کنید
  • افزودن فایل های قالب
  • با استفاده از functions.php
  • ارجاع یا گنجاندن سایر فایل ها
  • ردیف کردن سبک ها و اسکریپت ها
  • ملاحظات خاص
    • فرمت های پست
    • پشتیبانی RTL
    • بین المللی شدن

تم کودک به شما این امکان را می دهد که جنبه های کوچک ظاهر سایت خود را تغییر دهید اما همچنان ظاهر و عملکرد تم خود را حفظ کنید. برای درک نحوه کار مضامین کودک، ابتدا مهم است که رابطه بین تم های والدین و فرزند را درک کنیم.

تم والدین چیست؟

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

تم کودک چیست؟

همانطور که در نمای کلی نشان داده شد، یک طرح زمینه کودک ظاهر و احساس تم اصلی و تمام عملکردهای آن را به ارث می برد، اما می توان از آن برای ایجاد تغییرات در هر بخشی از موضوع استفاده کرد. به این ترتیب، سفارشی‌سازی‌ها جدا از فایل‌های تم والد نگهداری می‌شوند. استفاده از طرح زمینه فرزند به شما امکان می‌دهد بدون تأثیر بر سفارشی‌سازی‌هایی که در سایت خود انجام داده‌اید، طرح زمینه اصلی را ارتقا دهید.

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

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

اگر سفارشی‌سازی‌های گسترده انجام می‌دهید – فراتر از سبک‌ها و چند فایل موضوعی – ایجاد یک تم والد ممکن است گزینه بهتری نسبت به تم فرزند باشد. ایجاد یک تم والد به شما امکان می دهد در آینده از مشکلات مربوط به کد منسوخ شده جلوگیری کنید. این باید به صورت موردی تصمیم گیری شود.

یکی از ویژگی های قالب های فرزند استفاده از آنها برای ساخت سایت شبکه یا مولتی سایت است که در صورت تمایل می توانید مقاله مولتی سایت چیست؟ را مطالعه نمایید.

چگونه یک تم کودک بسازیم

1. یک پوشه تم کودک ایجاد کنید

ابتدا، یک پوشه جدید در فهرست موضوعات خود ایجاد کنید که در wp-content/themes قرار دارد.

دایرکتوری نیاز به یک نام دارد. بهترین کار این است که به یک طرح زمینه فرزند هم نام والدین بدهید، اما -child را به آخر اضافه کنید. به عنوان مثال، اگر شما یک طرح زمینه کودک از twentyfifteen می‌سازید، نام دایرکتوری twentyfifteen-child خواهد بود.

2. یک stylesheet ایجاد کنید: style.css

در مرحله بعد، باید یک فایل شیوه نامه به نام style.css ایجاد کنید، که حاوی تمام قوانین و اعلان های CSS است که ظاهر طرح زمینه شما را کنترل می کند. شیوه نامه شما باید حاوی نظر سرصفحه زیر در بالای فایل باشد. این اطلاعات اولیه وردپرس را در مورد موضوع می‌گوید، از جمله این واقعیت که یک تم فرزند با یک والدین خاص است.

کد را گسترش دهید

کپی 

/*
Theme Name:   Twenty Fifteen Child
Theme URI:    http://example.com/twenty-fifteen-child/
Description:  Twenty Fifteen Child Theme
Author:       John Doe
Author URI:   http://example.com
Template:     twentyfifteen
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
Text Domain:  twentyfifteenchild
*/

اطلاعات زیر مورد نیاز است:

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

اطلاعات باقیمانده را در صورت لزوم اضافه کنید. تنها فایل تم فرزند مورد نیاز style.css است، اما functions.php برای ردیف کردن صحیح استایل ها ضروری است (در زیر).

3. شیوه نامه را در صف قرار دهید

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

@import در داخل 

style.css وارد کنید. این دیگر روش توصیه‌شده نیست، زیرا زمان بارگذاری شیوه نامه‌ها را افزایش می‌دهد. بعلاوه این امکان وجود دارد که شیوه نامه والد دو بار بارگیری شود.

روش ایده آل برای قرار دادن شیوه نامه ها در صف قرار دادن این است که تم والد هر دو را بارگیری کند (والدین و فرزند)، اما همه تم ها این کار را انجام نمی دهند. بنابراین، باید کد تم والد را بررسی کنید تا ببینید چه کاری انجام می دهد و نام دسته ای را که تم والد استفاده می کند به دست آورید. دسته اولین پارامتر wp_enqueue_style(). است

چند نکته را باید در نظر داشت:

  • طرح زمینه فرزند قبل از طرح زمینه اصلی بارگیری می شود.
  • همه چیز به یک اقدام با اولویت متصل است (پیش‌فرض 10 است) اما آنهایی که اولویت یکسانی دارند به ترتیبی که بارگذاری شده‌اند اجرا می‌شوند.
  • برای هر دسته، فقط اولین تماس با wp_enqueue_style() مرتبط است (دیگر نادیده گرفته می‌شوند).
  • پارامتر وابستگی wp_enqueue_style() بر ترتیب بارگیری تأثیر می‌گذارد.
  • بدون شماره نسخه، بازدیدکنندگان سایت به جای نسخه جدید، هر آنچه را که مرورگر آنها در حافظه پنهان ذخیره کرده است، دریافت خواهند کرد.
  • استفاده از یک تابع برای دریافت نسخه طرح زمینه، نسخه تم فعال را برمی گرداند (در صورت وجود فرزند، فرزند).
  • توابع با نام get_stylesheet* ابتدا به دنبال طرح زمینه فرزند و سپس والدین می گردند.

روش توصیه شده برای قرار دادن صفحات سبک این است که یک عملکرد wp_enqueue_scripts اضافه کنید و از wp_enqueue_style() در طرح زمینه فرزند خود استفاده کنید functions.php .
اگر ندارید، یک functions.php در دایرکتوری تم فرزند خود ایجاد کنید. اولین خط طرح زمینه فرزند شما functions.php یک تگ PHP باز (<?php) خواهد بود، پس از آن می توانید کد PHP را مطابق با کاری که طرح زمینه والدینتان انجام می دهد بنویسید.

اگر طرح زمینه والد هر دو شیوه نامه را بارگیری کند، طرح زمینه فرزند نیازی به انجام کاری ندارد.

اگر طرح زمینه والد سبک خود را با استفاده از تابعی که با get_template شروع می شود بارگیری کند، مانند get_template_directory() و get_template_directory_uri()، طرح زمینه فرزند باید فقط سبک های فرزند را با استفاده از دسته والد در پارامتر وابستگی بارگیری کند.

کپی 

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
	wp_enqueue_style( 'child-style',
		get_stylesheet_uri(),
		array( 'parenthandle' ),
		wp_get_theme()->get( 'Version' ) // This only works if you have Version defined in the style header.
	);
}

اگر طرح زمینه والد سبک خود را با استفاده از تابعی که با get_stylesheet شروع می شود بارگیری کند، مانند get_stylesheet_directory() و get_stylesheet_directory_uri()، طرح زمینه کودک باید هر دو شیوه نامه والد و فرزند را بارگیری کند. حتماً از همان نام دسته استفاده کنید که والد برای سبک‌های والد استفاده می‌کند.

کد را گسترش دهید

کپی 

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
	$parenthandle = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
	$theme        = wp_get_theme();
	wp_enqueue_style( $parenthandle,
		get_template_directory_uri() . '/style.css',
		array(),  // If the parent theme code has a dependency, copy it to here.
		$theme->parent()->get( 'Version' )
	);
	wp_enqueue_style( 'child-style',
		get_stylesheet_uri(),
		array( $parenthandle ),
		$theme->get( 'Version' ) // This only works if you have Version defined in the style header.
	);
}
  1. زیر قالب را نصب کنید
    همزمان با نصب هر طرح زمینه دیگری، تم فرزند را نصب کنید. می توانید با استفاده از FTP پوشه را در سایت کپی کنید، یا یک فایل فشرده از پوشه تم فرزند ایجاد کنید، گزینه حفظ ساختار پوشه را انتخاب کنید و روی ظاهر > تم ها > جدید را برای آپلود فایل فشرده اضافه کنید.
  2. زیر قالب را فعال کنید
    طرح زمینه کودک شما اکنون برای فعال سازی آماده است. وارد صفحه مدیریت سایت خود شوید و به صفحه مدیریت > ظاهر > تم ها. باید تم فرزندتان را فهرست شده و آماده فعال سازی ببینید. (اگر نصب وردپرس شما به صورت چند سایتی فعال است، ممکن است لازم باشد برای فعال کردن تم به صفحه مدیریت شبکه خود بروید (در برگه تم های مدیریت شبکه). سپس می توانید به صفحه مدیریت وردپرس مخصوص سایت خود برگردید تا طرح زمینه فرزند خود را فعال کنید.)شاید لازم باشد منوی خود را دوباره از

ظاهر > منوها و گزینه های تم (شامل تصاویر پس زمینه و سرصفحه) پس از فعال کردن زیر قالب.

افزودن فایل های قالب
به غیر از فایل functions.php (همانطور که در بالا ذکر شد)، هر فایلی که به طرح زمینه فرزند خود اضافه کنید، همان فایل را در طرح زمینه اصلی بازنویسی می کند. .

در اکثر موارد، بهتر است یک کپی از فایل‌های قالبی که می‌خواهید تغییر دهید از طرح زمینه اصلی ایجاد کنید، سپس تغییرات خود را در فایل‌های کپی شده انجام دهید و فایل‌های والد را بدون تغییر رها کنید. برای مثال، اگر می‌خواهید کد فایل header.php طرح زمینه اصلی را تغییر دهید، می‌توانید فایل را در پوشه طرح زمینه فرزند خود کپی کنید و آن را در آنجا سفارشی کنید.چندین پلاگین وجود دارد که به شما امکان می دهد تشخیص دهید که در صفحه ای که به دنبال آن هستید از چه الگوی خاصی استفاده می شود.

چه فایل
چه فایل قالبی را مشاهده می کنم؟
نوار اشکال زدایی
همچنین می‌توانید فایل‌هایی را در طرح زمینه فرزند قرار دهید که در طرح زمینه اصلی گنجانده نشده‌اند. به عنوان مثال، ممکن است بخواهید یک الگوی خاص‌تر از آنچه در موضوع اصلی شما یافت می‌شود، ایجاد کنید، مانند یک الگو برای یک صفحه خاص یا آرشیو دسته‌بندی (مثلاً page-3.php برای صفحه‌ای با شناسه 3 بارگیری می‌شود).

برای اطلاعات بیشتر در مورد اینکه چگونه وردپرس تعیین می کند از کدام قالب استفاده کند، به صفحه سلسله مراتب قالب مراجعه کنید.

با استفاده از FUNCTIONS.PHP
برخلاف style.css، functions.php طرح زمینه فرزند، همتای خود را از والدین لغو نمی کند. در عوض، علاوه بر توابع والدین بارگذاری می شود.php. (به طور خاص، درست قبل از فایل والد بارگیری می شود.)

به این ترتیب، functions.php یک طرح زمینه کودک، روشی هوشمندانه و بدون دردسر برای اصلاح عملکرد یک طرح زمینه والد ارائه می دهد. بگویید که می خواهید یک تابع PHP به تم خود اضافه کنید. سریعترین راه این است که فایل functions.php آن را باز کنید و تابع را در آنجا قرار دهید. اما این هوشمند نیست: دفعه بعد که تم شما به‌روزرسانی می‌شود، عملکرد شما ناپدید می‌شود. اما یک راه جایگزین وجود دارد که روش هوشمند است: می‌توانید یک تم فرزند ایجاد کنید، یک فایل functions.php را به آن اضافه کنید و تابع خود را به آن فایل اضافه کنید. این تابع دقیقاً همان کار را از آنجا نیز انجام می دهد، با این مزیت که تحت تأثیر به روز رسانی های بعدی تم اصلی قرار نمی گیرد. محتوای کامل functions.php تم اصلی را در functions.php در طرح زمینه فرزند کپی نکنید.

ساختار functions.php ساده است: یک تگ PHP باز در بالا، و در زیر آن، بیت های شما از PHP. در آن می توانید به تعداد دلخواه یا چند تابع قرار دهید. مثال زیر یک فایل functions.php ابتدایی را نشان می دهد که یک کار ساده را انجام می دهد: پیوند فاویکون را به عنصر اصلی صفحات HTML اضافه می کند.

کپی

افزودن فایل های قالب

به غیر از فایل functions.php (همانطور که در بالا ذکر شد)، هر فایلی که به طرح زمینه فرزند خود اضافه کنید، همان فایل را در طرح زمینه اصلی بازنویسی می کند. .

در اکثر موارد، بهتر است یک کپی از فایل‌های قالبی که می‌خواهید تغییر دهید از طرح زمینه اصلی ایجاد کنید، سپس تغییرات خود را در فایل‌های کپی شده انجام دهید و فایل‌های والد را بدون تغییر رها کنید. برای مثال، اگر می‌خواهید کد فایل header.php طرح زمینه اصلی را تغییر دهید، می‌توانید فایل را در پوشه طرح زمینه فرزند خود کپی کنید و آن را در آنجا سفارشی کنید.چندین پلاگین وجود دارد که به شما امکان می دهد تشخیص دهید که در صفحه ای که به دنبال آن هستید از چه الگوی خاصی استفاده می شود.

  • چه فایل
  • چه فایل قالبی را مشاهده می کنم؟
  • نوار اشکال زدایی

همچنین می‌توانید فایل‌هایی را در طرح زمینه فرزند قرار دهید که در طرح زمینه اصلی گنجانده نشده‌اند. به عنوان مثال، ممکن است بخواهید یک الگوی خاص‌تر از آنچه در موضوع اصلی شما یافت می‌شود، ایجاد کنید، مانند یک الگو برای یک صفحه خاص یا آرشیو دسته‌بندی (مثلاً page-3.php برای صفحه‌ای با شناسه 3 بارگیری می‌شود).

برای اطلاعات بیشتر در مورد اینکه چگونه وردپرس تعیین می کند از کدام قالب استفاده کند، به صفحه سلسله مراتب قالب مراجعه کنید.

با استفاده از functions.php

برخلاف style.css، functions.php طرح زمینه فرزند، همتای خود را از والدین لغو نمی کند. در عوض، علاوه بر توابع والدین بارگذاری می شود.php. (به طور خاص، درست قبل از فایل والد بارگیری می شود.)

به این ترتیب، functions.php یک طرح زمینه کودک، روشی هوشمندانه و بدون دردسر برای اصلاح عملکرد یک طرح زمینه والد ارائه می دهد. بگویید که می خواهید یک تابع PHP به تم خود اضافه کنید. سریعترین راه این است که فایل functions.php آن را باز کنید و تابع را در آنجا قرار دهید. اما این هوشمند نیست: دفعه بعد که تم شما به‌روزرسانی می‌شود، عملکرد شما ناپدید می‌شود. اما یک راه جایگزین وجود دارد که روش هوشمند است: می‌توانید یک تم فرزند ایجاد کنید، یک فایل functions.php را به آن اضافه کنید و تابع خود را به آن فایل اضافه کنید. این تابع دقیقاً همان کار را از آنجا نیز انجام می دهد، با این مزیت که تحت تأثیر به روز رسانی های بعدی تم اصلی قرار نمی گیرد. محتوای کامل functions.php تم اصلی را در functions.php در طرح زمینه فرزند کپی نکنید.

ساختار functions.php ساده است: یک تگ PHP باز در بالا، و در زیر آن، بیت های شما از PHP. در آن می توانید به تعداد دلخواه یا چند تابع قرار دهید. مثال زیر یک فایل functions.php ابتدایی را نشان می دهد که یک کار ساده را انجام می دهد: پیوند فاویکون را به عنصر اصلی صفحات HTML اضافه می کند.

کپی 

<?php // Opening PHP tag - nothing should be before this, not even whitespace
// Custom Function to Include
function my_favicon_link() {
	echo '<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />' . "\n";
}
add_action( 'wp_head', 'my_favicon_link' );

این واقعیت که functions.php یک طرح زمینه کودک ابتدا بارگذاری می شود به این معنی است که شما می توانید توابع کاربری تم خود را با اعلام مشروط آن ها قابل اتصال (یعنی قابل جایگزینی با یک تم فرزند) کنید.if (! function_exists( ‘theme_special_nav’ ) ) { function theme_special_nav() { // کاری بکنید. } }

به این ترتیب، یک تم فرزند می تواند یک تابع PHP والد را با اعلام کردن آن از قبل جایگزین کند.

برای اطلاعات بیشتر در مورد مواردی که باید در فایل functions.php طرح زمینه فرزندتان گنجانده شود، توابع طرح زمینه را مطالعه کنید. صفحه.

ارجاع یا گنجاندن سایر فایل ها

زمانی که نیاز دارید فایل‌هایی را اضافه کنید که در ساختار دایرکتوری تم فرزند شما قرار دارند، باید از get_stylesheet_directory() استفاده کنید. از آنجایی که style.css در ریشه دایرکتوری فرعی طرح زمینه فرزند شما قرار دارد، get_stylesheet_directory() به دایرکتوری تم فرزند شما اشاره می کند (نه دایرکتوری تم والد). برای ارجاع به دایرکتوری تم والد، به جای آن از get_template_directory() استفاده کنید.

در زیر مثالی است که نحوه استفاده از get_stylesheet_directory() را هنگام ارجاع به یک فایل ذخیره شده در دایرکتوری تم فرزند نشان می دهد:

کپی 

<?php require_once get_stylesheet_directory() . '/my_included_file.php'; ?>

در همین حال، این مثال از get_stylesheet_directory_uri() برای نمایش تصویری استفاده می‌کند که در پوشه /images در دایرکتوری تم فرزند ذخیره شده است.

کپی 

<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/my_picture.png" alt="" />

برخلاف get_stylesheet_directory() که یک مسیر فایل را برمی‌گرداند، get_stylesheet_directory_uri() نشانی اینترنتی را برمی‌گرداند که برای دارایی‌های جلویی مفید است.

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

اسکریپت‌ها و استایل‌ها باید هر کدام با عملکرد خاص خود در صف قرار گیرند، و سپس آن‌ها باید در یک عمل پیچیده شوند. برای اطلاعات بیشتر، صفحه شامل CSS و جاوا اسکریپت را بخوانید.

WordPress به طور خودکار برگه سبک طرح زمینه فرزند شما را در قسمت جلویی بارگیری نمی کند. در زیر نمونه‌ای از استفاده از قلاب اکشن wp_enqueue_scripts() برای فراخوانی تابعی است که صفحه سبک تم فرزند را در صف قرار می‌دهد.

کپی 

<?php
add_action( 'wp_enqueue_scripts', 'my_plugin_add_stylesheet' );
function my_plugin_add_stylesheet() {
	wp_enqueue_style( 'my-style', get_stylesheet_directory_uri() . '/style.css', false, '1.0', 'all' );
}

ملاحظات خاص

فرمت های پست

طرح زمینه فرزند قالب های پست را همانطور که توسط طرح زمینه اصلی تعریف شده است به ارث می برد. اما هنگام ایجاد تم های فرزند، توجه داشته باشید که استفاده از add_theme_support(‘post-formats’) فرمت های تعریف شده توسط طرح زمینه والد را لغو می کند، نه اضافه کردن به آن.

پشتیبانی RTL

برای پشتیبانی از زبان های RTL، یک فایل rtl.css را به طرح زمینه زیرقالب خود اضافه کنید که حاوی:

کپی 

/*
Theme Name: Twenty Fifteen Child
Template: twentyfifteen
*/

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

بین المللی شدن

می توان با استفاده از API بین المللی سازی وردپرس، تم های زیرقالب را برای ترجمه به زبان های دیگر آماده کرد. ملاحظات ویژه ای در رابطه با بین المللی سازی مضامین زیرقالب وجود دارد.

برای بین المللی کردن طرح زمینه زیرقالب این مراحل را دنبال کنید:

  1. یک فهرست زبان اضافه کنید.

مثلا:twentyfifteen-child/languages/

  1. فایل های زبان را اضافه کنید.

نام فایل شما باید he_IL.po & he_IL.mo (بسته به زبان شما)، بر خلاف فایل های افزونه که domain-he_IL.xx هستند.

  1. یک دامنه متنی را بارگیری کنید

از load_child_theme_textdomain() در functions.php در طول عمل after_setup_theme استفاده کنید.

دامنه متنی تعریف شده در load_child_theme_textdomain() باید برای ترجمه همه رشته‌ها در طرح زمینه زیرقالب استفاده شود.

  1. از توابع GetText برای اضافه کردن پشتیبانی i18n برای رشته های خود استفاده کنید.

مثال: دامنه متنی

کپی 

<?php
/**
 * Set up My Child Theme's textdomain.
 *
 * Declare textdomain for this child theme.
 * Translations can be added to the /languages/ directory.
 */
function twentyfifteenchild_theme_setup() {
	load_child_theme_textdomain( 'twentyfifteenchild', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'twentyfifteenchild_theme_setup' );

در این مرحله، رشته‌ها در طرح زمینه فرزند برای ترجمه آماده هستند. برای اطمینان از بین المللی سازی مناسب برای ترجمه، هر رشته باید دارای twentyfifteenchild textdomain باشد.

مثال: توابع gettext

در اینجا نمونه ای از تکرار عبارت “رمز شعر است” است:

کپی 

<?php esc_html_e( 'Code is Poetry', 'twentyfifteenchild' ); ?>

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

رمز شعر است

منبع:

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *