mk-73

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

25 پست در این موضوع قرار دارد

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


<?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/ممنون میشم کمکم کنید اما نمیدونم در زمان لوکال درست کار میکرد.

0

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

سلام

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

1

به اشتراک گذاری این پست


لینک به پست

نه مشکلم حل نشد....

0

به اشتراک گذاری این پست


لینک به پست

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

2

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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


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>');
});

1

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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

کدوم عکس؟

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


%نام نوشته%

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

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

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


<?php wp_reset_query();?>

رو اضافه کنید

1

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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

اینکه کار مشکلی نیست

1

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

استاد ممنون نکته مهمی را فهمیدم در اسکلتبندی های کوئری هاخب حالا من مانند این کوئری که برای اسلایدشو زدم از دستور 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به من نمایش داده میشود خب.

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

0

به اشتراک گذاری این پست


لینک به پست

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


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

1

به اشتراک گذاری این پست


لینک به پست

انجام دادم بازم مشکلم حل نشد

0

به اشتراک گذاری این پست


لینک به پست

کدهای فایل index.php یا home.php رو بگذارید اینجا

1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

ممنون استاد دستت درد نکنه من در قالب سایتم فایلی به نام 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
0

به اشتراک گذاری این پست


لینک به پست

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


<?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
?>

0

به اشتراک گذاری این پست


لینک به پست

این رو حذف و تست کنید


if (is_home()) {
query_posts("cat=-11,-10");
}

1

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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

1

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست


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خط کد را پاک کردم چه ارتباطی داشت که صفحه بندی مطالبم درست کار نکنه.

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

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری