YOU

صفحه بندی آرشیو نظرات

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

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

با سلام خدمت اساتید در یه صفحه با استفاده از کدهای زیر آخرین نظرات خوانندگان را نمایش میده با توجه به اینکه این کدها فقط 50 نظر آخر را نشون میده میخوام صفحه بندی بشه و در هر صفحه 50 نظر را نشون بده ولی کد صفحه بندی را قرار میدم باز هم صفحه بندی نمیشه لطفا راهنمایی نمائید


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

<?php
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,100) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC
LIMIT 50";
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
$output .= "\n<ol class='commentlist'>";
foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
."<font color='blue'> گفته: </font><br>". "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"لینک مستقیم به مطلب " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a><font color='red'> ادامه . . .</font><br></li><br>";
}
$output .= "\n</ul>";
$output .= $post_HTML;
echo $output;?>
<?php if(function_exists('the_views')) { the_views(); } ?>
</div></div>
<?php get_footer(); ?>

ویرایش شده در توسط YOU
0

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


لینک به پست

اگه امکان دارد کد بالا را تکمیل کنید از مستندات چیزی متوجه نشدم ممنون

0

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


لینک به پست

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

بهتره طبق مستندات انجام بدید استاندارد هم هست.

3

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


لینک به پست

تست کنید:


<?php
/*Template Name: arcomments */?>
<?php get_header(); ?>
<?php
global $wpdb;
$items_per_page = 50;
$get = array();
$get['pag'] = '%#%';
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,100) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''";
$sql2 = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,100) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC";
$total = count($wpdb->get_results($sql));
$page = isset( $_GET['pag'] ) ? abs( (int) $_GET['pag'] ) : 1;
$offset = ( $page * $items_per_page ) - $items_per_page;
$comments = $wpdb->get_results( $sql2 . " LIMIT ${offset}, ${items_per_page}" );
$output = $pre_HTML;
$output .= "\n<ol class='commentlist'>";
foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
."<font color='blue'> گفته: </font><br>". "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"لینک مستقیم به مطلب " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a><font color='red'> ادامه . . .</font><br></li><br>";
}
$output .= "\n</ul>";
$output .= $post_HTML;
echo $output;
echo paginate_links( array(
'base' => add_query_arg( $get ),
'format' => '',
'prev_text' => __('«'),
'next_text' => __('»'),
'total' => ceil($total / $items_per_page),
'current' => $page
));
?>
<?php if(function_exists('the_views')) { the_views(); } ?>
</div></div>
<?php get_footer(); ?>

4

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


لینک به پست

تست کنید:


<?php
/*Template Name: arcomments */?>
<?php get_header(); ?>
<?php
global $wpdb;
$items_per_page = 50;
$get = array();
$get['pag'] = '%#%';
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,100) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''";
$sql2 = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,100) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC";
$total = count($wpdb->get_results($sql));
$page = isset( $_GET['pag'] ) ? abs( (int) $_GET['pag'] ) : 1;
$offset = ( $page * $items_per_page ) - $items_per_page;
$comments = $wpdb->get_results( $sql2 . " LIMIT ${offset}, ${items_per_page}" );
$output = $pre_HTML;
$output .= "\n<ol class='commentlist'>";
foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
."<font color='blue'> گفته: </font><br>". "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"لینک مستقیم به مطلب " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a><font color='red'> ادامه . . .</font><br></li><br>";
}
$output .= "\n</ul>";
$output .= $post_HTML;
echo $output;
echo paginate_links( array(
'base' => add_query_arg( $get ),
'format' => '',
'prev_text' => __('«'),
'next_text' => __('»'),
'total' => ceil($total / $items_per_page),
'current' => $page
));
?>
<?php if(function_exists('the_views')) { the_views(); } ?>
</div></div>
<?php get_footer(); ?>

با تشکر از راه حلی که ارائه نمودید

آیا امکان داره تعداد صفحاتی که الان نشون میده بصورت 1 2 3 … 21 » را تغییر دهم مثلا بجای این 4 تا 15 تا بزارم یعنی نمایش ظاهریش از 1 تا 15بعد سه نقطه 21

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … 21 »

و اگه امکان داره وسط بمونه نه سمت چپ

ممنون و موفق باشید

0

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


لینک به پست

http://codex.wordpress.org/Function_Reference/paginate_links

خواص show_all - end_size - mid_size

4

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


لینک به پست

http://codex.wordpress.org/Function_Reference/paginate_links

خواص show_all - end_size - mid_size

ممنون حل شد فقط مونده واسش css تعریف کنم

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

0

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


لینک به پست

باید با تغییر استایلالمان این بخش تغییر بدید

اگر توی یک div هست بهش text-align: center بدید

2

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


لینک به پست

باید با تغییر استایلالمان این بخش تغییر بدید

اگر توی یک div هست بهش text-align: center بدید

آقا مرتضی ممنون ولی جوابهایی که میدین واسه حرفه ای هاست نه مبتدی موفق باشید :)

0

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


لینک به پست

خیلی ساده بود! ببینید این صفحه بندی توی المانی هست مثلا div یا همچین چیزی

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

دیگه خیلی ساده بود :)

4

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


لینک به پست

خیلی ساده بود! ببینید این صفحه بندی توی المانی هست مثلا div یا همچین چیزی

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

دیگه خیلی ساده بود :)

نه توی div نیستش !!!!! :rolleyes:

0

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


لینک به پست

خوب خودتون بزارید توی یک div و بعد بهش براساس اون استایل بدید.

1

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


لینک به پست


<?php
/*Template Name: archive comments */?>
<?php get_header(); ?>
<div class="right"><?php include (TEMPLATEPATH . '/side-right.php'); ?></div>
<div class="center"><div id="center">
<div class="ads-top"><?php include (TEMPLATEPATH . '/ads-down.php'); ?></div>
<div class="center-block">
<div class="title"><div id="matn">نظرات شما خوانندگان محترم</div></div>
<div id="padd">
<?php
global $wpdb;
$items_per_page = 50;
$get = array();
$get['pag'] = '%#%';
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,100) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''";
$sql2 = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,100) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC";
$total = count($wpdb->get_results($sql));
$page = isset( $_GET['pag'] ) ? abs( (int) $_GET['pag'] ) : 1;
$offset = ( $page * $items_per_page ) - $items_per_page;
$comments = $wpdb->get_results( $sql2 . " LIMIT ${offset}, ${items_per_page}" );
$output = $pre_HTML;
$output .= "\n<ol class='commentlist'>";
foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
."<font color='blue'> گفته: </font><br>". "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"لینک مستقیم به مطلب " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a><font color='red'> ادامه . . .</font><br></li><br>";
}
$output .= "\n</ul>";
$output .= $post_HTML;
echo $output;
echo paginate_links( array(
'base' => add_query_arg( $get ),
'format' => '/page/%#%',
'show_all' => False,
'end_size' => 1,
'mid_size' => 10,
'prev_text' => __('« صفحه قبلی'),
'next_text' => __('صفحه بعدی »'),
'total' => ceil($total / $items_per_page),
'current' => $page

));
?>
<br></br>
<?php if(function_exists('the_views')) { the_views(); } ?>
</div></div>
<?php include (TEMPLATEPATH . '/lastpost.php'); ?>
<?php include (TEMPLATEPATH . '/gallery.php'); ?>
</div></div>
<div class="left"><?php include (TEMPLATEPATH . '/side-left.php'); ?></div>
<?php get_footer(); ?>

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

ولی مشکلی بوجود اومده

اونم اینکه وقتی مثلا میزنم صفحه 3

دیگه هر صفحه ای را میزنم باز هم همون صفحه 3 را نشون میده

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

ممنون

0

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


لینک به پست

در این خط


$page = isset( $_GET['pag'] ) ? abs( (int) $_GET['pag'] ) : 1;

حرف e آخر page ها افتاده تصحیح و چک کنید

1

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


لینک به پست

در این خط


$page = isset( $_GET['pag'] ) ? abs( (int) $_GET['pag'] ) : 1;

حرف e آخر page ها افتاده تصحیح و چک کنید

مرسی از پاسخگویی

درست شد ولی صفحه 1 2 3 4 5 6 7 8 9 10 11 .....52 میزنه

وقتی صفحه 11 را انتخاب میکنی صفحه 11 باز میشه ولی بعد 10 صفحه بعدی را نشون نمیده که انتخاب کنی باز هم بصورت زیر نمایش میده

1 2 3 4 5 6 7 8 9 10 11 .....52

0

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


لینک به پست

این بخش کد را


echo paginate_links( array(
'base' => add_query_arg( $get ),
'format' => '/page/%#%',
'show_all' => False,
'end_size' => 1,
'mid_size' => 10,
'prev_text' => __('« صفحه قبلی'),
'next_text' => __('صفحه بعدی »'),
'total' => ceil($total / $items_per_page),
'current' => $page

));

اینطوری ویرایش کنید


$mid_size = $page+10;
$the_total = ceil($total / $items_per_page);
if($mid_size >= $the_total) {
$mid_size = $the_total;
}

echo paginate_links( array(
'base' => add_query_arg( $get ),
'format' => '/page/%#%',
'show_all' => False,
'end_size' => $page,
'mid_size' => $mid_size,
'prev_text' => __('« صفحه قبلی'),
'next_text' => __('صفحه بعدی »'),
'total' => $the_total,
'current' => $page

));

1

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


لینک به پست

این بخش کد را


echo paginate_links( array(
'base' => add_query_arg( $get ),
'format' => '/page/%#%',
'show_all' => False,
'end_size' => 1,
'mid_size' => 10,
'prev_text' => __('« صفحه قبلی'),
'next_text' => __('صفحه بعدی »'),
'total' => ceil($total / $items_per_page),
'current' => $page

));

اینطوری ویرایش کنید


$mid_size = $page+10;
$the_total = ceil($total / $items_per_page);
if($mid_size >= $the_total) {
$mid_size = $the_total;
}

echo paginate_links( array(
'base' => add_query_arg( $get ),
'format' => '/page/%#%',
'show_all' => False,
'end_size' => $page,
'mid_size' => $mid_size,
'prev_text' => __('« صفحه قبلی'),
'next_text' => __('صفحه بعدی »'),
'total' => $the_total,
'current' => $page

));

هیچ تغییری نکرد :(

0

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


لینک به پست

هیچ تغییری نکرد :(

دوستان کسی راه حلی به نظرش نمیرسه؟؟؟ :(

0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط dastjerdisf
      با سلام
      در بین اساتید کسی می تونه به من کمک کنه بگه چرا وقتی آدرس سایتم رو می نویسم اتومات این متن رو به اون اضافه می کنه/?i=1
      از مدیریت هاست پرسیدم میگند از کش مرورگر هستش اما چرا سایت های دیگه این جوری نیستند
      آدرس سایتم:http://hushmandyar.ir
    • توسط saeid1872
      سلام دوستان
      تو کمتر از یک ماه سایتم 61 ارور 500 ثبت کرده که در حال زیاد شدن هستش نمیدونم چرا این ارورهارو ثبت میکنه
      لطفا دلیلش رو بگید و اینکه چطور باید رفع کنم
      من خیلی اصلا حرفه ای نیستم فقط خواهشا جوری راهنمایی کنید که بتونم رفعش کنم.

    • توسط devil1367
      با سلام
      من یک فروشگاه دارم چون قالب قبلیم نیازهامو نمیتونست برطرف کنه یه قالب جدید از یکی از سایتها خریداری کردم
      سوالم اینه با نصب بسته اسان نصب اطلاعاتی یا محصولات قبلی که داشتم حذف میشن ؟
      چطوری قالب رو شبیه دمو دربیارم و صفحات و برگه ها import کنم.
       
      با تشکر
    • توسط armakcell
      با سلام بنده در سایتم میخواستم یک ابزارک قرار بدم مانند ابزارک این سایت
      http://powerturk.ir

      اگر داخل این سایت برید در یک قسمت نوشته است آرشیو فول البوم
      بنده این ابزارک را چگونه به دست بیارم؟
      بنده یک تصویر ضمیمه میکنم در صورتی که در سایت وارد نشد

    • توسط amir_hossein
      سلام دوستان من قصد دارم چندتا اسلاید کناره هم به صورت خطی (مثلا 4 تا اسلاید) اواسط صفحه اصلی یا انتهای صفحه قرار بدم.افزونه ای میتونید بهم معرفی کنید برای اینکار؟