رفتن به مطلب

صفحه بندی در page template


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

من یک صفحه اختصاصی برای سایتم طراحی کردم که اخرین مطالب مربوط به یک تگ را در اون صفحه نمایش میده. این هم کد آن:

<?php 
$test= new WP_Query(array(
'post_type' => 'post',
'post_status' => 'publish',
'tag'	=>	'008',
'order' => 'DESC',
'orderby' => 'date',
'posts_per_page' =>'1',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1 
)); ?> 
<?php 
if($test->have_posts()) : ?>
<?php 
while($etekhab->have_posts()) : $test->the_post();?> 
<?php the_title(); ?>
<?php endwhile; ?>
<?php endif; ?>
<?php wpbeginner_numeric_posts_nav(); ?>
<?php wp_reset_query(); ?>

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

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 '<div class="navigation"><ul>' . "\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>…</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>…</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></div>' . "\n";

}

مشکل این است که بعد از اعمال، شماره صفحات را نمایش نمی دهد. (این کد در قسمت category و archive به راحتی نمایش داده می شود.)

حتی کد زیر را بعد از نصب WP-PageNavi قرار دادم ولی کار نکرد.

 

<?php wp_pagenavi(); ?>

تو نت گشتم ظاهرا مشکل کوئری است که ازش استفاده می کنم. ولی هیچی نفمیدم که برای رفع آن باید چه کار کنم؟

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

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

<div class="wp-pagenavi">
<div id="wp_page_numbers">
<ul>
    <li class="active_page"><!--?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?--></li>
</ul>
</div>
</div>

و کد زیر را هم در فایل style.css قالب قرار بدین.

.wp-pagenavi {
    clear: both;
    padding:0px 5px 15px 5px;
    direction:rtl
}
.wp-pagenavi h3 {
    font-weight:normal
}
.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    background:#F9F8F2;
    border: 1px solid #ECE9D8;
    padding: 1px 6px;
    float :right;
    margin: 2px;
    -moz-border-radius: 3px;
}
.wp-pagenavi span.current {
    background:#ffffff;
    color:#666666;
    border: 1px solid #ECE9D8;
}
.wp-pagenavi a:hover {
    background:#e20030;
    border-color: #87001d;
    color:#ffffff
}
.wp-pagenavi span.current {
    font-weight: bold;
}

 

لینک به ارسال

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

+یک مورد اون بالا اشتباهی به جای $test از انتخاب etekhab اسفاده کرد

<?php 
$test= new WP_Query(array(
'post_type' => 'post',
'post_status' => 'publish',
'tag'	=>	'008',
'order' => 'DESC',
'orderby' => 'date',
'posts_per_page' =>'1',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1 
)); ?> 
<?php 
if($test->have_posts()) : ?>
<?php 
while($test->have_posts()) : $test->the_post();?> 
<?php the_title(); ?>
<?php endwhile; ?>
<?php endif; ?>
<?php wpbeginner_numeric_posts_nav(); ?>
<?php wp_reset_query(); ?>

 

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

شما یک کوئری معمولی بنویسید

بخش paged و دستورات مرتبطش رو توی کوئری قرار بدید ببینید تو حالت ساده صفحه بندی اعمال میشه؟

لینک به ارسال
در در 1/27/2016 at 16:13، dariushbabri گفته است :

مرسی و ممنون

طراحی سایت

درود ، 

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

لینک به ارسال

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

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

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

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

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

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

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

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

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