widget’də səhifələmə kodu

sayt wordpress üzərində qurulub. saytın ana səhifəsi isə widget’lərlə qurulur. Parametrlər – Oxunma bölməsində səhifələmə əmri veriləndə əmr ancaq “Ən son yazılan” səhifəyə aid olduğu üçün widget səhifələmə əmrini yerinə yetirmir. widget’ə hansı kodu yazmalıyam ki, o əmri yerinə yetirsin? temanın functions.php-ində pagination üçün bu kod var:

1function hick_pagination() {
2 
3    if( is_singular() )
4        return;
5 
6    global $wp_query;
7 
8    /** Stop execution if there's only 1 page */
9    if( $wp_query->max_num_pages <= 1 )
10        return;
11 
12    $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
13    $max   = intval( $wp_query->max_num_pages );
14 
15    /** Add current page to the array */
16    if ( $paged >= 1 )
17        $links[] = $paged;
18 
19    /** Add the pages around the current page to the array */
20    if ( $paged >= 3 ) {
21        $links[] = $paged - 1;
22        $links[] = $paged - 2;
23    }
24 
25    if ( ( $paged + 2 ) <= $max ) {
26        $links[] = $paged + 2;
27        $links[] = $paged + 1;
28    }
29 
30    echo '<div class="pagination"><ul>' . "\n";
31 
32    /** Previous Post Link */
33    if ( get_previous_posts_link() )
34        printf( '<li>%s</li>' . "\n", get_previous_posts_link() );
35 
36    /** Link to first page, plus ellipses if necessary */
37    if ( ! in_array( 1, $links ) ) {
38        $class = 1 == $paged ? ' class="active"' : '';
39 
40        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
41 
42        if ( ! in_array( 2, $links ) )
43            echo '<li>&hellip;</li>';
44    }
45 
46    /** Link to current page, plus 2 pages in either direction if necessary */
47    sort( $links );
48    foreach ( (array) $links as $link ) {
49        $class = $paged == $link ? ' class="active"' : '';
50        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
51    }
52 
53    /** Link to last page, plus ellipses if necessary */
54    if ( ! in_array( $max, $links ) ) {
55        if ( ! in_array( $max - 1, $links ) )
56            echo '<li>&hellip;</li>' . "\n";
57 
58        $class = $paged == $max ? ' class="active"' : '';
59        printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
60    }
61 
62    /** Next Post Link */
63    if ( get_next_posts_link() )
64        printf( '<li>%s</li>' . "\n", get_next_posts_link() );
65 
66    echo '</ul></div>' . "\n";
67 
68}

həmin widget’in .php’ində bu əmr ilə səhifələməni çıxarda bilirəm:

1hick_pagination();

bu kodu yazanda ana səhifədə səhifələmə rəqəmləri gəlir amma post sayı azalmır. parametrlərdə post sayı üçün yazdığım rəqəmlərlə səhifədəki post sayı üst-üstə düşmür. çarəsi nədir? ola bilər biraz qarışıq başa saldım. sualınız olsa yazın aydın başa salım.

widget’in faylı: http://bit.ly/1kVk2DT


Yadda saxlama
Kateqoriya: Sual . , , , , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (3 cavab var)

(10:04, 15/07/2014 ) #44456

Sual çox qarışıqdır, anlaşılmır.
Belə görürəm ki sualın əvvəlindəki kod, vidcet və.s. ümumiyyətlə məsələyə aid deyil, çünki onsuz da o hissə deyil sizdə problem yaradan. Sizdə problem çıxan post sayıdır. WP-də istənilən sahədə çıxan post sayını $args arrayında parametr ilə tənzimləmək olur.
get_posts, query_posts,wp_query fərq etmir. Onların hər birinə posts_per_page, numberposts, count və.s. ilə tənzimləmə təyin etmək lazımdır.(saydıqlarımın hər birinin öz təyinatı var, Eyni şeylər deyil, WP Codex-dən oxumaq lazım təyinatları)

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (11:02, 15/07/2014 ) #44465

    onda sualımı biraz da konkretləşdirim. səhifədə post sayını Parametlər – Oxunma bölməsindən yox, manual olaraq hər hansı bir .php faylda necə verə bilərəm? yəni elə bir kod var ki, onu yazım, həmin .php fayl da o əmri yerinə yetirib səhifədə, məsələn, 5 postdan artıq göstərməsin. 6-cı post gələndə 2-ci səhifəyə keçirtsin.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (12:09, 16/07/2014 ) #44517

      Query_posts funksiyası və pre_get_posts filteri ilə. http://codex.wordpress.org/Function_Reference/query_posts
      Və yaxud da birbaşa args parametrinə posts_per_page = X ötürməklə.

      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat
Login with Facebook

Elan qutusu

Son cavablar və şərhlər

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (1 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (3 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (3 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (3 gün əvvəl)

E. Hacı cavab verdi - Telefon almışam kamerasında ləkə var qaytarmaq istəyirəm, mağaza qaytarmır (3 gün əvvəl)

Software Developer cavab verdi - Rus dili yatırımı (4 gün əvvəl)

Cənab cavab verdi - Rus dili yatırımı (4 gün əvvəl)

Software Developer cavab verdi - Rus dili yatırımı (4 gün əvvəl)

Cənab cavab verdi - Rus dili yatırımı (5 gün əvvəl)

Software Developer cavab verdi - Rus dili yatırımı (5 gün əvvəl)

Azad cavab verdi - Windows 11 FPS drop (17 gün əvvəl)

AGAPROGRAMM cavab verdi - Kompyuterimin çox gec yanmasının səbəbləri nədir ? Necə düzəldərəm ? (21 gün əvvəl)

Ayaz2550 cavab verdi - 1ci qrupda informatika üzre imtahan vermek (22 gün əvvəl)

Ayaz2550 cavab verdi - Windows 11 FPS drop (22 gün əvvəl)

Aysu2009 cavab verdi - Telefonda riyazi işarələri nətər yazım? (40 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23305 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2025