رفتن به مطلب

مشکل در صفحه بندی مطالب


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

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


<?php
//page navi
function wpbeginner_numeric_posts_nav() {
if( is_singular() )
return;
global $wp_query;
/** Stop execution if there's only 1 page */
if( $wp_query->max_num_pages <= 1 )
return;
$paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
$max = intval( $wp_query->max_num_pages );
/** Add current page to the array */
if ( $paged >= 1 )
$links[] = $paged;
/** Add the pages around the current page to the array */
if ( $paged >= 3 ) {
$links[] = $paged - 1;
$links[] = $paged - 2;
}
if ( ( $paged + 2 ) <= $max ) {
$links[] = $paged + 2;
$links[] = $paged + 1;
}
echo '<nav><ul class="pagination">' . "\n";
/** Previous Post Link */
if ( get_previous_posts_link() )
printf( '<li>%s</li>' . "\n", get_previous_posts_link() );
/** Link to first page, plus ellipses if necessary */
if ( ! in_array( 1, $links ) ) {
$class = 1 == $paged ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
if ( ! in_array( 2, $links ) )
echo '<li><a>…</a></li>';
}
/** Link to current page, plus 2 pages in either direction if necessary */
sort( $links );
foreach ( (array) $links as $link ) {
$class = $paged == $link ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
}
/** Link to last page, plus ellipses if necessary */
if ( ! in_array( $max, $links ) ) {
if ( ! in_array( $max - 1, $links ) )
echo '<li><a>…</a></li>' . "\n";
$class = $paged == $max ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
}
/** Next Post Link */
if ( get_next_posts_link() )
printf( '<li>%s</li>' . "\n", get_next_posts_link() );
echo '</ul></nav>' . "\n";
}
//end page navi

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


<?php wpbeginner_numeric_posts_nav(); ?>

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


<!--begin page-number-->
<div class="col-sm-12 col-xs-12 col-lg-12 col-md-12 text-center">
<ul class="pagination">
<?php wpbeginner_numeric_posts_nav(); ?>
</ul>
</div>
<!--end page-number-->

خب اینم ادرس سایتم http://koshkoonline.ir/ اما مشکلی است اینکه تازمانی سایت من روی لوکال بود درست کار میکرد صفحه بندی مطالبم اما حالا که روی سرور قرار گرفته فرض کنید من روی صفحه 2کلیک میکنم دوباره همان مطالب صفحه اول را به من نمایش میدهد اما ادرس تغییر میکنه به این شکلhttp://koshkoonline.ir/page/2/ممنون میشم کمکم کنید اما نمیدونم در زمان لوکال درست کار میکرد.

لینک به ارسال

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

لینک به ارسال

سلام

کوئری داخل صفحه اصلی نوشتید؟ یکبار پیوند یکتا رو تغییر بدید ببینید حل میشه یا نه.

لینک به ارسال

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

لینک به ارسال

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

لینک به ارسال

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


function fakhar_pagination() {
global $wp_query;
$big = 999999999;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages )
);
}

و با این کد فراخوانی


<ul class="pagination" id="pagination">
<?php fakhar_pagination();?>
</ul>

قرارش بدی تو سایت و با این دو خط اسکریپت بوت استراپش کنی


$("#pagination").find("a").each(function() {
$(this).wrap("");
});
$("#pagination").find("span").each(function() {
$(this).wrap('<li class="active"><a></a></li>');
});

لینک به ارسال

ممنون استاد من بازم از تست کردم من کد شما را هم تست کردم بازم مشکل داره شما به این عکس نگاه کنید ادرس مرورگر در زمانی که بر روی صفحه 2کلیک میشود ادرس در مرورگر عوض میشود اما محتوای عوض نمیشه وهمان محتوای صفحه اصلی به نمایش در میاید.منظور شما که گفتید مشکل از پیوندهای یکتا است چی هست.

لینک به ارسال

ممنون استاد من بازم از تست کردم من کد شما را هم تست کردم بازم مشکل داره شما به این عکس نگاه کنید ادرس مرورگر در زمانی که بر روی صفحه 2کلیک میشود ادرس در مرورگر عوض میشود اما محتوای عوض نمیشه وهمان محتوای صفحه اصلی به نمایش در میاید.منظور شما که گفتید مشکل از پیوندهای یکتا است چی هست.

کدوم عکس؟

کدهای صفحه بندی (هر دو کد) برای ساختار نوشته


%نام نوشته%

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

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

تو قالبتون چند تا کوئری دارید (مثل سر خط خبرها) چک کنید کوئری هاتون ری ست شدند یا خیر اگر نشدند بعد از اتمام هر کوئری تابع


<?php wp_reset_query();?>

رو اضافه کنید

لینک به ارسال

من چگونه باید چک کنم که کوئری های قالبم resetشدند یانه استاد؟راه حل دیگه ای وجود نداره برای رفع این مشکل.

لینک به ارسال

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

لینک به ارسال

هر جا کوئریتون اجرا شده بعد از اینکه کارتون با کوئری تموم شده باید ربیست بشه

مستندات ژنراتور کوئری ساز رو بخونید در موپردش توضیح داده شده

http://wp-parsi.com/generator/video.php

لینک به ارسال

استاد ممنون نکته مهمی را فهمیدم در اسکلتبندی های کوئری هاخب حالا من مانند این کوئری که برای اسلایدشو زدم از دستور Resetاستفاده کردم


<!--begin slider-->
<?php $ro_slider_query= new WP_Query(array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'show_in_slider',
'order' => 'DESC',
'orderby' => 'ID',
'posts_per_page' =>'3',
));
if($ro_slider_query->have_posts()) : ?>
<!--begin code slider-->
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel" style="margin-bottom:20px;">
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<!--begin slides -->
<?php
$is_first_item = true;
while($ro_slider_query->have_posts()) : $ro_slider_query->the_post();
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'full', true);
$thumb_url = $thumb_url_array[0];
$item_class = 'item';
if( $is_first_item ){
$item_class .= ' active';
$is_first_item = false;
} ?>
<div class="<?php echo $item_class; ?>">
<a href="<?php the_permalink(); ?>"><img src="<?php echo $thumb_url; ?>"></a>
<div class="carousel-caption"><?php the_content(); ?></div>
</div>
<?php endwhile; ?>
</div>
</div>
<?php endif; wp_reset_query(); ?>
<!--end slider-->

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

خب این چی باعث شده این مشکل به وجود بیاد.

لینک به ارسال

هر جا کوئری شروع کردید آخر اون باید اینجوری بسته شود.


<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>

لینک به ارسال

ممنون استاد دستت درد نکنه من در قالب سایتم فایلی به نام home.phpندارم این کدهای فایل index.php


<?php
if ( is_home() ) :
get_header( 'home' );
elseif ( is_404() ) :
get_header( '404' );
else :
get_header();
endif;
?>
<!--begin container-fluid-->
<div class="container-fluid">
<!--begin row-container-->
<div class="row">
<div id="container-flud" class="col-lg-12 col-xs-12">
<div class="container">
<div class="row">
<div id="container" class="col-lg-12 col-xs-12">
<!--begin sidebar-right-->
<?php get_sidebar( 'right' ); ?>
<!--end sidebar-right-->
<!--begin content-->
<div class="col-lg-6 col-md-8 col-sm-12 col-xs-12 content" style="margin-top:10px;">
<!--begin slider-->
<?php $ro_slider_query= new WP_Query(array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'show_in_slider',
'order' => 'DESC',
'orderby' => 'ID',
'posts_per_page' =>'3',
));
if($ro_slider_query->have_posts()) : ?>
<!--begin code slider-->
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel" style="margin-bottom:20px;">
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<!--begin slides -->
<?php
$is_first_item = true;
while($ro_slider_query->have_posts()) : $ro_slider_query->the_post();
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'full', true);
$thumb_url = $thumb_url_array[0];
$item_class = 'item';
if( $is_first_item ){
$item_class .= ' active';
$is_first_item = false;
} ?>
<div class="<?php echo $item_class; ?>">
<a href="<?php the_permalink(); ?>"><img src="<?php echo $thumb_url; ?>"></a>
<div class="carousel-caption"><?php the_content(); ?></div>
</div>
<?php endwhile; ?>
</div>
</div>
<?php endif; wp_reset_query(); ?>
<!--end slider-->
<!--begin content-->
<!--begin c1-->
<?php
if (is_home()) {
query_posts("cat=-11,-10");
}
if(have_posts()){
while(have_posts()){
the_post();
?>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="thumbnail">
<div class="header">
<a href="<?php the_permalink();?>">
<?php the_post_thumbnail();?>
</a>
<ul class="list-inline details-post">
<li class="author col">
<i class="fa fa-user"></i>
<a href="#"> <?php the_author();?> </a>
</li>
<li class="date col">
<i class="fa fa-calendar-plus-o"></i>
<time datetime="061-23-21"><?php the_time('y/m/d');?> </time>
</li>
<li class="view col">
<i class="fa fa-commenting"></i>
<a href="#"> <?php comments_popup_link();?> </a>
</li>
</ul>
</div>
<div class="caption title-contentindex">
<a href="<?php the_permalink();?>">
<h4><?php the_title();?></h4>
</a>
<p>
<?php the_content();?>
</p>
<div class="clearfix">
</div>
</div>
</div>
</div>
</div>
<?php }
}
wp_reset_query(); ?>
<!--end c1-->
<!--end content-->

</div>
<!--end content-->
<!--begin sidebar-left-->
<?php get_sidebar( 'left' );?>
<!--end sidebar-left-->
<!--begin page-number-->
<div class="col-sm-12 col-xs-12 col-lg-12 col-md-12 text-center">
<?php wpbeginner_numeric_posts_nav();?>

</div>
<!--end page-number-->
</div>
</div>
</div>
</div>
</div>
</div>
<!--end row-container-fluid-->
</div>
<!--end container-fluid-->
<!--begin footer-->
<?php
if ( is_home() ) :
get_footer( 'home' );
elseif ( is_404() ) :
get_footer( '404' );
else :
get_footer();
endif;
?>
<!--end footer-->
<?php wp_footer();?>
<div id="bttop"><i class="fa fa-chevron-up fa-2x"></i></div>
</body>
</html>

ویرایش شده توسط mk-73
لینک به ارسال

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


<?php
//page navi
function wpbeginner_numeric_posts_nav() {
if( is_singular() )
return;
global $wp_query;
/** Stop execution if there's only 1 page */
if( $wp_query->max_num_pages <= 1 )
return;
$paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
$max = intval( $wp_query->max_num_pages );
/** Add current page to the array */
if ( $paged >= 1 )
$links[] = $paged;
/** Add the pages around the current page to the array */
if ( $paged >= 3 ) {
$links[] = $paged - 1;
$links[] = $paged - 2;
}
if ( ( $paged + 2 ) <= $max ) {
$links[] = $paged + 2;
$links[] = $paged + 1;
}
echo '<nav><ul class="pagination">' . "\n";
/** Previous Post Link */
if ( get_previous_posts_link() )
printf( '<li>%s</li>' . "\n", get_previous_posts_link() );
/** Link to first page, plus ellipses if necessary */
if ( ! in_array( 1, $links ) ) {
$class = 1 == $paged ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
if ( ! in_array( 2, $links ) )
echo '<li><a>…</a></li>';
}
/** Link to current page, plus 2 pages in either direction if necessary */
sort( $links );
foreach ( (array) $links as $link ) {
$class = $paged == $link ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
}
/** Link to last page, plus ellipses if necessary */
if ( ! in_array( $max, $links ) ) {
if ( ! in_array( $max - 1, $links ) )
echo '<li><a>…</a></li>' . "\n";
$class = $paged == $max ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
}
/** Next Post Link */
if ( get_next_posts_link() )
printf( '<li>%s</li>' . "\n", get_next_posts_link() );
echo '</ul></nav>' . "\n";
}
//end page navi
?>

لینک به ارسال

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

لینک به ارسال

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

لینک به ارسال

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

لینک به ارسال

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

لینک به ارسال


add_action( 'pre_get_posts', 'foo_modify_query_exclude_category' );
function foo_modify_query_exclude_category( $query ) {
if ( ! is_admin() && $query->is_main_query() && ! $query->get( 'cat' ) )
$query->set( 'cat', '-5' );
}

https://codex.wordpress.org/Function_Reference/is_main_query

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

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

لینک به ارسال

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

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

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

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

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

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

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

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

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