পৃষ্ঠার তালিকা ক্লাস পরিবর্তন করা হচ্ছে


17

paginate_links()ফাংশনটি "পৃষ্ঠা-সংখ্যা" নামের শ্রেণীর সাথে আনর্ডারড তালিকার প্রত্যাবর্তন করে। আমি এই ক্লাসটি কীভাবে পরিবর্তন করতে পারি?

সম্পাদনা

বর্তমানে, আমি নীচে ব্যান্ড-সহায়তা পদ্ধতি ব্যবহার করছি।

$return = paginate_links( $arg );
echo str_replace( "<ul class='page-numbers'>", '<ul class="pagination">', $return );

এর চেয়ে ভাল উপায় আর কি আছে?


1
আমি এটির উপর একটি দ্রুত টিউটোরিয়াল পেয়েছি এবং আমি বুটস্ট্র্যাপ থিম ক্লাসটি কীভাবে ব্যবহার করতে পারি তা আমি মনে করি এটি সাহায্য করবে! http://www.ordinarycoder.com/paginate_links-class-ul-li-bootstrap/
এরিক লারসন

আমি একটি পিএইচপি ক্লাস তৈরি করেছি যা দরকারী যখন আপনি এলআই এবং একটি এইচটিএমএল ট্যাগ শ্রেণীর নাম সেট করতে হবে। gist.github.com/pixline/1dc662b756c553eb5efcb6ec4753375f
পিক্সলাইন

@ এরিকলারসন লিঙ্কটি নষ্ট হয়ে গেছে।
মাস্তাবাবা

উত্তর:


11

paginate_links()কোনও প্যারামিটার অফার করে না এবং কোনও হুক নেই - উত্স দেখুন - শ্রেণি (এস) পরিবর্তন করার জন্য উপলব্ধ। যার অর্থ আপনি এটি সম্পন্ন করার মতো করে আপনি এটি করতে পারেন বা আপনি নিজের ভিত্তিতে নিজের পৃষ্ঠা তৈরির ফাংশন তৈরি করেন paginate_links()


14

বুটস্ট্র্যাপ পৃষ্ঠাগুলি লিঙ্কগুলির সাথে এটি ব্যবহার করার জন্য আমি একই সমাধানটি অনুসন্ধান করছিলাম,

নীচের কোডটি আমার থিমটিতে 100% কাজ করছে।

function bittersweet_pagination() {

global $wp_query;

if ( $wp_query->max_num_pages <= 1 ) return; 

$big = 999999999; // need an unlikely integer

$pages = paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $wp_query->max_num_pages,
        'type'  => 'array',
    ) );
    if( is_array( $pages ) ) {
        $paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
        echo '<div class="pagination-wrap"><ul class="pagination">';
        foreach ( $pages as $page ) {
                echo "<li>$page</li>";
        }
       echo '</ul></div>';
        }
}

সূচকগুলিতে কল করতে ফাংশনটি ব্যবহার করুন উদাহরণস্বরূপ; <?php bittersweet_pagination(); ?>বা অন্য কোনও ফাইল। আমি কিছু বুটস্ট্র্যাপ স্টাইলিং ওভাররাইট করে এটি আপনাকে সাহায্য করতে পারে।

.pagination-wrap {
    clear: both;
    display: block;
    overflow: hidden;
    text-align: center;
}
.pagination-wrap .pagination {
    margin-bottom: 0;
    margin-top: 0;
}
.pagination-wrap .pagination > li:first-child > a, 
.pagination-wrap .pagination > li:first-child > span {
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}
.pagination-wrap .pagination > li:last-child > a, 
.pagination-wrap .pagination > li:last-child > span {
    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px;
}
.pagination-wrap .pagination > li > a,
.pagination-wrap .pagination > li > span {
    background-color: #4FBEBA;
    border: 1px solid #1BA5A0;
    padding: 10px 15px;
    font-weight: bold;
    color: #FFFFFF;
}
.pagination-wrap .pagination > li > a:hover, 
.pagination-wrap .pagination > li > span:hover, 
.pagination-wrap .pagination > li > a:focus, 
.pagination-wrap .pagination > li > span:focus {
    background-color: #1BA5A0;
    border-color: #189690;
}
.pagination-wrap .pagination .current {
    background-color: #1BA5A0;
    border-color: #189690;
}
.pagination-wrap .pagination .current:hover,
.pagination-wrap .pagination .current span:hover {
    background-color: #189690;
    border-color: #148781;
}

1
আপনি কোনও বাছুর কর্মক্ষমতা উন্নত করতে পারেন, যেহেতু এই পৃষ্ঠাগুলি প্রতিটি পৃষ্ঠা তৈরির সময় প্রতিবার বলা হবে, এমনকি যখন কোনও পৃষ্ঠাকরণের প্রয়োজন হয় না। যোগ করুন: `` `যদি ($ wp_query-> সর্বোচ্চ_নাম_পৃষ্ঠা <= 1) ফিরে আসে; ফাংশনের শুরুতে আপনার গ্লোবাল $ wp_query এর পরে ``।।
পিক্সলাইন

5

এর জন্য আপনাকে টাইপ পরামিতি ব্যবহার করতে হবে

$links = paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $posts_array->max_num_pages,
    'prev_text'          => __( 'Previous page', 'twentyfifteen' ),
    'next_text'          => __( 'Next page', 'twentyfifteen' ),
    'type' => 'list'
) );
   echo $links

0

এখানে উল্লিখিত না হওয়া অন্য একটি বিকল্প হ'ল উপাদানগুলিকে বরাদ্দ করা ক্লাস পরিবর্তন না করে ওয়ার্ডপ্রেস পৃষ্ঠাগুলি ক্লাসে শৈলীগুলি অনুলিপি করা।

আপনি যদি বুটস্ট্র্যাপ ব্যবহার করছেন এবং স্যাসের সাহায্যে সবকিছু বান্ডিল করছেন, তবে আপনি @extendনির্দেশাবলী ব্যবহার করে স্টাইলগুলি সহজেই প্রয়োগ করতে পারেন ।

ul.page-numbers {
    @extend .pagination;
    > li {
        > a, > span {
            &.page-numbers {
                @extend .page-link
                &:focus, :hover {
                    /* Additional hover/focus styles here */
                }
            }
        }
    }
}

এটি কিছু পরিস্থিতিতে প্রাসঙ্গিক হতে পারে তবে আমি মনে করি যে মূল প্রশ্নের কোডটি বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য সেরা সমাধান।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.