رفتن به مطلب

عدم نمایش صفحه بندی در برگه


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

سلام و عرض ادب خدمت دوستان محترم.

بنده مطالب رو دارم در یک برگه فراخوانی میکنم.

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

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

اما تو صفحه index و category که امتحان کردم نمایش داده میشه.

چه کار باید کنم؟؟

لینک به ارسال
در 51 دقیقه قبل، pouyavatani گفته است :

سلام و عرض ادب خدمت دوستان محترم.

بنده مطالب رو دارم در یک برگه فراخوانی میکنم.

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

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

اما تو صفحه index و category که امتحان کردم نمایش داده میشه.

چه کار باید کنم؟؟

سلام

تعداد پست ها رو تو هر صفحه باید تو query تعیین کنی.... اینکار رو انجام دادی شما؟

کدت رو بزاری ببینم بهتره

لینک به ارسال
در 10 دقیقه قبل، davoodjafari گفته است :

سلام

تعداد پست ها رو تو هر صفحه باید تو query تعیین کنی.... اینکار رو انجام دادی شما؟

کدت رو بزاری ببینم بهتره

 

من با استفاده از قطعه کد زیر پست ها رو توی یک برگه فراخوانی کردم:

 

<?php
$args = array(
    'offset'           => 0,
    'category_name'    => '',
    '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 );

$query_mine=new WP_Query($args);
while($query_mine->have_posts())
{
    $query_mine->the_post();
    ?>
    <div class="card">
        <a href="<?php the_permalink(); ?>">
            <img class="card-img-top"  src="<?php echo get_the_post_thumbnail_url(); ?>"></a>
        <div class="card-body">
            <i><?php the_category(' , '); ?></i>
        </div>

    </div>

<?php }?>

 

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

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

سلام و درود @pouyavatani

 

شما چون از حلقه ثانویه استفاده کردید باید به تابعی که صفحه بندی رو نمایش میده آبجکت WP_Query ای که ساختید رو پاس بدید تا بتونه نمایش بده Pagination رو.

لینک به ارسال
در 39 دقیقه قبل، mehran-be گفته است :

سلام و درود @pouyavatani

 

شما چون از حلقه ثانویه استفاده کردید باید به تابعی که صفحه بندی رو نمایش میده آبجکت WP_Query ای که ساختید رو پاس بدید تا بتونه نمایش بده Pagination رو.

خیلی ممنون ابجکت رو چطور باید پاس بدم؟

لینک به ارسال
در 3 دقیقه قبل، pouyavatani گفته است :

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

خوب پس باید به تابعی که استفاده میکنید این قابلیت اضافه بشه.

لینک به ارسال
در 9 دقیقه قبل، pouyavatani گفته است :

چه قابلیتی؟

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

الان شما اون تابع صفحه بندی رو چک کنی توش یه جا نوشته:

global $wp_query;

این یعنی از wp_query سراسری استفاده میکنه که این بدرد شما نمیخوره باید جای این از همون متغییر $query_min که شما آبجکت کلاس WP_Query رو داخلش ریختی استفاده کنه.

لینک به ارسال
در 14 دقیقه قبل، mehran-be گفته است :

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

الان شما اون تابع صفحه بندی رو چک کنی توش یه جا نوشته:


global $wp_query;

این یعنی از wp_query سراسری استفاده میکنه که این بدرد شما نمیخوره باید جای این از همون متغییر $query_min که شما آبجکت کلاس WP_Query رو داخلش ریختی استفاده کنه.

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

 

<?php
function 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('Previous') );

    /**	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('Next') );

    echo '</ul></div>' . "\n";

}
?>

 

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

لینک به ارسال
در 6 دقیقه قبل، pouyavatani گفته است :

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

function numeric_posts_nav($wp_query = false) {

    if($wp_query === false)
		
        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('Previous') );

    /**	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('Next') );

    echo '</ul></div>' . "\n";

}

این میشه تابع.

بعد اون متغییری که توش یه آبجکت از WP_Query رو ساختی پاس میدی بهش.

<? numeric_posts_nav($query_min); ?>

 

لینک به ارسال
در 4 دقیقه قبل، mehran-be گفته است :

function numeric_posts_nav($wp_query = false) {

    if($wp_query === false)
		
        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('Previous') );

    /**	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('Next') );

    echo '</ul></div>' . "\n";

}

این میشه تابع.

بعد اون متغییری که توش یه آبجکت از WP_Query رو ساختی پاس میدی بهش.


<? numeric_posts_nav($query_min); ?>

 

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

لینک به ارسال
در 1 دقیقه قبل، pouyavatani گفته است :

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

این صفحه بندی به چه شکله؟

یه عکس بفرست.

لینک به ارسال
در 1 دقیقه قبل، mehran-be گفته است :

این صفحه بندی به چه شکله؟

یه عکس بفرست.

پیوست شد.کد تابعش رو هم بالا قرار دادم.

توی index.php و category.php

تابع رو که به نام numeric_post_nav هست فراخونی کردم و بدون مشکل کار کرد.

اما توی یکی از برگه هام وقتی تابع رو فراخونی میکنم تابع کار نمیکنه. به متغییر query_mine هم که شما فرمودید پاس دادم تابع رو اما بازهم کار نکرد. :(

Untitled.png

لینک به ارسال
در 8 دقیقه قبل، pouyavatani گفته است :

پیوست شد.کد تابعش رو هم بالا قرار دادم.

توی index.php و category.php

تابع رو که به نام numeric_post_nav هست فراخونی کردم و بدون مشکل کار کرد.

اما توی یکی از برگه هام وقتی تابع رو فراخونی میکنم تابع کار نمیکنه. به متغییر query_mine هم که شما فرمودید پاس دادم تابع رو اما بازهم کار نکرد. :(

Untitled.png

اینم کد اون برگه :

 

<?php /* Template Name: galleries */ ?>
<?php get_header(); ?>

<div class="card container border-0 justify-content-center" style="padding: 2em;flex: 1;">

    <div class="card-columns">

        <?php
        $args = array(
            'posts_per_page'   => 5,
            'offset'           => 0,
            'category_name'    => '',
            '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 );

        $query_mine=new WP_Query($args);
        while($query_mine->have_posts())
        {
            $query_mine->the_post();
            ?>
            <div class="card">
                <a href="<?php the_permalink(); ?>">
                    <img class="card-img-top"  src="<?php echo get_the_post_thumbnail_url(); ?>"></a>
                <div class="card-body">
                    <i><?php the_category(' , '); ?></i>
                </div>

            </div>

        <?php }?>

    </div>


<div class="d-flex btnholder container justify-content-center">
    <div class="navigation">
        <?php numeric_posts_nav(); ?>
    </div>
</div>



</div>

<?php get_footer(); ?>

 

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

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

<?php /* Template Name: galleries */ ?>
<?php get_header(); ?>

<div class="card container border-0 justify-content-center" style="padding: 2em;flex: 1;">

    <div class="card-columns">

        <?php
        $args = array(
            'posts_per_page'   => 5,
		);

        $query_mine = new WP_Query($args);
        while($query_mine->have_posts())
        {
            $query_mine->the_post();
            ?>
            <div class="card">
                <a href="<?php the_permalink(); ?>">
                    <img class="card-img-top"  src="<?php echo get_the_post_thumbnail_url(); ?>"></a>
                <div class="card-body">
                    <i><?php the_category(' , '); ?></i>
                </div>

            </div>

        <?php }?>

    </div>


<div class="d-flex btnholder container justify-content-center">
    <div class="navigation">
        <?php numeric_posts_nav($query_mine); ?>
    </div>
</div>



</div>

<?php get_footer(); ?>

 

لینک به ارسال
در 1 دقیقه قبل، mehran-be گفته است :

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


<?php /* Template Name: galleries */ ?>
<?php get_header(); ?>

<div class="card container border-0 justify-content-center" style="padding: 2em;flex: 1;">

    <div class="card-columns">

        <?php
        $args = array(
            'posts_per_page'   => 5,
		);

        $query_mine = new WP_Query($args);
        while($query_mine->have_posts())
        {
            $query_mine->the_post();
            ?>
            <div class="card">
                <a href="<?php the_permalink(); ?>">
                    <img class="card-img-top"  src="<?php echo get_the_post_thumbnail_url(); ?>"></a>
                <div class="card-body">
                    <i><?php the_category(' , '); ?></i>
                </div>

            </div>

        <?php }?>

    </div>


<div class="d-flex btnholder container justify-content-center">
    <div class="navigation">
        <?php numeric_posts_nav($query_mine); ?>
    </div>
</div>



</div>

<?php get_footer(); ?>

 

بله درسته. نمایش داده نمیشه

لینک به ارسال
در هم اکنون، pouyavatani گفته است :

بله درسته. نمایش داده نمیشه

خوب شما افزونه WP-PageNavi رو نصب و فعال کن و کدهای برگت رو به شکل زیر تغییر بده.

<?php /* Template Name: galleries */ ?>
<?php get_header(); ?>

<div class="card container border-0 justify-content-center" style="padding: 2em;flex: 1;">

    <div class="card-columns">

        <?php
        $args = array(
            'posts_per_page'   => 5,
		);

        $query_mine = new WP_Query($args);
        while($query_mine->have_posts())
        {
            $query_mine->the_post();
            ?>
            <div class="card">
                <a href="<?php the_permalink(); ?>">
                    <img class="card-img-top"  src="<?php echo get_the_post_thumbnail_url(); ?>"></a>
                <div class="card-body">
                    <i><?php the_category(' , '); ?></i>
                </div>

            </div>

        <?php }?>

    </div>


<div class="d-flex btnholder container justify-content-center">
    <div class="navigation">
        <?php wp_pagenavi(array('query' => $query_mine)); ?>
    </div>
</div>



</div>

<?php get_footer(); ?>

 

لینک به ارسال
در 4 دقیقه قبل، mehran-be گفته است :

خوب شما افزونه WP-PageNavi رو نصب و فعال کن و کدهای برگت رو به شکل زیر تغییر بده.


<?php /* Template Name: galleries */ ?>
<?php get_header(); ?>

<div class="card container border-0 justify-content-center" style="padding: 2em;flex: 1;">

    <div class="card-columns">

        <?php
        $args = array(
            'posts_per_page'   => 5,
		);

        $query_mine = new WP_Query($args);
        while($query_mine->have_posts())
        {
            $query_mine->the_post();
            ?>
            <div class="card">
                <a href="<?php the_permalink(); ?>">
                    <img class="card-img-top"  src="<?php echo get_the_post_thumbnail_url(); ?>"></a>
                <div class="card-body">
                    <i><?php the_category(' , '); ?></i>
                </div>

            </div>

        <?php }?>

    </div>


<div class="d-flex btnholder container justify-content-center">
    <div class="navigation">
        <?php wp_pagenavi(array('query' => $query_mine)); ?>
    </div>
</div>



</div>

<?php get_footer(); ?>

 

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

لینک به ارسال
در 1 دقیقه قبل، pouyavatani گفته است :

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

به این شکل کد صفحه رو تغییر بدید.

<?php /* Template Name: galleries */ ?>
<?php get_header(); ?>

<div class="card container border-0 justify-content-center" style="padding: 2em;flex: 1;">

    <div class="card-columns">

        <?php
        $args = array(
            'posts_per_page'   => 5,
			'paged' => ($paged = get_query_var('paged', false)) ? absint($paged) : 1;
		);

        $query_mine = new WP_Query($args);
        while($query_mine->have_posts())
        {
            $query_mine->the_post();
            ?>
            <div class="card">
                <a href="<?php the_permalink(); ?>">
                    <img class="card-img-top"  src="<?php echo get_the_post_thumbnail_url(); ?>"></a>
                <div class="card-body">
                    <i><?php the_category(' , '); ?></i>
                </div>

            </div>

        <?php }?>

    </div>


<div class="d-flex btnholder container justify-content-center">
    <div class="navigation">
        <?php wp_pagenavi(array('query' => $query_mine)); ?>
    </div>
</div>



</div>

<?php get_footer(); ?>

 

لینک به ارسال
در 3 ساعت قبل، mehran-be گفته است :

به این شکل کد صفحه رو تغییر بدید.


<?php /* Template Name: galleries */ ?>
<?php get_header(); ?>

<div class="card container border-0 justify-content-center" style="padding: 2em;flex: 1;">

    <div class="card-columns">

        <?php
        $args = array(
            'posts_per_page'   => 5,
			'paged' => ($paged = get_query_var('paged', false)) ? absint($paged) : 1;
		);

        $query_mine = new WP_Query($args);
        while($query_mine->have_posts())
        {
            $query_mine->the_post();
            ?>
            <div class="card">
                <a href="<?php the_permalink(); ?>">
                    <img class="card-img-top"  src="<?php echo get_the_post_thumbnail_url(); ?>"></a>
                <div class="card-body">
                    <i><?php the_category(' , '); ?></i>
                </div>

            </div>

        <?php }?>

    </div>


<div class="d-flex btnholder container justify-content-center">
    <div class="navigation">
        <?php wp_pagenavi(array('query' => $query_mine)); ?>
    </div>
</div>



</div>

<?php get_footer(); ?>

 

مشکل با موفقیت حل شد. خیلی ممنون از راهنماییتون .  ❤

لینک به ارسال

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

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

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

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

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

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

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

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

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