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

وردپرس ۱.۶ ، تاریخ شمسی و زبان فارسی

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

هنوز تاریخ انتشار نسخه نهایی وردپرس ۱.۶ مشخص نیست ولی دست کم این اتفاق تا ۲۰ روز آینده نخواهد افتاد، با بررسی امکانات نسخه ی آلفای اون – مخصوصا قسمت مدیریتش – مطمئنم وردپرس ۱.۶ تمامی رقیب های خودش رو پشت سر خواهد گذاشت ، در یه پست دیگه در مورد امکانات وردپرس ۱.۶ خواهم نوشت ، ولی از مهم ترین تغییرات اون می شه به ادیتور قدرتمند WYSWYG ، پنل های باز شو با قابلیت Drag & Drop ، Live Preview ، Theme Preview و همچنین امکان قراردادن عکس با استفاده از Drag & Drop اشاره کرد ، وردپرس ۱.۶ استفاده بسیار خوبی از AJAX انجام داده.

نزدیک (؟) بودن انتشار نسخه نهایی ۱.۶ ، باعث شد به این فکر بیفتم ، نسخه بعدی پلاگ-این تاریخ شمسی برای وردپرس رو همراه با وردپرس ۱.۶ ، منتشر کنم. البته پلاگ-این نسخه ۲ روی نسخه ۱.۶ به درستی کار نکرد، دلیلش رو اینجا گزارش کردم، خوشبختانه با یه تغییر ساده مشکل حل شد.

برای اینکه بشه بلافاصله بعد از انتشار نسخه ۱.۶ ، نسخه فارسی و پلاگ-این نسخه جدید رو منتشر کرد، لیست کارهایی برای انجام وجود داره که من با توضیحات در زیر لیست می کنم ، اینها کارها و یا باگ هایی که به ذهن من رسیده ، امیدوارم دوستان اگر باگی پیدا کردن، نظری دارن و یا پیشنهادی به ذهنشون می رسه ، کامنت بذارن تا به این لیست اضافه بشه .

رفع باگ های موجود در پلاگ – این :

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

بهبود ها :

  • فارسی کردن وردپرس ۱.۶ در ادامه پروژه فارسی سازی وردپرس (خیلی مهم)
  • دوباره نویسی JDF
  • دوباره نویسی کامل و بررسی توابع template با نسخه جدید(مهم)
  • اضافه کردن RTL Direction به ادیتور ۱.۶
  • ایجاد صفحه اختصاصی برای وردپرس فارسی در قسمت مدیریت برای انجام تنظیمات (چه تنظیماتی باید اینجا قرار بگیره؟)
  • اضافه کردن امکان خروجی اعداد به صورت فارسی (مهم)
  • تست پلاگ-این جدید رو وردپرس ۱.۵.۱ ، ۱.۵.۱.۲ ، ۱.۵.۲ و ۱.۶(خیلی مهم)

بهبود های جانبی:

  • تهیه mailing list و site list کاربران وردپرس فارسی و تاریخ شمسی
  • ایجاد صفحه راهنمای کامل با مثال برای Template Tag های پلاگ –این

بهبود های جاه طلبانه :

  • ادیتور وردپرس ۱.۶، TinyMCE هست ، توی امکانات این برنامه Direction هست ، ولی همراه نسخه اضافه شده به وردپرس دکمه LTR/RTL وجود نداره، البته من تونستم با پلاگ-این جهت رو RTL کنم، ولی امکان switch وجود نداره ، کسی می تونه کمک کنه این دکمه رو به TinyMCE اضافه کنیم؟
  • پیدا کردن دلیل استفاده نکردن بعضی از کاربرها از این پلاگ-این ، مشکل بزرگی وجود داره؟

خواهش می کنم اگه چیزی به ذهنتون می رسه بگید، اگه هم لطف کنید ، به دیگران هم اطلاع بدید خیلی خوب می شه.

در مورد اون لیست استفاده کننده ها از پلاگ-این هم ، می شه از همین الان شروع کرد!

مانی دات وردپرس دات کام!

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

اینقدر اتفاقی که امروز افتاد جالبه که مثل بچه ها ذوق کردم! سر قضایای وردپرس ۱.۶ و پلاگ – این شمسی (درباره اش به زودی می نویسم) ، این فکر به سرم افتاده بود که یه وبلاگ انگلیسی راه بندازم، پنج شنبه و جمعه بیشتر وقتم سر یه پروژه پورتال خبری با وردپرس گذشت ، کار کردن با حلقه های وردپرس و امکانات فوق العاده اون ها ، من رو بیشتر شیفته وردپرس کرد.

همین باعث شد که دیشب ۳-۴ ساعت خوابم نبره و همش تو فکر راه اندازی وبلاگ انگلیسی (با محوریت موضوعاتی در مورد وردپرس) باشم ، تصمیم گرفته بودم ، به محض اینکه امروز انلاین شدم ، برم و راش بندازم ، مثل همیشه ، اول ای – میلم رو چک کردم ! واسم از wordpress.com ای – میل اومده بود ، مبنی بر اینکه درخواست من (که یک ماه پیش ثبت کرده بودم) برای mani.wordpress.com قبول شده ! از خوشحالی نمی دونستم باید چی کار کنم! [ اصلا یادم رفته بود! ]

Wordpress.com سایتیه که از طرف تیم برنامه نویسی وردپرس راه افتاده و به صورت دعوت نامه ای و انتخابی وبلاگ مبتنی بر – آخرین نسخه – وردپرس چند کاربره ارائه می ده ! برنامه نویسای اصلی وردپرس مثل مت هم دارن یواش یواش مطالب وردپرسیشون رو میارن روی این دامین (وبلاگ مت در وردپرس دات کام)!

نسخه آلفا وردپرس ۱.۶ رو به صورت مداوم دانلود و تست می کنم ، ولی استفاده انلاین اون با این همه امکانات جدید ، یه چیزه دیگست ! به زودی در مورد وردپرس ۱.۶ می نویسم …

شگردهای طراحی با وردپرس

در تاریخ ۲۰ مهر ۱۳۸۴ توسط مرتضی الوانی

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

چگونه لیستی از پست های اخیر را در سایدبار (نوار کناری وبلاگ) قرار دهیم؟ این ساده ترین سوالی است که یک تازه کار با آن مواجه می شود. وردپرس به طور مستقیم تابعی را برای این کار در نظر نگرفته است چون نیازی به آن نیست. با کمی خلاقیت می توان تعداد پست های اخیر را به هر نحو دلخواهی لیست کرد و نمایش داد. تکه کد زیر این کار را برایمان انجام می دهد:

  1. <?php
  2.  $posts = get_posts('numberposts=10');
  3.  foreach($posts as $post) :
  4.  setup_postdata($post);
  5.  ?>
  6.     <a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a>
  7.  <?php endforeach; ?>

در خط دوم دستور فوق، به کمک تابع get_posts تعداد پست های دلخواه را برابر 10 درنظر گرفتیم و از هیچ آرایش دیگری استفاده نکردیم، این ساده ترین فرم است. پارامترهای دیگر این تابع به قرار زیر است:

offset : تعیین تعداد پست ها از اولین پست، برای مثال چنانچه در صفحه اصلی وبلاگ تعداد مطالب را بربر 5 قرار داده ایم می توانیم با تعیین مقدار 5 برای offset پست های اخیر را به استثنای آن 5 پست اول نمایش دهیم. category : تعیین پست های یک دسته خاص، به طوری که تنها پست های موجود در آن دسته لیست شوند. عددی که برای این پارامتر ذکر می شود مشخصه یا همان id دسته خاص است. orderby : تعیین اینکه بر چه اساسی لیست شوند؟ برای مثال می توان آن را بر اساس زمان هر پست post_date یا عنوان هر پست post_title قرار داد. و در نهایت پارامتر order : تعیین صعودی یا نزولی بودن لیست بر اساس پارامتر orderby که می تواند ASC یا صعودی و DESC یا نزولی در نظر گرفته شود.

برای آنکه بتوانیم آرایش دیگری را به لیست نسبت دهیم باید هر کدام از پارامترهای فوق را با کاراکتر & و تعیین مقدار آن به یکدیگر ربط دهیم. برای مثال مدل زیر 20 پست اخیر را به استثنای 3 پست اول بر اساس زمان هر پست به طور نزولی مرتب می کند:

  1. $posts = get_posts('numberposts=20&offset=3');

چون تعداد عناصر آرایه posts (خط دوم) برای ما مشخص نیست برای استخراج مقادیر مد نظر از دستور foreach استفاده کردیم (خطوط سه تا هفت) به این صورت که posts$ نام آرایه ای است که محتویات آن باید دستیابی شود و post$ متغیری است که عنصر فعلی آرایه در آن قرار می گیرد.

خط ششم صورت کلی خروجی را تشکیل می دهد. تمام مقادیری که برای یک پست صادق است می تواند در این میان بکار رود. که در این مثال چون ما قصد داشتیم تنها لیستی از پست های آخر را فهرست کنیم نیازی به سایر قسمت ها نداریم. بالفرض چنانچه بخواهیم 10 پست دسته ای با آی دی 2 را نمایش دهیم از فرم زیر استفاده می کنیم:

  1. <?php
  2.  $posts = get_posts('numberposts=10&category=2');
  3.  foreach($posts as $post) :
  4.  setup_postdata($post);
  5.  ?>
  6.     <a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a>
  7.     <?php the_content(); ?>
  8.  <?php endforeach; ?>

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

  1. <?php
  2. $al_post = get_posts( 'category=1&numberposts=1' );
  3. if( $al_post ) :
  4. foreach( $al_post as $post ) :
  5. setup_postdata( $post );
  6. ?>
  7. <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
  8. <div class="entry">
  9. <?php the_content(); ?>
  10. </div>
  11. <div class="meta"> <?php the_time('F jS, Y'); ?></div>
  12. <?php endforeach; ?>
  13. <?php endif; ?>

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

  1. <?php
  2. if (have_posts()) :
  3. while (have_posts()) : the_post();
  4. if ( !(in_category('1') && is_home())):
  5. ?>
  6. <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
  7. <div class="entry">
  8. <?php the_content(); ?>
  9. </div>
  10. <div class="meta"><?php the_category(); ?> <?php the_time('F jS, Y'); ?></div>
  11. <?php endif;
  12. endwhile;
  13. else : ?>
  14. <div class="error">
  15. <h2>Not Found</h2>
  16. <?php include (TEMPLATEPATH . "/searchform.php"); ?>
  17. </div>
  18. <?php endif; ?>

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

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

دقت کنید این کدها باید در قالب اصلی وبلاگ (Main Template) یعنی index.php قرار گیرند لذا واجب است تا مابقی قسمت های این صفحه از جمله سربرگ، سایدبار و پاورقی به این صفحه ضمیمه شوند. در هر صورت اگر مشکلی داشتید در کامنت ها عنوان کنید. شاد و پیروز باشید.

Simple php gallery

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

Simple php galleryبرنامه ای برای مدیریت فوتو گالری میباشد که میتواند تصاویر را در چند سایز مختلف نمایش دهد . جدیدترین نسخه ی این برنامه نسخه ی ۱/۱ میباشد که به تازه گی آماده دانلود شده این برنامه دارای ویژگیهای زیادی میباشد که در زیر به برخی از آنها اشاره میشود

o Significant speed enhancements.
o Image precaching - significantly improves the appearance of speed when paging through images.
o Better compatibility with GD 1.x
o Better quality generated images with GD 2.x functions.
o Image resizing - Bypass your photo editing software and resize your images on the fly!
o Image caching - SPG 1.1 can resize your images once, then save the generated files forever!
o Accesskey navigation - Alt + [-] for the previous image, Alt + [+] for the next image, Alt + [u] to move up one level. (In accesskey enabled browsers)
o Compatible out-of-the-box with Dan Benjamin’s Better Image Rotator.
o Aliases and descriptions for images and folders, controled via an easy-to-edit ini file.
o Automatically generated sub-folder details.
o Automatic thumbnail alignment.
o Folder hiding - keep that pesky ‘cgi-bin’ folder from showing up in your gallery.
o Improved sorting - folder lists are now sorted alphabetically by alias or file name.
o Myriad bug fixes and improved all-around compatibility
o Overlays your existing folder layout. To add more images or folders to your gallery, just upload them and they will automatically appear!
o Automatically creates thumbnails of your images. No need to create thumbnails by hand!
o Thumbnail caching for maximum performance. Each thumbnail is generated only once.
o Built-in slideshow browsing.
o No database requred!
o Simple, text file configuration.
o Google-friendly.
o Valid XHTML 1.0 Transitional output.
o CSS based, table-free layout.

این برنامه هم به صورت مستقیم و هم تحت سیستم مدیریت وبلاگ وردپرس کار میکند که شما میتوانید برنامه را بسه به نوع نیاز خود از آدرس های زیر دانلود کنید
تحت سیستم وردپرس :

http://relativelyabsolute.com/spg/simplephpgallery-1.1-wp.zip

برنامه مستقل :

http://relativelyabsolute.com/spg/simplephpgallery-1.1.zip

نمونه برنامه :

http://relativelyabsolute.com/gallery/

سیاره چیست ؟

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

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

    بایگانی