campaign-off40

دوره مجازی قالب وردپرس (جلسه 27): تکمیل اسلایدر قالب با زمینه های دلخواه و متادیتای کاربران



visibility  
mode_comment   ۴۸

به نام خدا و سلام. در جلسه ۲۷ ام از دوره مجازی حرفه ای وردپرس در خدمت شما هستیم با پیاده سازی اسلایدر قالب با استفاده از کوئری های وردپرس که قبلا قولش رو داده بودیم.  در این جلسه اول بخش ذخیره سازی داده های تصویر اسلایدر هر مطلب رو تکمیل می کنیم و سپس با کوئری wp_query میایم اون مطالبی که دارای اون متادیتا هستند رو دریافت می کنیم و نمایش میدیم. در ادامه تایع wp_get_current_user V رو بررسی می کنیم و شناسه کاربری که در سایت لاگین کرده رو دریافت می کنیم و سپس با اون به صورت دستی یک نمونه متادیتا برای کاربران ثبت می کنیم تا مقدمه ای بر بحث متا دیتاهای کاربران داشته باشیم.

در این جلسه خواهیم دید:

  • تکمیل اسلایدر بر اساس متادیتا ها
  • تابع wp_get_current_user
  • معرفی متادیتای کاربران و توابع آن
info توجه

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

ثبت نام در پکیج آموزش طراحی قالب وردپرس

comment دیدگاه کاربران
reza_yki replyپاسخ

فقط می تونم بگم یه دونه ای استاد

کیوان علی محمدی

ممنونم.

mohamad mohamadi replyپاسخ

سلام ببخشید میشه جلسات آخرم 1 توضیحاتی درمورد themeforest بدید؟ مثلا آقای آوند آخرین جلسه بهمون نصیحت و این حرفارو میکنه شما ام بیا بگو که چجوری مثلا تممون باید 1جور باشه که themeforest قبول کنه 😆

کیوان علی محمدی

سلام حتما.

mohamad mohamadi

سلام خیلی ممنون که جواب میدید پس لطفا یادتون نره 🙄

shaniya ahmadi replyپاسخ

سلام استاد، امید وارم در مورد لایسنس برای قالب هم اموزش بدید

کیوان علی محمدی

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

reza_yki replyپاسخ

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

کیوان علی محمدی

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

sara salami replyپاسخ

سلام .برای این قالب سیستم پرسش وپاسخ قرارمی دید اگه امکان نداره میشه توضیحی کوتاه درباره اون بدیداستاد.ممنونم

کیوان علی محمدی

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

حمید رضا مصطفی زاده replyپاسخ

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

کیوان علی محمدی

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

حمید رضا مصطفی زاده replyپاسخ

سلام
ببخشید برای گذاشتن اسلایدر وقتی بارگزاری میکنم یه خطایی میده:
“خطایی هنگام بارگذاری پرونده پیش آمده. دوباره تلاش کنید.”
چند بارم انجام دادم نشد!!
تا اینجای آموزش که من طبق هرچی شما آموزش میدادید و موارد اضافه شده به غالب مشکلی نبود.
ممنون میشم راهنمایی کنید
با تشکر

کیوان علی محمدی

این خطا احتمالا برای آپلود وردپرس هستش. تنظیمات سرور و حداکثر میزان آپلود رو چک کنید.

فرهاد شریفی replyپاسخ

سلام استاد، بازم ممنون از آموزش خوبتون.
استاد WP_Query اسلایدر 1 ایرادی داره، ظاهراً meta_compare کار نمیکنه و کوئری نوشته شده تمام مطالب با meta_name => slider_image_url رو لود میکنه، در حالی که ما نمیخواستیم اونایی که slider_image_url شون null هست رو نشون بده. میشه مشکلو حل کنید؟
البته من تا جلسه 34 دیدم گفتم شاید خودتون یا بچه ها به این مشکل اشاره کرده باشن و در جلسات بعدی حل کرده باشید ولی ظاهرا حل نشده مونده.
استاد فایلای جلسه رو هم دانلود و تست کردم، مشکل تو فایلای خودتونم بود.
البته دلیل اینکه این مشکل تو آموزش شما رو نشده اینه که بعد از ایجاد متاباکس اسلایدر، مطلب جدیدی تو سایتتون منتشر نکردید که اگه ی مطلب جدید بدون درج اسلایدر انتشار بدید متوجه مشکل میشید.
ممنون میشم مشکلشو پیدا کنید، خیلی ذهنمو درگیر کرده!!!!

کیوان علی محمدی

سلام برای حل این مشکل کافیه وقتی متا باکس رو ذخیره می کنیم اگر خالی باشه اون متادیتا رو حذف کنید و در کوئری هم فقط مطالبی رو انتخاب کنید که اون meta_key رو داشته باشه.

محسن آذر

ببخشید این همون کد بالاست

حمید حسینی تبار replyپاسخ

با سلام
چطور میتونم دسته ها رو بصورت لیست کشویی نشون بدم ؟

کیوان علی محمدی

سلام. از تابع get_categories استفاده کنید و بعدش در یک حلقه foreach می تونید در یک تگ select این موارد رو نشون بدین.

سهیل محمدی replyپاسخ

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

کیوان علی محمدی

سلام چشم حتما در بخش آپدیت های دوره قرار میدیم. البته کار سختی هم نیست فقط کافیه یک متادیتا برای مطلب ست کنید و آدرس دلخواه اونجا ذخیره بشه بعد در حلقه اون متادیتا رو چک کنید و اگه خالی نبود اونو به عنوان لینک قرار بدین در غیر این صورت لینک یکتای مطلب . ^_^

سهیل محمدی

ممنون .مثل همون اسلایدر دیگع اره؟
ممکنه یه رفرنس بهم بدین استاد؟ مرسی

کیوان علی محمدی

بله دقیقا.شما کافیه عبارت add custom metabox to wordpress posts رو گوگل کنید.

سهیل محمدی replyپاسخ

استاد مچکرم
زنده باشید
مثل همیشه عالی

سهیل محمدی replyپاسخ

استاد سلام . من همه چیزشو نوشتم و حله اما اون قسمت که اگه خالی نبود بره به لینک وارد شده رو این دستورش چجوری باید بنویسم ؟؟

کیوان علی محمدی

سلام.

< ?php $customLink = get_post_meta($post_id,'slider_custom_link',true); $finalLink = !empty($customLink) ? $customLink : get_permalink($post_id); ?>
">

سهیل محمدی replyپاسخ

استاد من اینکارو انجام دادم منتها میچسبه به ته url
مثلا : localhost/wp/www.7learn.com
چیکار کنم که نچسبه ؟

کیوان علی محمدی

شما آدرس کامل رو با http وارد کنید. البته نباید اینطوری بشه.

سهیل محمدی

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

سهیل محمدی replyپاسخ

استاد عرض ادب و احترام …
اگه ما قالبمون با یکی از فریم ورکها مثلا فندیشن زده باشیم مثلا برای قسمت drop down منو ها برای تگ های ul کلاسهای مختلفی داره درسته؟ اما موقع تبدیل به وردپرس خوش یکسری ul با کلاسها و ایدی های جدا میزنه و در کل اون کلاسهای ما در نظر گفته نمیشه . درسته؟
خب الان برای رفع این مشکل من فکر کردم گفتم میشه ما بیایم اون استایل های فریم ورک بریزیم توی همون اسم کلاس یا ایدی که خود وردپرس در نظر میگیره تا این مشکل حل شه ؟
یا باید راه دیگه ای انجام بدیم ؟

کیوان علی محمدی

سلام راه حل این روش استفاده از کلاس های walker وردپرس هستش که در دو جلسه بعدی آپدیت های دوره قالب وردپرس توضیح کامل میدیم.

سهیل محمدی

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

کیوان علی محمدی

جلسه بعدی نه بعدی آپدیت رو منظورم بود. برای این آخر هفته ی دیگه. چرا خودتون wordpress walker class رو سرچ کنید مطالب زیادی پیدا می کنید.

سهیل محمدی replyپاسخ

استاد راهی ک من گفتم عملی نیس؟

ndr053 replyپاسخ

آقای علی محمدی سلام
من سعی میکنم آدرس سایت فارسی تو متا دیتا ذخیره کنم اما نمی تونه ذخیره و با خط تیره نشان می دهد
نمونه آدرس
/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%81%DB%8C%D9%84%D9%85-%D9%85%D8%B3%D8%AA%D9%86%D8%AF-the-last-trapper-2004/
خروجی بعد از ذخیره
/—the-last-trapper-2004

کیوان علی محمدی

سلام از تابع urldecode استفاده کنید.

امین عظیمی replyپاسخ

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

ممنون میشم راهنمایی کنید

زارعی هوشیار replyپاسخ

سلام….اقای علی محمدی خیلی خسته نباشید…واقعا تشکر میکنم….این جلسه هم مثل همه جلسه …عالی بووود…لایک دارید 😀

کیوان علی محمدی

ممنون و موفق باشی.

دانیال کاظمی replyپاسخ

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

کیوان علی محمدی

سلام دوست عزیز. کدام پکیج؟

مرتضی مهاچر replyپاسخ

سلام خدمت استاد گرامی
(ظاهر نشدن اسلایدر در پایان کدها)
تمام کدها درست عمل می کنند و زمانی که main_slider من html هستند و هنوز کدهای سفارشی کردن آن در پوسته وارد نشده است اسلایدر درست فراخوانی میشه و نشان داده میشه اما زمانی که کد های زیر رو وارد می کنم کلا دیگه اسلایدر نشان داده نمیشه و حتی کدهای شما را هم کپی کردم ولی مشکل از جایی مخفی دیگه ایه ممنون میشم اگر کمک کنید چندبار فیلم های جلسه 27&26 رو نگاه کردم ولی نشد که نشد .(توی functions هم درست فراخوانی کردم)

<?php
$main_slider_query_args = array(

    ‘meta_key’ => ‘slider_image_url’,
    ‘meta_value’ => ”,
    ‘meta_compare’ => ‘!=’,
    ‘post_type’ => array(‘post’, ‘download’),
    ‘posts_per_page’ => 4

);
$main_slider_query = new WP_Query($main_slider_query_args);

if ($main_slider_query->have_posts()):
    ?>
    <!–Start Slider–>
    <div id="slider-wrapper">
        <ul class="rslides">
            <?php
            while ($main_slider_query->have_posts()):$main_slider_query->the_post();
                ?>
                <a href="<?php echo get_the_permalink(); ?>">
                    <li>
                        <img src="<?php echo get_post_meta(get_the_ID(), ‘slider_image_url’, true); ?>" alt="">
                        <p class="caption"><?php echo get_the_title(get_the_ID()); ?></p>
                    </li>
                </a>

                <?php
            endwhile;
            ?>
        </ul>
    </div>
    <!–End Slider–>
    <?php
endif;
کیوان علی محمدی

سلام اون meta_value و meta_compare رو بردار. بعدشم بعد از اجرا توسط WP_Query از var_dump استفاده کن ببین نتایج رو اصلا برمیگردونه یا نه.

مرتضی مهاچر replyپاسخ

استاد meta_value ,meta_compare هم برداشتم اتفاقی نیفتاد ولی var_dump رو که می زنم دقیقا کدهایmain_slider_query_args در جای اسلایدر ظاهر میشه

کیوان علی محمدی

خب شما از main_slider_query تابع have_posts رو فرخوانی کنید. ببیید اصلا مطلبی برگشت داده میشه یا نه

مرتضی مهاچر replyپاسخ

انجام دادم و جواب نداد متاسفانه.
2هفته س درگیر این اسلایدر شدم امکان داره با شما تماس بگیرم بلکه پروژه راه بیفته؟

کیوان علی محمدی

من مطمئنم شما دارین یکجا رو اشتباه انجام می دید. ایمیل بزنید

ارسال نظرات

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