سیاره وردپرس فارسی

غیر فعال کردن واقعی نظر خواهی در Wordpress

در تاریخ ۳۱ فروردین ۱۳۸۴ توسط افشین فلاطونی

کاربرانی که از سیستم مدیریت محتوای Wordpress استفاده می کنند به خوبی می دانند که به آسانی و تنها با ۱ کلیک ماوس می توان امکان نظرخواهی برای یک پست را غیر فعال کرد . اما همان طور که حتما متوجه شده اید حتی پس از غیر فعال کردن نظرخواهی ، باز هم لینک نظرخواهی باقی می ماند و زمانی که بازدیدکننده بر روی لینک کلیک کند با پیام ” امکان نظر دادن برای این پست بسته شده است ” مواجه می شود و این یعنی سرکار رفتن و اتلاف وقت بازدیدکننده . اما خوشبختانه این مشکل با یک پلاگین و یک تغییر ساده در فایل index.php قابل حل می باشد . برای این منظور ابتدا پلاگین مربوطه را از اینجا دانلود کرده و فایل smartcomments.php را در داخل فولدر Plugin وردپرس آپلود کنید . سپس در کنترل پنل وردپرس از طریق لینک Plugins ، پلاگین مربوطه را Active کنید و در نهایت فایل index.php را که در مسیر wordpress\wp-content\themes قرار داد باز کرده و عبارت comments_popup_link را در آن بیابید و با عبارت smart_comments_popup_link جایگزین کنید .
تمام شد . از این پس اگر امکان نظرخواهی را برای پست به خصوصی غیر فعال کنید لینک نظر دادن نیز از انتهای آن پست حذف می شود .

اوضاع داره بهتر می شه

در تاریخ ۳۰ فروردین ۱۳۸۴ توسط مانی

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

دیشب تا صبح بیدار بودم ، نزدیک های صبح بود که آرشیو (ماهانه ، روزانه ، پست به پست ، … ) شمسی برای وردپرس بدون اشکال کار کرد … این پروژه هم داره به آخراش نزدیک می شه ! خیلی مشتاقم که زود تر تموم شه .

مشکل وردپرس رو پیدا کردم!

در تاریخ ۲۱ فروردین ۱۳۸۴ توسط مانی

این کار پروژه تاریخ وردپرس خیلی بیشتر از اون چیزی که فکر می کردم کار برد! تو این تعطیلات چند روزه تصمیم گرفته بودم دیگه کار رو تموم کنم ، اصلا فکر نمی کردم که بتونم تاریخ وردپرس رو کامل شمسی کنم ولی مثل این که داره می شه … !
بزرگترین مشکل آرشیو وردپرس بود که اون حل شده . تو وردپرس ۱.۵ با یه پلاگ-این و تو وردپرس ۱.۲ با یه خط Hack و همون پلاگ-این ، برعکس اون چیزی که فکر می کردم تو وردپرس ۱.۵ نیازی به تغییر متن نیست و پلاگ-این به تنهایی جواب می ده. نکته بسیار هیجان انگیز اینه که پلاگ-اینی که نوشتم(و امیدوارم به زودی منتشر بشه) ساختار permalink ها رو هم کاملا شمسی می کنه یعنی کسایی که می خوان برای سازگاری با موتورهای جستجو از URL-Rewriting استفاده کنن هم مشکلی نخواهند داشت.

و اما مشکل وردپرس … تو این پست گفته بودم که تو وردپرس ، توابع پلاگ-این ها به آرگومان های تابع اصلی دسترسی ندارن ، برای همین هم بهتره قالب هامون رو تغییر بدیم ، ولی تو این چند روز این قدر تو کد وردپرس شنا کردم که فهمیدم قرار بوده موتور مدیریت قالب های وردپرس ۱.۵ ، آرگومان ها رو به توابع بده ولی به خاطر چند تا اشتباه برنامه نویسی در اصل نمی ده !!!

به قدری هیجان زده بودم که نمی دونستم باید چی کار کنم ، مخصوصا وقتی تونستم مشکل رو حل کنم ! (دقت کنید وردپرس ۱.۲ اصلا چنین قابلیتی نداره) … این اشکالات و تصحیح خودم رو امروز به یکی از برنامه نویسای اصلی وردپرس یا به یکی از فروم هاش میل می کنم تا مطمئن بشم که اشتباه نکردم. نتیجه اش رو همین جا بلاگ می کنم.

اگه کسی می تونه تو کد تقویم شمسی(تو چارچوب قالب و استاندارد وردپرس) کمکم کنه لطفا با من تماس بگیره تا این بسته شمسی سازی وردپرس زودتر منتشر شه.

برای دیدن متن نامه که حاوی توضیحات مشکل هست اینجا رو ببینید.


خودم می نویسم ، خودم جواب می دم !

تو این چند ساعت که خوب در مورد مشکل وردپرس گشتم ، فهمیدم که این مشکل قبلا مطرح شده (حدود ۴۰ روز پیش) و اینجا ، بعدش چند تا patch هم منتشر شد دربارش و الان که دارم متن تابع تو ورژن ۱.۵.۱ alpha رو نگاه می کنم می بینم این مشکل حل شده ! البته راه حل خودم بهتره ولی اون ها راه حل ها کلی تری رو انتخاب کردن ! (متن تابع جدید apply_filters)

برای بسته شمسی سازی وردپرس برای ورژن ۱.۵ هم یه patch هم می ذاریم ! ورژن ۱.۵.۱ هم که دیگه این مشکل رو نخواهد داشت …

مشکلات فارسی سازی وردپرس

در تاریخ ۱۰ فروردین ۱۳۸۴ توسط مانی

وقتی سعی کردم توابع شمسی سازی برای وردپرس ارائه بدم، هیچ وقت فکر نمی کردم برای این همه آدم مهم باشه … تو همین چند روز چه از طربق کامنت ها ، چه از طریق فوروم ها وچه از طریق ای-میل نظرات زیادی در  رابطه فارسی سازی وردپرس مطرح شد، مخصوصا وقتی wp.corelist.net رو دیدم و تلاش های بی نقصشون در رابطه با بومی سازی وردپرس ۱.۵ رو مشاهده کردم. این فکر تو ذهنم شکل گرفت که تقویم و آرشیو وردپرس رو هم شمسی(خورشیدی) کنم.

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

خوشبختانه در مورد تقویم شمسی مشکل خاصی وجود نداره می تونم بگم اگه مشکل خاصی پیش نیاد می تونم تو چند روز آینده تمومش کنم، ولی در مورد آرشیو مشکلات خیلی بزرگه!

وردپرس برای نشون دادن پست ها و یا آرشیوها متد خیلی ساده و کارایی رو به کار می بره، برای نشون دادن یک پست توی Query String  یک عبارتی مثل ?p=xxx به وردپرس می فهمونه که باید پستی رو نشون بده که id اون توی دیتابیس xxx هست ، برای آرشیو هم به این صورت عمل می کنه که توی Query String عبارت ?m=yyyymmddhhmmss به وردپرس می گه که تمام پست های سال yyyy ماه mm روز dd ساعت hh دقیقه mm و ثانیه ss رو نشون بده ! البته همه ۱۴ کاراکتر الزامی نیستند مثلا اگر فقط از yyyy استفاده کنید یعنی نمایش آرشیو سال yyyy و یا اگر فقط از yyyymm استفاده کنید یعنی فقط آرشیو سال yyyy و ماه mm اون سال ، فکر کنم به قدر کافی روشن باشه که چرا نمی شه آرشیو وردپرس رو شمسی کرد، چون ما با این سیستم فعلی نمی تونیم به وردپرس بگیم که ما آرشیو یه ماه شمسی رو می خوایم .

قبل از این که راه حل خودم رو بگم یه توضیح دیگه هم بدم ، منظور از شمسی سازی وردپرس به هیچ وجه این نیست که ما باید معماری وردپرس  رو به نفع تاریخ شمسی تغییر بدیم ، کل کار ما باید این باشه که ظاهر رو برای کاربر فارسی زبان و ایرانی راحت تر باشه … کسایی که می گن نمیشه permalink ها رو شمسی کرد کاملا حق دارن . ما باید سعی کنیم یک لایه مبدل برای شمسی سازی interface وردپرس ارائه بدیم نه این که core وردپرس رو تغییر بدیم …

تنها راه حلی که برای آرشیو به ذهن من می رسه دست کاری متن(source) وردپرس از طریق شرکت در توسعه اونه تا بتونیم یه کم قوانین اون رو generalize تر کنیم ، مثلا می تونیم دو عبارت دیگه رو برای Query String های وردپرس تعریف کنیم، درکنار m که فقط تاریخ شروع رو می گیره ما می تونیم ms , me رو اضافه کنیم تا تاریخ شروع و پایان رو بگیرند! این کار به راحتی از طریق تغییر متن وردپرس و ثبت رسمی اون امکان پذیره! با این کار ما چیزی رو به وردپرس اضافه می کنیم که معماریش رو تغییر نمی ده بلکه اون رو کلی تر و کارا تر می کنه. برای نشون دادن ماه اردیبهشت ۱۳۸۴ اون وقت کافیه این عبارت رو به کار ببریم ?ms=۲۰۰۵۰۴۲۱&me=۲۰۰۵۰۵۲۲.

تا حالا CVS کار نکردم ، ولی امیدوارم سخت نباشه. لطفا اگه نظری دارید از من دریغ نکنید.

تاریخ شمسی(خورشیدی) برای وردپرس

در تاریخ ۸ فروردین ۱۳۸۴ توسط مانی


نسخه ۲ این پلاگ - این منتشر شد، برای اطلاعات بیشتر این صفحه را ببینید.

این اولین پلاگ-این(Plugin)هست که برای وردپرس نوشتم ،  فکر می کنم این plugin  یکی از نیازهای اساسی کاربران فارسی زبان وردپرس باشه،  من در واقع برای نوشتن اون زیاد هم زحمت به خرج ندادم! هسته اصلی این plugin توابع شمسی سازی تاریخ باPHP هست که توسط farsiweb.info تحت لیسانسLGPL منتشرشده، آقای میلاد راستیان هم زحمت کشید و یک تابع مثل date تو PHP برای تاریخ شمسی نوشت، پروژه ای به نام jdf. کاری که من کردم این بود که از با استفاده از jdf توابعی برای خورشیدی کردن تاریخ تو وردپرس نوشتم، هدف من اینه که همه فارسی زبونی هایی که از وردپرس استفاده می کنند  بتوننن تاربخا رو شمسی کنن ، واسه همین دو تا کار رو با هم انجام دادم(جلوتر توضیح می دم). به علاوه این که این plugin رو هر دو تا نسخه رایج وردپرس چک کردم.

برای نصب این پلاگ-این:

  1. فایل ها رو از اینجا داونلود کنید.
  2. فایل mps-jalalidate.php رو تو شاخه /wp-content/plugins تو شاخه وردپرس کپی کنید.
  3. از طریق قسمت مدیریت وردپرس و در بخش پلاگ-این ها ،Jalali Date for WordPress رو Activate کنید.
  4. تو همون قسمت مدیریت و تو بخش options->general فرمت های تاریخ و زمان رو طبق این جدول به دلخواه تنظیم کنید.

متاسفانه بستگی به ورژن وردپرس (۱.۲ یا ۱.۵) و یا تگ های template شما احتمالا کار به همین جا ختم نمی شه.
اگه وردپرس ۱.۲ باشه تاریخ کامنت ها شمسی نمی شه، چون تو وردپرس ۱.۲ فیلتری برای این کار در نظر گرفته نشده ، برای حل این مشکل به قسمت "کمی حرفه ای تر" نگاه کنید.
تو وردپرس ۱.۵ با این که مشکل کامنت ها حل می شه ،ولی اگه template شما بر اساس template اصلی وردپرس ۱.۵ساخته شده باشه ، شما احتمالا همه جا ساعت رو به جای تاریخ خواهید دید.

در واقع مشکل بر می گرده به معماری وردپرس و تگ های template اون ،وردپرس دو تا تگ اصلی برای تاریخ داره the_date و the_time ، توی template هر کدوم از این دو تا تگ می تونن ورودی برای format تاریخ یا زمان داشته باشن ولی پلاگ این ما به این format دسترسی نداره واز دو تا فرمتی که تو صفحه options->general برای تاریخ(the_date) و زمان(the_time) تنظیم می شه استفاده می کنه ، خوب پلاگ این ما وقتی فراخوانی می شن که هر کدوم از این template tag ها اجرا بشن، تو وردپرس ۱.۵ (متاسفانه)همه جا از the_time و با format string چه برای تاریخ و چه برای زمان استفاده کرده و این کار رو خراب می کنه ، برای حل این مشکل می تونین تو مدیریت وردپرس و در بخش options->general تنظیمات فرمت ساعت رو هم مثل تاریخ تنظیم کنید.

خوب پس چی کار باید کرد؟

شما باید به template تون نگاه کنید (تو وردپرس ۱.۵ به theme) اگه از تگthe_date استفاده شده مشکل زیادی نخواهید داشت ، کافیه تو صفحه options->general فرمت تاریخ رو طیق این جدول تنظیم کنید. اگه از the_time استفاده شده به قسمت "کمی حرفه ای تر" نگاه کنید.

کمی حرفه ای تر …

این مشکلاتی که تو وردپرس و تاریخش وجود داره خیلی راحت قابل رفعه ، من علاوه بر فیلترهای تاریخ برای وردپرس ،template tag های تاریخ و زمان شمسی رو نوشتم، تا با حدود صرف ۱۰ دقیقه وقت بشه راحت همه مشکلات قبلی رو رفع کرد؛ برای این کار

  1. فایل (های) template رو یک به یک باز کنید
    تو وردپرس ۱.۲ فایل های index.php و wp-commenst.php
    تو وردپرس ۱.۵ تمام فایل های شاخه theme  ای که استفاده شده
  2. تو هرکدوم هر جا هر کدوم از این تابع ها رو دیدن، (بدون تغییر هیچ چیز دیگه) فقط اسمشون رو مثل جدول زیر تغییر بدین.

the_date( -> the_jdate(
the_time( -> the_jtime(
the_weekday( -> the_jweekday(
the_weekday_date( -> the_jweekday_date(
comment_date( -> comment_jdate(
comment_time( -> comment_jtime(

پرانتز ها رو برای این نبستم که ممکنه هر کدوم از این تابع ها ، پارامتر داشته باشن،مهم نیست ، شما فقط اسمشون رو عوض کنید.

همین !

لطفا اگه این پلاگ این رو نصب کردین ، نظری دارید و یا به مشکلی برخوردید با من تماس بگیرید یا کامنت بذارین.

جدول فرمت های تاریخ و زمان :

فرمت خروجی مثال
A قبل‏ازظهر و یا بعدازظهر را نشان می دهد قبل ‏ازظهر - بعدازظهر
a ق.ظ و یا ب.ظ را نشان می دهد ق.ظ - ب.ظ
d چندمین روز از ماه را به صورت عدد دورقمی ۰۱ - ۰۲ - ۰۳ - … -۳۱
D نام روز هفته را با یک کلمه ی - د - … - ج
F نام کامل ماه فروردین - اردیبهشت - … - اسفتد
g نمایش ساعت به صورت ۱۲ ساعته ۱ - ۲ - ۳ - … - ۱۲
G نمایش ساعت به صورت ۲۴ ساعته ۰ - ۱ - ۲ - … - ۲۳
h نمایش ساعت به صورت ۱۲ ساعته دورقمی ۰۱ - ۰۲ - … - ۱۲
H نمایش ساعت به صورت ۲۴ ساعته دو رقمی ۰۰ - ۰۱ - ۰۲ - … - ۲۳
i نمایش دقیقه ۰۰ - ۰۱ - ۰۲ - … - ۵۹
l(lower L) نمایش روزهای ماه به صورت عدد ۱ - ۲ - … - ۱۲
m نمایش ماه به صورت عدد دورقمی ۰۱ - ۰۲ - … - ۱۲
n نمایش ماه به صورت عدد ۰ - ۱ - ۲ - … - ۱۲
s نمایش ثانیه یک دقیقه ۰۱ - ۰۲ - … - ۵۹
t تعداد روزها مشخص شده ماه (خورشیدی) ۲۹
w چندمین روز هفته به صورت یک عدد تک رقمی ۰(یکشنبه) - ۱ - ۲ - … - ۶
y نمایش سال به صورت عدد دورقمی ۸۱ - ۸۲ - …
Y نمایش سال به صورت عدد چهار رقمی ۱۳۸۱ - ۱۳۸۲ - ۱۳۸۳ - …

سیاره چیست ؟

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

    ورودی‌های غیرفعال

    بایگانی