subscribe visualizeus twitter Email Y!M Gtalk

سلام

اگر سری آموزش های طراحی قالب وردپرس را از اول دنبال نکرده اید به آدرس زیر بروید.

لیست آموزشهای قالب وردپرس

اگه یک نگاه کلی به کل کارهایی که انجام دادیم بندازیم میفهمیم که یک if داریم به معنی: “اگر برقرار باشد” منظورم خط زیر است:

<?PHP if(have_posts()): while(have_posts()):the_post();?>

که اگر پست داشته باشیم کد زیرش رو میخونه اما اگر نداشته باشیم چی!؟
یعنی مثلا ما هیچ پستی ننوشتیم یا در اون زمینه ای که بازدید کننده دنبالش میگرده ننوشتیم!

خوب برای فهماندن جمله ی: “اگر شرط برقرار نبود” به php کد زیر رو بلافاصله بعد از endwhile مینویسیم:

<?php else : ?>

<div class=”post”>

<h2><?php _e(‘Not Found’); ?></h2>

</div>

باید فهمیده باشین چی شد

ما در واقع یک صفحه ی خطا ساختیم که اگر پست مورد نظر پیدا نشد نوشته ی Not Found به معنای “پیدا نشد” نمایش داده میشه و همونطور که قبلا هم گفتم میتونیم هرچیزی جایگزین این جمله بکنیم!

مثلا من میرم به آدرس زیر و با پیغام خطا مواجه میشم:

http://localhost/wordpress/?cat=789

چون من در دسته بندی هام مثلا ۱۰ تا موضوع دارم نه ۷۸۹ تا! و چون جایی رفتم که وجود نداره با این پیغام که “پیدا نشد” مواجه میشم! این رو هم اضافه کنم که اگه این کد رو نمینوشتیم اتفاقی نمی افتاد فقط Not Found نمایش داده نمیشد! همین!

پس فهمیدیم که while با endwhile بسته شد و if با else که عکس اون عمل میکنه ادامه یافت!:

توضیح:قرمز ها تابع، و همرنگ ها مربوط به همند.

حالا در مورد پست ها!

وقتی نگاهی به source سایتمون بکنیم میفهمیم که تمام پستها با یک کلاس (post) شناخته شده اند!

اما هر پست برای خودش پستیه!! و یک آی دی یا شناسه میخواد که اون رو از بقیه پست ها متمایز کنه!

برای اینکه به پست هامون یک آی دی مناسب بدیم به صورت زیردر کنار کلاس post :

id=”post-<?php the_ID(); ?>”

یک خط کد مینویسیم، تابع the_ID تابعی است که کارش اینه که به هر مطلب یک شماره ی منحصر به خودش رو میده

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

در کروم با کلیک راست روی قسمتی از صفحه (مثلا هدر) و کلیک بر روی آخرین گزینه (Inspect element) صفحه ای باز میشه که سورس رو بسیار واضح و عالی مرتب کرده و بر روی هر قسمت کد که بریم اون قسمت با رنگ زرد در صفحه مشخص میشه و ما می فهمیم هر کد مربوط به کدام قسمت است!

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

عکس زیر رو باز کنید (به علت حجم نسبتا زیاد باید روی عکس کلیک کنید و ذغالی ها هم صبور باشید لطفن!!)

در فایر فاکس هم Firebug دقیقن (شایدم تقریبن) همین کار رو انجام میده که میتونین ازش استفاده کنید.

اگه نمیتونین اعداد رو ببینین یا ساختار شکل من با شما فرق داره میتونین عکس زیر رو ببینین و اشکالات احتمالی رو رفع کنین!

تصویر کدهای نوشته شده تا امروز

این هم از این!

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

میبینین که چیزی نمی نویسه، برای اینکه مثلا همون عنوان رو هم بنویسه میتونیم از title استفاده کنیم که دقیقا مثل href برای تگ a ، عنوان یا title هم یکی از ویژگی هاست که میشه به این تگ نسبت داد،پس کد عنوان ما به این صورت میشه:

<a href=” <?PHP the_permalink() ?>” title=”<?PHP the_title() ?>”>

<?PHP the_title() ?>

</a>

من title رو با استفاده از تابع ()the_title فراخوانی کردم، با ذخیره و refresh کردن میفهمیم که چه تغییری پیش اومد.

حالا اگه با inspect element یا حتی دیدن source سایت قسمت عنوان یکی از پست ها رو پیدا کنیم میبینیم که title هم اضافه شده بهشون!

اینکار شاید برای ما و حتی بازدید کننده ها سودی نداشته باشه اما برای روبوت ها ی سایتهای مختلف که سایت مارو اسکن میکنن میتونه مفید باشه! که بفهمن title ما چیه و از این حرفا!

میدونیم که در ورد پرس مثل بقیه سرویسهای وبلاگ یک حد اکثری برای نوشته ها هست یعنی مثلا در وبلاگ من بیشترین تعداد مطالب ۵ عدد است! که البته از قسمت مدیریت میشه اون رو تغییر داد!

حالا اگه ما تعداد مطالبمون زیادتر باشه چی؟

حتما به دکمه ای نیاز داریم که مارو به صفحات دیگه ببره یعنی مثلا صفحاتی که هر کدوم ۵ پست دارن!

در درس بعدی یاد میگیریم دو کلید “بعدی” و “قبلی” در انتهای وبلاگ قرار بدیم.

فعلن بابای

۴ نظر

سلام

اگر سری آموزش های طراحی قالب وردپرس را از اول دنبال نکرده اید به آدرس زیر بروید.

لیست آموزشهای قالب وردپرس

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

post-meta-data

ما ساخت هدر رو تموم کردیم و رسیدیم به عنوان و محتوای پست!

امروز میخواهیم گزینه های مربوط به هر پست مثل دکمه ی نظر خواهی، تاریخ، موضوع پست و … رو در یر هر پست بیاریم

به همه ی اینها معمولا postmeta یا post meta data میگن.

میشه تقریبا “اطلاعات مربوط به پست” ترجمه اش کرد!

اون فایل که دانلود کردین رو تمامن کپی کنید و زیر the_content قرار بدین.

باید حداقل ۷۰ ، ۸۰ درصدش رو بفهمین ، به هر حال کمی توضیح میدم ولی قبلش یک چیزی در مورد php:

ما در زبان php یک تابع داریم (که در php هست!یعنی ما نمیسازیمش!) به نام echo که کارش اینه که متنی که جلوش میزاریم رو عینن و دقیقا و کاملا و… به صورت خروجی میده، مثلن:

<?PHP echo(‘salam aleykom va rahmatollah!!!’) ?>

خوب فکر نمیکنم php چیزی که ما نوشتیم رو بفهمه!!یعنی مهم نیست ما جلوی echo چیز معنی داری بنویسیم یا نه اون کار خودش رو میکنه!

خروجی:

salam aleykom va rahmatollah!!!

اوکی؟!

خوب حالا ما در وردپرس تابعی داریم به این صورت: e_

تا اینجا بدونین که این تابع همین کار رو انجام میده! یعنی چیزی که جلوش مینویسیم رو عینن خروجی میده!

یعنی اینکه ما مثل آدم میتونیم بنویسیم:

Field under:

به جای اینکه اون رو به صورت یک تابع php بنویسیم البته بعدن میفهمیم چرا این کار رو کردیم!

کد زیر هم در کنار کلمه Field under همون دو نقطه ی خودمونه! ( : ) اما اگه ما : بزاریم و از وردپرس فارسی هم استفاده کنیم کلمه به فارسی ترجمه میشه و شکل کار رو خراب میکنه هرچند این قسمت هم دل بخواه است!

&#58;

از این واضح تر بلد نیستم بگم!

حالا مشکل ۲ خطمون در post meta data حل شد! یعنی خط اول و سوم کلمات Field under و By رو به خروجی میدن!

the_catgory تابعی است که موضوع یا موضوعات پست رو به ما میده و (‘ ,’) در جلوش یعنی اگر مثلا مطلب ما به ۳ موضوع مربوط بشه، موضوعات رو با ۲ عدد , از هم جدا میکنه و ما میتونیم مثلا به جاش – بزاریم:

موضوع۱,موضوع۲,موضوع۳

این هم حل شد!

the_author هم تابعی است که نویسنده ی مطلب رو نشون میده، یعنی اگر شما بیش از یک نویسنده در سایت داشته باشید این نشون میده چیو کی نوشته!

comments_popup_link هم از اسمش معلومه یعنی لینکی رو میده که کاربران با کلیک بر روی اون میتونن نظر خودشون رو در رابطه با مطلب بنویسن!

از اونجایی که مردان و زنان انگلیسی زبان یک s برای جمع بستن دارن!! برای همین وقتی ۱ نظر داده شده باید نوشته بشه ۱comment برای همین no comments و ۱comment و n comment رو به صورتی که میبینید از هم جدا کردن تا در هر صورتی که هست درست نمایش داده بشه! در ضمن اون % تعداد نظرات داده شده رو نشون میده،(البته نیازی به حفظ کردن نیست در این قسمت،مهم اینه که بفهمیم چه کردیم!)

مورد دیگه در مورد pop up!

pop up همون صفحه ایست که وقتی میریم توی سایت مزخرف(نمیدونم املاش چه جوریه!) میبینیم که یک صفحه دیگه هم باز میشه از اون مزخرفتر! که معمولا تبلیغاتیه! البته قبلا خیلی بیشتر بود این مسائل اما الان با pop up blocker ها جلوی این صفحه ها توسط مرورگر های جدید گرفته میشه!

به هر حال همیشه اینطور نیست و pop up کاربرد هم داره! مثلا اگه ما popup comment رو در قسمت مدیریت فعال کنیم بازدید کننده های سایت با کلیک بر روی این لینک یک صفحه جدید(به صورت popUp) میبینن که میتونن نظرشون رو بدن و اگه غیر فعال باشه به صفحه ی اصلی مطلب میرن که زیرش هم میتونن نظر بدن!

edit_post_link هم دکمه ی edit رو میزاره برای کسی که مطلب رو نوشته و یا مدیر کل سایت که اگه خواستن متن رو تغیر بدن (زیاد مهم نیست البته!) آرگومان اول هم که edit باشه کلمه ای است که این لینک نشون میده و میتونه هر چیزی باشه! مثلا tashih یا هر چیزی که دوست دارین/داریم/دارند/داشتیم و … آرگومان دوم هم نوشته یا علامتی است که کلمه ی اول (در اینجا edit) رو از نوشته های قبل جدا میکنه.یعنی قبل کلمه edit میاد و آرگومان سوم بعد از کلمه edit میاد، به کد زیر و خروجی اون توجه کنید لطفن:

کد:

<?php edit_post_link(‘Tashih’, ‘*’, ‘#’); ?>

خروجی:

*Tashih#

حالا میل خودتونه که میخواهید چه کنید!

کارمون رو ذخیره میکنیم و میریم ببینیم سایت در چه وضعیتی به سر میبره!

زیر پست من به صورت زیر شده:

Filed under: دسته‌بندی نشده با admin

No Comments » | Edit

البته من لینک هارو غیر فعال کردم ! شما با کلیک بر روی موضوع باید به صفحه ای ارجاع داده بشین که تمام مطالب با اون موضوع رو نشون میده و با کلیک بر روی comments به صفحه ای که فقط در اون یک مطلب وجود داره و اون هم مطلبی است که در بالای این post meta وجود داره!

در مورد تگ <P> هم بگم که از کلمه paragraph به معنی پاراگراف خودمون یا همون بند هست،یعنی بینی این تگ هر چه باشد در یک پاراگراف قرار میگیره.

کلاس هم که در درس قبل گفتیم چیه.یعنی گفتم چیه!

امروز کار خاصی نکردیم!

فقط یه چیز دیگه هم هست! مثلا ما میخواهیم یک چیزی رو کم کنیم از این کد یا یه چیزی اضافه کنیم!

مانعی نداره اما حواستون باشه چیکار میکنید!

مثلا من میخوام بعد از اینکه نوشته شد : by admin تاریخ پست هم اضافه کنم

برای اینکار از تابع the_time استفاده میکنم!

به همین راحتی که قبل از </br > کد زیر رو میزارم:

<?php _e(‘on’);?><?php the_time(‘F jS, Y’);?>

بعدا بهتون میگم به چه راحتی میشه کد ها و توابع وردپرس رو یادگرفت و یا حتی یاد نگرفت اما استفاده کرد!

اگه قول بدین تنبل نمیشید درس تمومه!

فقط یه مطلب دیگه!

اگه در مورد کدهای مخفی html مثل همون دو نقطه و غیره مرجعی خواستین به لینک زیر سری بزنید:

html-character-entities-cheat

کاراکتر های مخفی در فرمت png

کاراکتر های مخفی فرمت pdf

اگه نفهمیدین چیزی رو حتما دوباره بخونین چون باید میفهمیدین! یعنی حواستون پرت بوده است!!

سو…

همین دیگه

از خط عابر عبور کنید!

بابای

۱۲ نظر

سلام

اگر سری آموزش های طراحی قالب وردپرس را از اول دنبال نکرده اید به آدرس زیر بروید.

لیست آموزشهای قالب وردپرس

یک مرور کوچیک میکنیم ببینیم تا حالا چی یاد گرفتیم

اول فهمیدیم وردپرس اصلا چی هست و چه میکند!

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

در درس شماره ۱ فهمیدیم تگ ها و قانون مهم اونها چیه و همچنین قالب وردپس از چی تشکیل شده!

درس شماره ۲ که خیلی هم ساده بود یک نمای کلی از یک قالب معمولی وردپرس به ما نشون داد.

در درس شماره ۳ یک قالب جدید با نام amoozesh ساختیم و فایل های index.php و style.css رو ساختیم.

درد درس شماره ۴ تونستیم نام وبلاگ رو در بالای صفحه بارگذاری کنیم. یعنی شروع ساخت header

درس ۴ باز هم ادامه پیدا کرد و توضیحات سایت هم در زیر اسمش اومد تا ساخت header به پایان برسه.

در درس ۵ یک کار مهم رو شروع کردیم و یک حلقه ساختیم که لیست مطالب رو فراخوانی میکرد.

و حالا میخواهیم درس مهم شماره ۵ رو ادامه بدیم:

مثل همیشه برنامه ها و فولدر های مورد نیازمون رو باز میکنیم.

در درس قبل به اینجا رسیدیم که وبلاگمون دارای اسم، توضیحات و لیست مطالب هست.

خوب میدونیم که مطالب ما الان دیده نمیشن!

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

<h2><a href=” <?PHP the_permalink() ?>”> <?PHP the_title() ?> </a></h2>

نوشتیم کد زیر رو اضافه کنیم:

<?PHP the_content();?>

به همین راحتی content یا محتوای پست رو فراخوانی میکنیم، کار رو ذخیره کرده و میریم سایتمون رو ببینیم!

به این ترتیب متن نوشته ها هم در صفحه ظاهر میشه و صفحه ما شامل: عنوان سایت،توضیحات سایت،عنوان پست ها به همراه متن اونهاست!

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

بعدا با استایل کردن میتونیم بسیار زیبا و شکیلش کنیم.(با کمک فایل style.css )

میبینیم که یک خط کوتاه کد php که نوشتیم چه میکنههههه!!!

احتمالا میدونین که اگه خودتون میخواستین با html این مطالبی که نوشتین رو بعد از وقت گذاشتن بسیار زیاد بنویسین احتمالا از نوشتن پشیمون میشدین!

خوب بریم سر تمیز کاری!

یادتون میاد که در درس header کل کدهای مربوط به قسمت بالایی صفحه رو بین تگی نامرئی(div) با شناسه ی header گذاشتیم و در پایین اون یک تگ نامرئی دیگه ساختیم با نام content که کل محتوای صفحه رو در بر میگیره! حالا ما درمحدوده ی content قرار داریم و میخواهیم که محتوای عنوان نوشته ها و محتوای اونها رو از بقیه قسمت های صفحه متمایز کنیم و نامهایی مناسب براشون انتخاب کنیم.

برای اینکار پیشنهاد من این است که یک نام مناسب برای عنوان هر پست و همچنین یک نام برای متن پستها انتخاب کنیم!

برای اینکار ابتدا یک تگ div برای عنوان پست به این صورت:

<div class=”posttitle”>

<h2><a href=” <?PHP the_permalink() ?>”> <?PHP the_title() ?> </a></h2>

</div>

و یک تگ هم برای محتوا به این صورت:

<div class=”entry”>

<?PHP the_content();?>

</div>

میسازیم، میدونیم که این دو تگ(یعنی posttitle و entry ) با هم تشکیل گروه بزرگتری رو میدن که همان پستهای ماست پس هر دوی تگ ها رو با نام post به هم مربوط میکنیم:

<div class=”post”>

<?PHP if(have_posts()): while(have_posts()):the_post();?>

<div class=”posttitle”>

<h2><a href=” <?PHP the_permalink() ?>”> <?PHP the_title() ?> </a></h2>
</div>

<div class=”entry”>

<?PHP the_content();?>

</div>
</div>

احتمالا این سوال پیش اومده که چرا به جای id یه تگ ها class دادم!!؟

اصلا فرقشون چیه؟

جواب اینه که فرق زیادی ندارن فقط موضوع مورد توجه اینه که class در صفحه n بار تکرار میشه اما id یگانه است!

در واقع مثل اسم عام و اسم خاص میمونه! ما فقط یک برج ایفل داریم اما n تا برج داریم!! اوکی شد؟!

اوکی…

دیگه چیز خاصی برای این درس نمیمونه جز اینکه بگم حتمن حتمن حتمن گوگل کروم رو دانلود کنید!

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

هرچند یک افزونه برای فایرفاکسی ها هم بود(اسمش رو یادم نیست اما یک bug داشت و عکسش هم یه سوسک بود:d ) که کاری که من میخوام توضیح بدم رو انجام میداد اما من کروم رو برای اینکار پیشنهاد میکنم!

با این کروم عزیز بعدها خیلی کار داریم چون میدونم خیلی ها مثل من سرعت بالایی دارن!! گفتم زودتر بگم که شروع به دانلود کنید!!

در ضمن اگه ایرادی داشتم گوشزد کنید لطفن! مرسی…

فعلا بابای بای بای بابای بای

دیدگاه‌ها خاموش

صفحه ی 13 از مجموع 17 صفحه اولین...101112131415...آخرین

WP WPP W3C rss FF OPERA