wordpress- وردپرس

افزودن Theme activation / deactivation Hook

در وردپرس اکشن های زیادی برای developer ها موجوده که میتونه برای استفاده از اونها در بهتر کردن تم ها یا نوشتن پلاگین ها مورد استفاده قرار بگیره. ولی جای یکی از اونها خالیه که شاید یکی از به دردبخورترین ها هم باشه. شاید در نسخه های بعدی وردپرس اون رو اضافه کنن. ولی تا اون موقع ما مجبوریم خودمون دست بکار شیم و این اکشن رو ایجاد کنیم. کاری که میخوایم بکنیم نوشتن تابعی هست که در هنگام فعال کردن یا تعویض تم فراخوانی بشه.

در تئوری ما چطور میتونیم اینکار رو انجام بدیم؟ ما میتونیم یک مقدار به عنوان Flag رو در دیتابیس ذخیره کنیم با دستور add_option . این مقدار موقعی که اولین دستورات اجرا شدن می تونه اضافه شه. فایل functions.php از اولین فایلهایی است که در هنگام لود شدن وردپرس فراخوانی میشه. پس اول از همه چک می کنیم که یک مقدار خاص توی دیتابیس وجود داره یا نه. پس اگه اون مقدار وجود نداشت تم برای اولین باره که داره لود میشه و دستورات functions.php برای اولین باره که داره اجرا میشه. پس تم همین الان Activate شده.

اگه بخواهیم دستوراتی که بصورت تئوری گفتیم رو در عمل بیاریم همچین کدی میشه.

ما یک تابع تعریف کردیم که ورودیش یک function هست که وقتی تم Activate شد فراخوانی میشه. در خط اول داخل تابع اومدیم مقدار Flag ی که تعریف کردیم رو خوندیم اگه مقدار از قبل وجود داشت که هیچ، یعنی تم از قبل فعال شده است. اگه وجود نداشت یعنی تم داره برای اولین بار فعال میشه. بعدش میام مقدار فلگ رو به دیتابیس اضافه میکنیم. و تابعی که از ورودی دریافت شد رو اجرا می کنیم(فراخوانی می کنیم) با دستور call_user_func

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

در هنگام Activate شدن تم کدهای داخل تابع user_defined_func_name اجرا خواهد شد.

حالا رسیدیم به قسمت Deactivate شد تم. ما برای Deactive تم ورد پرس می تونیم براحتی از اکشن switch_theme استفاده کنیم . این اکشن موقعی که تم داره عوض میشه جزء آخرین توابعی هست که فراخوانی میشه. ولی چرا نمی تونیم به تنهایی از این تابع استفاده کنیم؟ چون باید اطلاعات (یا همون Flag) مربوط  به اکتیو کردن تم رو هم حذف کنیم. پس برای اینکار می آیم یه تابع به این صورت تعریف میکنیم

در ابتدا یه تابع تعریف کردیم و داخل اومدیم با تابع create_function یک تابع به صورت دستی ساختم که کار این تابع حذف Flag قبلی که موقع اکتیو شدن تم ست شده بود رو حذف کنیم و بدش به اکش switch_theme تابعی که از ورودی میاد رو متصل کردیم. نحوه ی استفاده از این تابع هم بدین صورته:

 

در انتها امیدوارم این چند تابع به کارتون بیاد و بتونید از اونا استفاده کنید. اگه سوالی داشتید در خدمتم :-)

 

wordpress- وردپرس

تغییر طول excerpt در ورد پرس | تغییر طول چکیده مطلب در وردپرس

تغییر طول excerpt در ورد پرس | تغییر طول چکیده مطلب در وردپرس

در سیستم مدیریت محتوای ورد پرس در ناحیه ی excerpt می توانیم خلاصه ای از نوشته مان را قرار دهیم تا مجبور نباشیم کل متن را در صفحه نمایش دهیم. طول اکسرپت – Excerpt- به صورت پیش فرض 55 کلمه است. اگر بخواهیم طول این خلاصه ی مطلب یا همان excerpt را کاهش یا افزایش دهیم میتوانیم از فیلتر excerpt_length  استفاده کنیم.

برای اینکار می توانیم از کد زیر استفاده کنیم. شما میتوانید این کدهای را در فایل functions.php استفاده کنید.

 

در خط اول تابع تغییر دهنده ی فیلتر را معرفی کرده ایم. در خطوط بعدی این تابع را پیاده سازی کردیم. خروجی تابع به عنوان مقدار تغییر یافته ی اکسرپت – excerpt – در نظر گرفته خواهد شد. شما می توانید بجای 120 هر عدد دلخواه دیگری را قرار دهید. این عدد نمایانگر تعداد کلماتی که در بخش excerpt نمایش داده می شوند است.

wordpress- وردپرس

پلاگین وردپرس تونل زمان – Time Tunnel

پلاگین وردپرس تونل زمان – Time Tunnel

با سلام

چند روز پیش پلاگینی واسه وردپرس نوشتم به اسم تونل زمان

کار پلاگین بدین صورته که وقتی نصبش می کنید یه ویجت به لیست ویجتهاتون اضافه میشه و وقتی روی ساید بار بذاریدش براتون لیست کلیه مطالبی که در سالهای قبل در این تاریخ داشتید رو بیاره نمایش بده

خروجی ویدجت یه تگUL با کلاس timetunnel داره که میتونید بهش سی اس اس اعمال کنید

پلاگین رو میتونید از بخش پلاگین سایت WordPress.org دانلود و استفاده کنید

سورس هم همونجا موجوده

 آدرس دانلود پلاگین