انجمن


استایل متفاوت در پست مشخص  (۴ نوشته)

  • da77

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۷
    تشکر شده: ۱ بار
    # نوشته شده: ۱۰ سال پیش
    ۱۷ شهریور ۱۳۹۲ - ۰۷:۵۱

    سلام من فرض ده پست در صفحه اول سایتم هست میخواستم مثلا پستهای 2و3 و 7 یه استایل داشته باشن مابقی پست ها هم یه استایل در مورد پست اول و یکی در میان پیدا کردم اما اینجوری چیزی پیدا نکردم

    <?php $i = 0; ?>
    <?php if (have_posts()) : ?>
    	<?php while (have_posts()) : the_post(); ?>
    	<?php $i++ ?>
    
    		<div class="post<?php if ($i == 1) echo ' first'; ?>">
    			...
    		</div>
    
    	<?php endwhile; ?>
    <?php endif; ?>

    یا

    http://forum.wp-persian.com/topic/4109

  • don.Diego

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۰
    تشکر شده: ۱۵ بار
    # نوشته شده: ۱۰ سال پیش
    ۱۷ شهریور ۱۳۹۲ - ۱۳:۱۳

    سلام
    راه حل که کم نیست .. هم می تونید از خود وردپرس کمک بگیرین هم از php هم از css

    اگه بخواین از وردپرس کمک بگیرین می تونین از custom field استفاده کنید .. مثلا اگه در هنگام ارسال پست یه custom field به اسم post_style تعریف کنید و اسم کلاسی که تو استایل تعریف کردینو بهش بدین و توی لوپ پستتون این تغییرو بدین

    while( have_posts() ) : the_post(); ?>
           <div class="post <?php echo get_post_custom_values('post_style', get_the_ID() );?>">
    
          </div>
    <?php endwhile;?>

    از طریق php که همون $i تعریف کردنه و من اگه جات بودم این راهو انتخاب نمیکردم چون باید هزار جور حالت در نظر بگیری

    روش css تقریبا مشابه همون روش $i تعریف کردنه .. به جای تعریف کردنه کلاس از سلکتور nth-child استفاده کنی

    .post:nth-child(2){ /*poste 2'vom ro entekhab mikone*/
    
    }
    .post:nth-child(3n+1){/*postayi 1 o 4 o 7 o.. ro entekhab mikone*/
    
    }

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

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    da77
  • da77

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۷
    تشکر شده: ۱ بار
    # نوشته شده: ۱۰ سال پیش
    ۱۷ شهریور ۱۳۹۲ - ۱۵:۳۳

    خوب روش اول که میگید فرض کلاس رو گذاشتیم بعد یه ارسال دیگه انجام دادیم پست اول شد پست دو و الی آخر شماره هاشون به هم میریزه و کلاس چون از قبل گذاشتیم تغییری نمی کنه و با یه ارسال جدید کل قالب به هم میریزه

    روش دوم رو بیشتر توضیح میدید ؟

  • don.Diego

    آفلاین
    عضو
    تعداد نوشته‌ها: ۲۰
    تشکر شده: ۱۵ بار
    # نوشته شده: ۱۰ سال پیش
    ۱۷ شهریور ۱۳۹۲ - ۱۵:۴۹

    بله روش css و php این مشکل رو دارن و شما برای اینکه یه پست صرف نظر از شماره قرار گیریش تو صفحه استایل مجزا داشته باشه باید حتما این خصوصیتش تو دیتابیس ذخیره بشه

    در مورد custom field برای اینکه به یه پست custom field بدین باید از screen option که بالای صفحه کنار help قرار داره تیکشو بزنید تا پنلش زیر ادیتور پست نشون داده بشه .. از دو فیلد تشکیل شده یکی name یکی value .. شما می تونید یه custom field مثلا با اسم post_style ایجاد کنید و برای هر پست بهش یه مقدار متفاوت بدید و توی قالبتون مقدار این custom field رو نشون بده .. حالا این مقدار می تونه یه کلاس از پیش تعریف شده تو فایل سی اس اس باشه و شما به این ترتیب برای هر پست می تونید یه کلاس با استایل متفاوت تعریف کنید.

    نحوه فراخوندن custom field توی قالب رو هم تو پست قبلی گفتم

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    da77

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.