رفتن به مطلب

صفحه بندی برای دسته خاص


پست های پیشنهاد شده

سلام به عزیزان وردپرسی

من اومدم دوتا فایل تو قالبک ایجاد کردم به نام های

category-3.php

و

category-4.php

یعنی قالب دسته 3 و 4 از این دوتا فایل فراخوانی میشه

حالا من میخوام تو دسته 3 صفحه بندی بزارم و تو دسته 4 هم صفحه بندی بزارم باید چیکار کنم؟

من خودم اومدم افزونه

pagenavi رو نصب کردم و این کد رو تو دسته 3 بعد از مطالبش کپی کردم ولی نمایش نمیده

<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>

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

ممنون میشم اگر کسی به من یک لطفی کنه مشکل من برطرف بشه

اینم کد صفحه

category-3.php

من

<?php get_header(); ?>
<?php get_sidebar(); ?>

<div id="slideshow">
<div id="slides">
<img src="<?php bloginfo('template_url'); ?>/img/example-slide-1.jpg" />
<img src="<?php bloginfo('template_url'); ?>/img/example-slide-2.jpg" />
</div>
</div>
<div id="allContent">
<?php
$ls4_query = new WP_Query('showposts=3&cat=3');
while ($ls4_query->have_posts()):
$ls4_query->the_post();
$do_not_duplicate = $post->ID;?>
<div class="contents">
<div class="contentsTitle">
<div class="contentsTitleImg">
<img src="<?php bloginfo('template_url'); ?>/image/title-content.png" />
</div>
<div class="contentsTitleTxt">
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
</div>

</div>
<div class="contentsTitleLine">
</div>
<div class="contentsTxtBox">
<div class="contentsTxt">
<?php the_content(); ?>
</div>
<div class="contentsImg">
<?php
if(has_post_thumbnail()):
the_post_thumbnail('film_thumbs');
endif;
?>

</div>

</div>
</div>
<?php endwhile; ?>

<div id="page-navi">
<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>

</div>

</div>
</div>

<?php get_footer(); ?>

ویرایش شده توسط saman_kiyani
لینک به ارسال

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

پیشفرض کویری گرفته میشه

از حلقه پیشفرض استفاده کنید

لینک به ارسال

اگر صفحه category.php یا archive.php دارید از این صفحه ها و الا از index.php یک کپی بگیرید و تغییر نام بدید به category-3.php و category-4.php و کد صفحه بندی را هم بعد از endwhile و قبل از endif قرار بدید

لینک به ارسال

اگر صفحه category.php یا archive.php دارید از این صفحه ها و الا از index.php یک کپی بگیرید و تغییر نام بدید به category-3.php و category-4.php و کد صفحه بندی را هم بعد از endwhile و قبل از endif قرار بدید

من دقیقا کدهای hndex.php رو تو صفحه category-3.php کپی کردم فقط یک تغییر جزئی در این صفحه دادم

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

پیشفرض کویری گرفته میشه

از حلقه پیشفرض استفاده کنید

من باید از کوئری استفاده کنم چون

تو صفحه اصلی سایت من دو تا بخش مطالب هستش

یکی مربوط به آی دی 3 هستش و یکی مربطو به آی دی 4 هستش

برای درک بهتر

4تا پست زیر هم دارم که مربوط میشه به دسته مقالات یعنی آی دی 3

3تا پست هم زیر هم دارم که مربوط میشه به دسته ویدئوها یعنی آی دی 4

بخش مقالات میاد 4تا پست آخر آی دی 3 رو نمایش میده

بخش ویدئوها هم میاد 3تا پست آخر آی دی 4 رو نمایش میده

واسه چنین کاری مجبورم که از کوئری استفاده کنم

اگر راهکار دیگه ای دارید لطفا راهنمائی کنید

با تشکر

لینک به ارسال

درخواست شما برای برگه دسته هست نه صفحه اصلی

برای همین نیاز به کویری گرفتن نیست

لینک به ارسال

درخواست شما برای برگه دسته هست نه صفحه اصلی

برای همین نیاز به کویری گرفتن نیست

بله فرمایش شما درست هستش

در صفحه دسته نیازی نیست که از کوئری استفاده کنم

من کدهای کوئری رو که در صفحه category-3.php بود را پاک کردم

بعد کد مربوط به pagenavi رو به این صورت وارد کردم ولی بازم هم نمایش نمیده

<?php get_header(); ?>
<?php get_sidebar(); ?>

<div id="slideshow">
<div id="slides">
<img src="<?php bloginfo('template_url'); ?>/img/example-slide-1.jpg" />
<img src="<?php bloginfo('template_url'); ?>/img/example-slide-2.jpg" />
</div>
</div>
<div id="allContent">
<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
<div class="contents">
<div class="contentsTitle">
<div class="contentsTitleImg">
<img src="<?php bloginfo('template_url'); ?>/image/title-content.png" />
</div>
<div class="contentsTitleTxt">
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
</div>

</div>
<div class="contentsTitleLine">
</div>
<div class="contentsTxtBox">
<div class="contentsTxt">
<?php the_content(); ?>
</div>
<div class="contentsImg">
<?php
if(has_post_thumbnail()):
the_post_thumbnail('film_thumbs');
endif;
?>

</div>

</div>
</div>
<?php endwhile; ?>
<div id="page-navi">
<?php wp_pagenavi( array( 'options' => PageNavi_Core::$options->get_defaults() ) ); ?>

</div>
<?php endif; ?>


</div>
</div>

<?php get_footer(); ?>

نکته ای که الان متوجه شدم این هستش که من برای تست کد مربوط به نمایش pagenavi رو تو صفحه ایندکسم استفاده کردم / در صفحه اصلی سایت من از کوئری استفاده شده

تو صفحه اصلی pagenavi رو نمایش میده ولی وقتی بر روی صفحه 2 کلیک می کنم مطالب صفحه اصلی رو نمایش میده

ویرایش شده توسط saman_kiyani
لینک به ارسال

کد زیر را داخل فانکشن قرار بدید


if ( ! function_exists( 'rokesh_pagination' ) ) :
function rokesh_pagination() {
global $wp_query;
$big = 999999999; // need an unlikely integer
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'prev_next' => True,
'prev_text' => __('« قبلی'),
'next_text' => __('بعدی »'),
'total' => $wp_query->max_num_pages
) );
}
endif;

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


<div class="pagination">
<?php rokesh_pagination(); ?>
</div>

لینک به ارسال
و صفحه اصلی pagenavi رو نمایش میده ولی وقتی بر روی صفحه 2 کلیک می کنم مطالب صفحه اصلی رو نمایش میده

یکبار از طریق پیبشخوان - تنظیمات - پیوند یکتا

ساختار پیوند یکتا را به روز رسانی کنید و مطمئن شوید اروری در رابطه با دسترسی htaccess دریافت نمی کنید

لینک به ارسال

کد زیر را داخل فانکشن قرار بدید


if ( ! function_exists( 'rokesh_pagination' ) ) :
function rokesh_pagination() {
global $wp_query;
$big = 999999999; // need an unlikely integer
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'prev_next' => True,
'prev_text' => __('« قبلی'),
'next_text' => __('بعدی »'),
'total' => $wp_query->max_num_pages
) );
}
endif;

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


<div class="pagination">
<?php rokesh_pagination(); ?>
</div>

کدهای شما رو تو صفحه اصلی جایگزین کردم / صفحه بندی رو تو صفحه اصلی نمایش میده ولی وقتی صفحه 2 رو میزنم بازم مطالب صفحه اصلی رو نمایش میده

کدهای شما رو تو فایل category-3.php جایگزین کردم ولی در دسته مورد نظر نمایش داده نمیشه

یکبار از طریق پیبشخوان - تنظیمات - پیوند یکتا

ساختار پیوند یکتا را به روز رسانی کنید و مطمئن شوید اروری در رابطه با دسترسی htaccess دریافت نمی کنید

اروری دریافت نکردم

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

اگر من قالبم رو بدم دوستان مشکلم رو برطرف کنند هزینه اش چقدر می شود؟

از عزیزان تقاضا دارم اگر می توانند مشکل من رو حل کنند پیغام خصوصی بدند و هزینه رو اعلام بفرمایند

خیلی خیلی سر این موضوع درگیر شدم و چند روز هستش که این قضیه من رو سر کار گذاشته

با تشکر

لینک به ارسال

تابع رو ساده قرار دهید


<?php wp_pagenavi(); ?>

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

لینک به ارسال

تابع رو ساده قرار دهید


<?php wp_pagenavi(); ?>

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

مشکل حل شد

در صفحه category3.php

تابع رو ساده قرار دادم و مشکل برطرف شد

حالا اگه بخواهیم تو صفحه ای که از کوئری برای لود پستها استفاده کردیم از pagenavi استفاده کنیم راهکاری نداره؟

چون تو صفحه اصلی از کوئری استفاده کردم در جاهای مختلفش حالا اگه بخواهم تو صفحه اصلی هم از pagenavi استفاده کنم باید چیکار کنم؟

چون تست کردم دیدم که تو صفحه اصلی نمایش میده منتها وقتی بر روی صفحه 2 کلیک می کنم بازم مطالب صفحه 1 رو نمایش میده

لینک به ارسال

به این شکل

wp_pagenavi( array( 'query' => $wp_query ) );

متغییر کویری رو باید در تابع قرار دهید

لینک به ارسال

به این شکل

wp_pagenavi( array( 'query' => $wp_query ) );

متغییر کویری رو باید در تابع قرار دهید

میشه یک مقدار بیشتر توضیح بدید

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

		   <?php
$ls4_query = new WP_Query('showposts=4&cat=3');
while ($ls4_query->have_posts()):
$ls4_query->the_post();
$do_not_duplicate = $post->ID;?>

حالا باید کد pagenavi رو چگونه بنویسم؟

لینک به ارسال

ممنون از راهنمایی استاد عزیز

خقیقتش من سطح برنامه نویسی در حد صفر هستم

میشه کدش رو دقیقا بفرمائید که باید به چه شکلی باشه؟

لینک به ارسال

داده‌ها در ls4_query ذخیره شده‌اند

wp_pagenavi( array( 'query' => $ls4_query ) );

کد شما رو جایگزین کد pagenavi خودم در صفحه اصلی کردم که باز هم مشکل حل نشد

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

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...