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

rocki3oy

کاربر عضو
با سلام خدمت شما دوستان عزیز.

همان طور که می دونید در وردپرس برای اینکه برای قسمت دسته بندی ها قالب در نظر بگیریم باید فایل category.php رو ایجاد کنیم.

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

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

در این کد تغییر ایجاد کنید:


کد:
    <?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>    
            <div class="gLeftBox">
                <a href="<?php the_permalink(); ?>"><?php echo aldenta_get_post_image();?></a>
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            </div>
    <?php endwhile; else: ?>
    <?php endif; ?><?php wp_reset_query(); ?>
معمولا من می خوام در جاهای دیگه می خوام یک دسته ی خاصی رو نمایش بدم که از مطلب پنجم نمایش بده از کد زیر استفاده می کنم.


کد:
    <?php query_posts('category_name=0&showposts=10&offset=5'); ?>
    <?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>    
            <div class="gLeftBox">
                <a href="<?php the_permalink(); ?>"><?php echo aldenta_get_post_image();?></a>
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            </div>
    <?php endwhile; else: ?>
    <?php endif; ?><?php wp_reset_query(); ?>
که تغییر در دستور زیر این کارو انجام میده:


کد:
offset=5
ممنون میشم در این زمینه کمکم کنید با تشکر.

 

rocki3oy

کاربر عضو
مدیران عزیز خواهش می کنم کمکم کنید.

چون این آموزش نیست سوال کردم.ممنون میشم راهنماییم کنین.

خوب سوالمو یه جور دیگه می پرسم.

من می خوام در category.php کدی رو استفاده کنمم که مطالب رو از اولین مطلب نشون نده از پنجمین دسته نشون بده.

 

Mohammad

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



ببین کمکت میکنه

 

rocki3oy

کاربر عضو
شما که یوزر فعالی باید بدونی برای دریافت پاسخ باید 24 ساعت صبر کنی. لطفا رعایت کن

ببین کمکت میکنه
سلام.

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

به هر حال عذرخواهی منو بپذیرید اصلا هدف اسپم نبود.

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

اون چیزی که من می خوام نیست.

قربان بزارید یه جوره دیگه بیان کنم.

شما در فایل cagegory.php بخواین مطالب رو نمایش بدید از کد زیر استفاده می کنید:


کد:
<?php if(have_posts()): ?><?php while(have_posts()):the_post(); ?>
<li><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; else: ?>
<?php endif; ?>
خوب اگه ما این کد رو استفاده کنیم از اولین مطالب در او دسته ای که انتخاب کردیم نمایش میده.

ولی من نمی خوام از اولین مطالب نشون بده می خوام از پنجمین مطلب نشون بده.

اینکار شدنی هست.

من از کد زیر استفاده کردم کار نکرد:


کد:
<?php query_posts('offset=5'); ?>
<?php if(have_posts()): ?><?php while(have_posts()):the_post(); ?>
<li><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; else: ?>
<?php endif; ?>
با تشکر فراوان

 

Mohammad

مدیر انجمن
پرسنل مدیریت
متوجه هستم مشکل چیه... شما نیاز به کوئری گرفتن ندارید! کافیه با while که پایینش هست ور برید. کدش رو بارها دیدما... الان پیداش نمیکنم

 

Black_Sky

کاربر عضو
به طور کلی توابعی که میشه داخل یک حلقه به کار برد به شرح زیر هستش :

<?php $args = array(
'posts_per_page' => 5,
'offset' => 0,
'category' => '',
'orderby' => 'post_date',
'order' => 'DESC',
'include' => '',
'exclude' => '',
'meta_key' => '',
'meta_value' => '',
'post_type' => 'post',
'post_mime_type' => '',
'post_parent' => '',
'post_status' => 'publish',
'suppress_filters' => true ); ?>
کد:
یعنی شما به جای استفاده از Offset باید از تگ 'exclude' استفاده کنید. برای نحوه ی استفاده هم به مثال زیر توجه کنید :


<ul>
<?php


$args = array( 'posts_per_page' => 5, 'exclude'=> 1, );

$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endforeach;
wp_reset_postdata();?>

</ul>
کد:
کد بالا فقط یک مثال هست و کاربردی ندارد !!

اگر بخواهید چند دسته را حذف کنید میتونید به جای عدد 1 از این رشته استفاده کنید : 1,2,3,4,9,5


 

rocki3oy

کاربر عضو
ممنونم بابت پاسخ گویتون.

بذارید بگم هدفم از این کار چیه شاید اون مشخص بشه.

نگاه کنید من فایل category.php رو طوری درست کردم که پست ها با سه استایل مختلف نمایش داده میشن.

خوب استایل های به چه صورت هستند:

به این عکس نگاه کنید که کامل توضیح بدم هدف چیه:



خوب من می تونم به همین شکل پست هارو نمایش بدم که میشه کد زیر:


کد:
<?php query_posts('category_name=seo&showposts=5&offset=0'); ?>
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
[STYLE 1]
<?php endwhile; else: ?>
<?php endif; ?><?php wp_reset_query(); ?>
<br>
<?php query_posts('category_name=seo&showposts=4&offset=5'); ?>
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
[STYLE 2]
<?php endwhile; else: ?>
<?php endif; ?><?php wp_reset_query(); ?>
<br>
<?php query_posts('category_name=seo&showposts=10&offset=9'); ?>
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
[STYLE 3]
<?php endwhile; else: ?>
<?php endif; ?><?php wp_reset_query(); ?>
محمد آقا عزیز الان اگه این کد رو در فایل category.php استفاده کنم مشکل حل میشه ولی برای هر دسته باید یه category.php درست کنم و همین طور تمامی لاین زیر رو با توجه به دسته مورد نظر تغییر بدم:


کد:
category_name=seo&showposts=10&offset=9
اگر سایتم تعداد دسته هاش زیاد بشه اونوقت فایل های پوسته خیلی زیاد میشه.الان کد بالا برای دسته seo می باشد که فایل دسته بندی category-seo.php میشه(مدیران عزیز اگه می بینید مسائل جزئی رو می گم هدف اینه که اگه کاربر دیگه ای این مطلب رو خوند متوجه بشه هدف فقط یادگیریه-جسارت نباشه-خودم خیلی دوست دارم این مورد رو یاد بگیرم)

یه مورد دیگه هم هست اگر به فرض دسته های سایت ما 5 تا باشه اونوقت میشه از کد بالا در Category.php استفاده کرد ولی نمیشه از کد صفحه بندی wp pagenavi استفاده کرد چون کار نمی کنه ،با قرار دادن کد افزونه شماره صفحات نمایش داده میشه ولی روی هر صفحه ای کلیک کنید همون صفحه یک نمایش داده میشه.

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

به صورت کلی کدی می خوام به این مضموم:

"نمایش پست های وردپرس در با استایل مختلف"

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

You must be registered for see images attach


 
آخرین ویرایش توسط مدیر:

rocki3oy

کاربر عضو
یک کدی هست گفتم بگم برای بعضی از دوستان شاید نیاز بشه:

با قرار دادن این کد در function.php می تونید برای اولین پست استایل متفاوتی در نظر بگیرید:


کد:
add_filter( 'post_class', 'wps_first_post_class' ); function wps_first_post_class( $classes ) { global $wp_query; if( 0 == $wp_query->current_post ) $classes[] = 'first'; return $classes; }
ما تو خط 5ام به وردپرس میگیم که به اولین پست استایل first رو بده و شما با توجه به نیاز خودتون میتونید برای اون استایل تعریف کنید.

البته این به کار من نمیاد.

 

Mohammad

مدیر انجمن
پرسنل مدیریت
شما بیا یک category بساز بعد شرط براش تعیین کن. اگه دسته 1 بود این استایل باشه. اگه دسته 2 بود استایل فلان...

 

rocki3oy

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

نگاه کنید که از بالا اگر به عکس توجه داشته باشید 5 تا مطلب به صورت اسلاید و بعد 4 مطلب در کنار هم و سپس 10 مطلب دیگه به صورت زیر هم نمایش بده.

خوب حالا من به صورت کلی بگم.مثلا اگر بخوام هر کی روی هر دسته ای کلیک کنه به طور مثال روی دسته سئو کلیک کرد یا هر دسته ای مطالب دسته به صورت زیر نمایش داده بشه.

یعنی 5 تا مطلب اول به صورت اسلاید و بعد 4 تا کنار هم و بعد 5 یا هر تعدادی که باقی مونده به صورت زیر هم قرار داده بشه.

استایل ها آمادست فقط درگیر کد این قضیه هستم.با تشکر.

 
بالا