قلب وردپرس | آموزش جامع
2.14K subscribers
430 photos
77 videos
185 files
388 links
مرجع تخصصی آموزش وردپرس
گروه تخصصی : @woordpressi
اینستاگرام : codin.uni

https://www.youtube.com/channel/UCIR5ArWUlRKlE46c3qi0j3g?sub_confirmation=1

‼️جهت ارتباط با ما و ارسال درخواست خود از طریق ربات زیر اقدام نمایید :
🆔 @pv3az_bot
Download Telegram
#آموزشی #تکه‌کد #ترفند #اختصاصی‌قلب‌وردپرس #درخواستی‌

📌 تنظیم تصویر دلخواه به عنوان آواتار کاربر و جلوگیری از استفاده gravatar

وردپرس برای اواتار کاربران به منظور نمایش پروفایل کاربران در دیدگاه ها و... از سیستم gravatar استفاده میکند، به این منظور اگر میخواهید یک تصویر دلخواه بعنوان آواتار کاربر انتخاب کنید.

کافیست کد زیر را در فایل فانکشن قالب بذارید و لینک عکس رو درجای نشان شده قرار دهید :


add_filter( 'avatar_defaults', 'md_avatar' ); 
function md_avatar ($avatar_defaults) {
$myavatar = 'Image URL';
$avatar_defaults[$myavatar] = "Default Gravatar";
return $avatar_defaults;
}

به همین سادگی ماجرا تموم شده و شما یک تصویر دلخواه برای اواتار های کاربران سایتتون انتخاب کردید 😉

@wpheart
wpheart.ir
#آموزشی
زمپ رو روی سیستمتون نصب کردید و تداخل پورت دارید؟ هرکار میکنید استارت نمیخوره و خطا میده؟

به سادگی پورت های نرم افزارهای زمپ رو تغییر بدید و کارتون رو شروع کنید 😉


👈 مشاهده پست

https://wpheart.ir/?p=3321


@wpheart
Please open Telegram to view this post
VIEW IN TELEGRAM
#آموزشی #تکه‌کد #ترفند #اختصاصی‌قلب‌وردپرس
📌 نمایش موجودی محصولات براساس ویژگی خاص
🖌 در این پست از قلب وردپرس میخوایم بهتون آموزش بدیم که چطور میتونیم موجودی محصولاتمون رو براساس ویژگی مورد نظرمون نمایش بدیم.
بعنوان مثال یک محصول داریم که ویژگی سایز دادیم بهش و میخوایم موجودی محصولات براساس ویژگی سایز نمایش داده بشه.

در مرحله اول یک تابع باید بنویسیم که موجودی محصولات براساس ویژگی مورد نظرمون رو نمایش بده، پس مینویسیم :
function md_display_stock($product_id, $attribute_slug) {
$terms = wp_get_post_terms( $product_id, 'pa_' . $attribute_slug );
if ( !empty($terms) ) {
$term = current($terms);
$term_id = $term->term_id;
$stock = get_post_meta( $product_id, '_stock_' . $term_id, true );
echo 'موجودی این محصول : ' . $stock;
    }
}
در مرحله بعد میخوایم یک فیلتر بنویسیم که کار رو تموم‌کنیم.

به منظور خلاصه کردن پست و جلوگیری از طولانی شدن پست خلاصه نویسی شده

مرحله دوم هم به شکل زیر مینویسیم :
add_filter( 'woocommerce_before_single_product_summary', 'md_show_stock', 10 );
function md_show_stock() {
global $product;
$product_id = $product->get_id();
$attribute_slug = 'size'; md_display_stock( $product_id, $attribute_slug );
}
و در این مرحله کار تموم شده و ما موجودی محصولاتمون رو بر اساس ویژگی های مورد نظرمون نمایش میدیم!
در این مثال ما موجودی رو بر اساس سایز محصولات نمایش دادیم که شما میتونید با توجه به نیازتون کد رو شخصی سازی کنید😉

سوالی داشتید کامنت کنید!

@wpheart
#آموزشی #اختصاصی #sql
آموزش تغییر مقادیر متاباکس ها ( فیلد های دلخواه ) نوشته ها از دیتابیس
🖌 شاید برایتان پیش آمده باشد که یک سایت داشته باشید با تعداد نوشته های بالا، و در متاباکس های نوشته ها ادرس خاصی را نوشته باشید.
به عنوان مثال یک سایت موزیک را در نظر بگیرید که برای باکس دانلود هر اهنگ لینک دانلود را قرارداده است.
حال در خوشترین حالت باید دید که ادرس هاست دانلود را عوض کرده و از ادرس dl.domain.tld به file.domain.tld منتقل شده است!
در این شرایط همه لینک های باکس دانلود خطای ۴۰۴ خواهند داد! چرا که با ادرس قبلی ست شده اند.
در این شرایط هیچ جای نگرانی نیست! کافیست به دیتابیس سایت دسترسی پیدا کنید از طریق phpmyadmin و پس از انتخاب دیتابیس مورد نظر از فهرست ابزار های آن گزینه sql را انتخاب کنید و دستور زیر را درون آن بنویسید و کلید go را بزنید!

UPDATE wp_postmeta SET meta_value = REPLACE (  meta_value,  'https://dl.domain.tld',  'http://file.domain.tld');

منتظر بمانید تا پیغام موفقیت آمیز بودن را دریافت کنید!
‼️قبل از هرکاری یک نسخه پشتیبانی از دیتابیس خود دریافت کنید!
📍این پست بصورت اختصاصی منتشر شده است و رعایت حق کپی رایت آن نشانه شخصیت شما خواهد بود.

دانش،نابود کننده نادانی است ( امام علی علیه السلام )
قلب وردپرس را حمایت کنید 🌹
@wpheart
#آموزشی #بدانیم #ترفند
🔅نمایش لیست فایل های موجود در محصول دانلودی ووکامرس

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

$files = $product->get_files();
foreach($files as $key => $dls){
echo '<a href="'.$dls["file"].'">'.$dls["name"].'</a>';
}


📍با کمی خلاقیت میتوانید با این لیست فایل ها باکس دانلود و... حرفه ای طراحی کنید تا درصورتی که کابر محصول را خریداری کرد، فایل هارا از طریق باکس دانلود در صفحه محصول دانلود نماید.

👈 حرفه‌ای یادبگیر، حرفه ای کار کن


همراه ما باشید
@wpheart
instagram.com/codin.uni
#آموزشی #اختصاصی‌قلب‌وردپرس #درخواستی‌ #معرفی‌تابع #تابع #تکه‌کد #شرط‌درphp
🔅حذف یک پست در زمان مشخص در وردپرس ( انجام یک عملیات در php )

🖌همانطور که در عنوان مطلب ذکر شد، در این مطلب درخدمت شما هستیم با آموزش کار با تابع زمان و توابع حذف نوشته در وردپرس و پیاده سازی یک شرط در وردپرس برای حذف یک نوشته و همچنین پیاده سازی یک شرط در php برای اقدام به یک عملیات.
👈 در ادامه آموزش با ما همراه باشید :

در مرحله اول آموزش تابع عملیاتی و کم کاربرد اما حرفه ای
wpdeletepost()
را به شما معرفی میکنیم، این تابع ۲ مقدار را درخود جای میدهد که مقدار اول شناسه پست و مقدار دوم نحوه حذف سریع است که میتواند برابر با مقادیر true یا false باشد.

نحوه استفاده از این تابع به شکل زیر میباشد :

wp_delete_post($post_id, true);

خب تا به اینجا میبایست از روش استفاده و عملکرد این تابع مطلع شده باشید.
در صورتی که میخواهید یک پست را در زمان مشخص حذف نمایید ، میبایست زمان فعلی را به کمک تابع date() دریافت نمایید و در یک متغیر ذخیره کنید ( میتوانید خود تابع را در شرط قرار دهید، در این آموزش ما برای مرتب و قابل فهم بودن، زمان را ذخیره میکنیم )
به شکل :
$time = date('H:i');

خب ما زمان را با فرمت ساعت:دقیقه به عبارت عددی مانند :
11:50
در متغیر ذخیره کردیم ، حالا میتوانیم شرط را برقرار کنیم :
$time = date('H:i');
$post_id = 12;
if($time == "22:00"){
wp_delete_post($post_id, tru);
}


در این تکه کد، در ساعت ۲۲ پست با شناسه ۱۲ را بصورت خودکار حذف خواهیم کرد.
❗️درصورت استفاده از این تابع زمان میبایست بر روی فایلی که این کد نوشته شده ، کرون جاب تنظیم کرده باشید ، در غیر اینصورت عمل نخواهد کرد.

👈 در مرحله دوم آموزش اقدام به عملیات را در یک فایل php خواهیم آموخت که دقیقا مشابه مرحله اول است با این تفاوت که درصورت برقراری شرط ، کدهای دلخواه را خواهیم نوشت.
مثال :

$time = date('H:i');
if($time == "23:00"){
// کدهای مورد نیاز خود را برای انجام در ساعت ۲۳ در این بخش وارد کنید.
}


📍به اینصورت میتوانید یک عملیات مدیریت زمانی شده را اجرا نمایید.

‼️درصورت استفاده از هر دو روش میبایست کرون جاب را بر روی فایلی که کد های خمد را مینویسید تنظیم کنید بر روی هر ۱ دقیقه.
‼️حتما بررسی کنید که زمان سرور شما با زمان منطقه محلی ( تهران ) برابر باشد.
‼️درصورت بروز هرگونه سوال و‌مشکل از طریق دیدگاه ها با ما در ارتباط باشید.

#لطفا درصورت کپی برداری از مطلب منبع آن را @wpheart درج نمایید.


قلب وردپرس را حمایت کنید 🌹
@wpheart
📝عنوان : نمایش پیغام به خریداران محصول وکامرس
درسته بندی : آموزشی | تکه کد ها
🆔 شناسه : 2511
👤نویسنده :مرتضی پارسا

#آموزشی #اختصاصی

📎برای مشاهده مطلب روی دکمه مشاهده مطلب بزنید

قلب وردپرس
@wpheart
Forwarded from قلب وردپرس | آموزش جامع (HOUNIYA ©)
#آموزشی #css #شخصی‌سازی

📑 استایل دهی به لینک ها بر اساس فایل هدف آنها

📝 پیش گفتار : لازم است بدانید که زیبایی سایت و طرح دلنشین و همه چیز تمام سایت و البته مهم تر از بقیه در دسترس بودن محتوای سایت کمک زیادی به جذب کاربر میکنه! از این رو با استفاده از برخی ترفند ها شما میتونید سایتتون رو به سادگی زیبا سازی کنید😉 در ادامه قطعه کد css به شما معرفی خواهم کرد که با استفاده از آن میتوانید به لینک های موجود در سایت خود با توجه به فایل های هدف ( zip,pdf,mp3,mp4,dox,&...) استایل بدید و برای هر یک آیکن خاصی در نظر بگیرید! پس همراه من باشید با این آموزش 😉
🖌 قطعه کدی که ازش حرف میزنیم به شکل زیر نوشته میشه که توضیحات مربوطه رو در ادامه خواهم گفت :

a[href$='.zip'] {
  padding: 0 20px 0 0;
  background: transparent url(/images/zip.png) no-repeat center right;
}


📍 در مثال بالا ما به قالب فهماندیم که اگر لینکی که در تگ a قرار گرفته است، هدفش یک فایل با پسوند zip بود، ایکن مربوطه رو در سمت چپ اون لینک نمایش بده !
📍 منظور از لینک هدف درواقع لینک مستقیمی است که در قالب لینک قرار داده شده است. بعنوان مثال برای کد بالا لینکی صدق میکند که به شکل زیر باشد
http://houniya.ir/files/test/learn.zip

📌 شما میتوانید با کپی کردن این کد پسوند های دیگر را شخصی سازی کنید


با آموزش های بیشتر و تخصصی تر همراه ما باشید 🌹

قلب وردپرس را به دوستان خود معرفی کنید 😉

@wpheart
@wpheart
@wpheart
📝عنوان : نمایش مطالب مرتبط بین نوشته های وردپرس
درسته بندی : آموزشی | تکه کد ها
🆔 شناسه : 2990
👤نویسنده :مرتضی دریوژه

#آموزشی #اختصاصی

📎برای مشاهده مطلب دکمه مشاهده مطلب بزنید

قلب وردپرس
@wpheart
#آموزشی #اختصاصی‌قلب‌وردپرس

📌 باکس دانلود حرفه‌ای با ایجکس
برای سایتتون یک باکس دانلود حرفه‌ای بسازید و سایتتون رو کاربرپسندتر کنید
این ویدیو آموزشی رو از یوتیوب ما ببینید 👇👇👇

مشاهده ویدیو آموزشی

کانال رو ساب کنید

@wpheart
Please open Telegram to view this post
VIEW IN TELEGRAM
#آموزشی #تکه‌کد #اختصاصی #درخواستی‌اعضا
تهیه خودکار بک اپ از هاست توسط کد php
🖌از آنهایی که تهیه بک اپ جزو حیاتی ترین امکاناتی هست که یک سرویس دهنده میزبانی به مشتریان خود ارائه میدهد، با اینحال بسیاری از سرویس دهنده ها این مورد را بصورت دقیق ارائه نمیدهند.
گاها مشاهده شده سرویس دهنده های بنام نیز از تهیه بک اپ سر باز میزنند و برای مدیر سایت ها مشکلات جدی پیش می‌آید‌.
بهترین کار در این مواقع برای احتیاط تهیه بک اپ توسط خود شماست که نیازتان را در این رابطه به سرویس دهنده وابسته نکنید!
🔅با استفاده از فایل فوق شما میتوانید توسط کرون‌جاب ، تنظیم کنید که در چه ساعاتی و چه روزهایی از کل سرویس شما بک اپ گرفته شود و یا حتی آن را در هاست دیگری اپلود نمایید.
نیازی به ورود روزانه برای تهیه بک اپ نیست و شما با خیال راحت میتوانید از این امکان بهره مند شوید.
نحوه استفاده و اجرا :
فایل فوق را دانلود و در پوشه ریشه هاست خود
home/user/
اپلود نمایید، به صورتی که ادرس فایل به شکل زیر باشد :
home/username/autobc.php

سپس به بخش تنظیمات کرون‌جاب مراجعه نمایید و تنظیمات مربوطه مورد نظر خود را انجام دهید ( انتخاب زمان و تعداد اجرا )
سپس در کادر مربوط به دستورات ، دستور زیر را قرار دهید :

php -q /home/username/autobc.php

❗️به جای username نام کاربری هاست خود را وارد کنید ( نام را در صفحه اصلی کنترل پنل میزبانی در ستون سمت راست مربوط به اطلاعات سرویس میتوانید ببینید و یا در فایل منیجر قابل مشاهده است )
به این صورت در زمان تنظیم شده، این فایل اجرا و از هاست شما فول بک اپ تهیه خواهد کرد!

📍اطلاعات مورد نیاز را درون فایل قرار دهید.
📍درصورت وجود هرگونه سوال ، لطفا در بخش دیدگاه ها نظرات و سوال خود را درج نمایید.

📥 دانلود فایل بک اپ گیر خودکار

قلب وردپرس را حمایت کنید 🌹
@wpheart
#آموزشی #وردپرس_قورت_بده

🔅دریافت آیپی کاربر زمان ثبت سفارش

🖌 خب این آموزش به چه دردی میخوره؟!
فرض کنید شما یک فروشگاه فایل دارید و میخواید کاربر فقط با سیستمی که موقع خرید وارد سایت شده بتونه در اینده پنل کاربریش رو چک کنه، و یا میخواید برای امنیت بیشتر با استفاده از ایپی کاربر تمهیداتی رو پیاده کنید.

توی این آموزش قصد دارم تا به کمک یک تایع کوچک این امکان رو برای سایت شما فراهم کنم .

کدی که مینویسیم به شکل زیر خواهد بود :

function get_userip(){
$order = wc_get_order($order_id);
$user_id = $order->get_user_id();
if($order->get_customer_ip_address()){
update_user_meta($user_id,'user_ip',$order->get_customer_ip_address());
}
}
add_action('woocommerce_thankyou','get_userip');


همانطور که مشخص هست ایپی کاربر در یک متا با شناسه user_ip ذخیره میشود که میتوانید به کمک توابعی مثل get_user_meta و توابع مشابه موجود، از آن استفاده کنید.


موفق باشید 🌹
#آموزشی #اختصاصی‌قلب‌وردپرس
نمایش لیست دسته بندی ها ( تکسنومی ها ) از پست تایپ های اختصاصی

🖌 اگر توی سایتتون از پست تایپ های اختصاصی استفاده میکنید و میخواید تکسنومی های اون پست تایپ رو در قسمتی از سایتتون نمایش بدید میتونید از روش زیر استفاده کنید، توجه کنید به جای taxonomy_id باید شناسه تکسنومی مورد نظرتون رو بنویسید.
<?php 
$args = array(
'taxonomy' => 'taxonomy_id',
'orderby' => 'name',
'order' => 'ASC' );
$cats = get_categories($args);
foreach($cats as $cat) { ?>
<a href="<?php echo get_category_link( $cat->term_id ) ?>"> <?php echo $cat->name; ?> </a>
<?php }
?>
این کد رو در هر قسمتی که نیاز داشتید قرار بدید، توجه کنید میتونید ارگومان های دلخواهتون رو هم قرار بدید، مثلا نمایش یا عدم نمایش دسته بندی هایی که نوشته دارن یا خیر، نمایش تعداد مطالب موجود در دسته بندی و....

#موفق‌باشید

@wpheart
#آموزشی #اختصاصی‌قلب‌وردپرس #تابع‌ #تکه‌کد #ترفند
📌 چگونه چکیده مطالب سایت را از محتوای نوشته نمایش دهیم
🖌 سلام، اگر دارید یک قالبی طراحی میکنید که بر اساس یک اصول و قوائدی میخواید باشه که از هرنظر بهینه باشه احتمالا نیاز دارید که مختصری از محتوای نوشته رو در بخش مربوطه نمایش بدید، ممکنه به این نتیجه برسید که اگر مشتری، کاربر و... باکس چکیده ( خلاصه ) نوشته رو خالی بذاره استایل قالب بهم بریزه و ظاهر کار زشت بشه
توی این آموزش به معرفی تابع has_excerpt میپردازیم و با یک تکه کد کوتاه، چکیده نوشته رو از محتوای اون نمایش میدیم.

تابع فوق بصورت شرطی نوشته شده و استفاده میشه ازش برای مواقعی که میخوایم چک کنیم آیا یک نوشته چکیده ( خلاصه ) داره یا نه، مقداری که این تابع برمیگردونه بصورت بولین هست که با true یا false حاصل میشه.

برای انجام اینکار کافیه جایی که میخواید خلاصه نوشته رو نمایش بدیم کد زیر رو بنویسیم :

if ( has_excerpt() ) {     
the_excerpt();
} else {      
echo substr(get_the_content(), 0, 200) . " read more..";
}


در مرحله اول چک کردیم که آیا خلاصه نوشته شده یا نه، اگر نوشته شده بود که همون خلاصه رو نمایش بده، اگر نوشته نشده بود از محتوای نوشته به اندازه ۲۰۰ کاراکتر نمایش بده، مقدار اول که ۰ هست ابتدای شروع تعداد کاراکتر رو تعیین میکنه و مقدار دوم که توی مثال بالا ۲۰۰ هست تعداد کاراکتر رو.
مثلا ما بخوایم از وسط محتوا بنویسیم ، به شکل زیر مینویسیم ( اعداد مثال هستن )

substr(get_the_content(), 300, 150)

موفق باشید

@wpheart
#آموزشی #تکه‌کد #تخصصی #اختصاصی‌قلب‌وردپرس #درخواستی‌ #باتوابع‌دوست‌باشیم #قلاب‌ها #قلب‌وردپرس

🔅 آموزش اضافه کردن پسوند و پیشوند به شناسه سفارشات ووکامرس
🖌 باسلام، در این ساعت از دانشگاه قلب وردپرس در خدمت شما دوستان گرامی هستیم با آموزش « اضافه کردن پسوند یا پیشوند به شناسه سفارشات ووکامرس »
شاید برای شما هم پیش آمده باشد که نیاز داشته باشید تا اول یا انتهای شناسه سفارش های سایت خود، یک عدد را وارد کنید.
📍مثال : دیجی کالا برای سفارشات خود، اول کد های سفارش کلمه DGC را قرار داده است.

خب برای انجام اینکار فقط کافیست تکه کدی را که در ادامه به شما ارائه میشود درون فایل فانکشن قالب خود قرار دهید!
به همین سادگی😊
function wpheart($order_id){
$pish = 'WP';
$pas = 'HEART';
$new_id = $pish . $order_id . $pas;
return $new_id;
}
add_filter( 'woocommerce_order_number', 'wpheart' );
با قرار دادن کد فوق، از این پس شناسه سفارشات شما به شکل
WP1234567HEART
خواهد شد.
❗️شما میتوانید از کاراکتر های رندوم با استفاده از تابع rand() در متغیر های پسوند و پیشوند استفاده کنید.
مثال :
$pish = rand(aaaa,zzzz);

❗️با حذف هر یک از متغیر های پیشوند و یا پسوند ، در ابتدا و یا انتهای شناسه سفارش کاراکتری درج نخواهد شد.

‼️درصورت بروز هرگونه سوال و مشکل در رابطه با این مطلب، از طریق دیدگاه ها با ما در ارتباط باشید.
#لطفا درصورت کپی برداری از مطلب،منبع را @wpheart درج نمایید.


قلب وردپرس را حمایت کنید 🌹
@wpheart
#آموزشی #ترفند
📌 تغییر لینک صفحه بدون بارگزاری مجدد صفحه به کمک یک تکه کد جاوا‌اسکریپت

🖌 اگر شماهم درحال توسعه و یا طراحی اختصاصی یک قالب یا افزونه و... هستید و بصورت ایجکس درخواست هایی رو به بک‌اند سایت ارسال میکنید و میخواهید که پس از دریافت پاسخ و یا با کلیک بر روی یک دکمه و.. بدون لود مجدد صفحه لینک صفحه را در نوار مرورگر تغییر بدید فقط کافیست از تکه کد زیر استفاده کنید :

<script> 
window.history.pushState('','','urlslug');
</script>
به این ترتیب کلمه urlslug بدون لود مجدد صفحه در ادامه لینک سایت شما نمایش داده خواهد شد.

@wpheart
#آموزشی #اختصاصی #درخواستی‌اعضا
📌 ایجاد تخفیف خودکار در سبد خرید با توجه به مبلغ کل سبد خرید

🖌 اگر درحال فروش محصول در سایت خودتون هستید و میخواید تخفیف های هوشمندانه‌ای برای سایتتون درنظر بگیرید و نمیخواهید از افزونه ها استفاده کنید، میتونید از کد زیر در فایل functions.php قالبتون استفاده کنید.
add_action( 'woocommerce_cart_calculate_fees', 'md_discount', 10, 1 );
function md_discount( $cart ) {
if ( is_admin() && !!defined( 'DOING_AJAX' ) )
return;
$discount = 0;
$cart_total = $cart->get_subtotal();
if ( $cart_total >= 1000000 && $cart_total < 2000000 ) {
$discount = $cart_total * 0.1;
} elseif ( $cart_total >= 2000000 && $cart_total < 3000000 ) {
$discount = $cart_total * 0.2;
}
if ( $discount > 0 ) {
$cart->add_fee( __('تخفیف', 'woocommerce'), -$discount );
}
}
📌 در کد بالا اگر مبلغ کل سبد خرید بین ۱ تا ۲ میلیون باشد ۱۰ درصد تخفیف و اگر بین ۲ تا ۳ میلیون تومان باشد ۳۰ درصد تخفیف لحاظ خواهد شد.


موفق باشید

@wpheart
#آموزشی #تخصصی #تکه_کد #ترفند
🔅آموزش حذف کلمه category از لینک مطالب
🖌برای انجام این کار چندین راه وجود دارد که چند راه آن را به شما خواهیم آموخت!
1⃣ : حذف از طریق تنظیمات -› پیوندهای یکتا
2⃣ قراردادن تکه کد در فایل فانکشن
3⃣ استفاده از افزونه ها!

در این آموزش ، ۲ تکه کد را به شما معرفی میکنیم که به سادگی میتونید این کار رو انجام بدید!

کد شماره یک :
function remove_cat(){
if($type != 'single' && $type == 'category' && (strpos($string, 'category') !== false)){
$url = str_replace("/category/", "/", $string);
return trailingslashit($url);
}
return $string;
}
add_filter('user_trailingslashit, 'remove_cat', 100, 2);

کد شماره دو :
function rem_cat(){
unset($GLOBALS['wp_rewrite']->extra_permastructs['category']);
}
add_action('init', 'rem_cat');

سوالات و مشکلاتتون رو کامنت کنید 😉

قلب وردپرس را حمایت کنید 🌹
@wpheart