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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط ghasem47
      سلام به همه ی دوستان عزیز
      من در نظر دارم که یک وبسایت برای فروش فایل هایی مربوط به وب راه اندازی کنم .و قصد من این است که علاوه بر فروش فایل در سایت ، هاست و دامنه نیز بفروشم . و همچنین این هم مهمه که کاربر برای خرید هاست و یا دامین باید در وبسایت عضو بشه و بعد از خرید نیز بتونه اطلاعات هاست و تنظیمات هاست رو از حساب کاربریش در وبسایت من انجام بده.
      مانند این وبسایت : (سایت ساز زرین )   https://sitesazz.ir/
      اما تنها مشکل و مسئله در این جاست که من نمی دونم و بلد نیستم که باید چگونه این کار رو انجام بدم؟
      من قراره که وبسایت رو با وردپرس راه اندازی کنم ولی نمی دونم چطوری باید این امکان فروش هاست رو به وبسایت اضافه کنم و کاری کنم که در وبسایت بتونم هاست و دامنه هم بفروشم و به علاوه این مسئله هم هست که باید کاربرا بتونن از حساب کاربری داخل وبسایتشون به تنظیمات هاست و یا دامنشون دسترسی پیدا کنند.
      لطفاً منو راهنمایی کنید.
      با تشکر
    • توسط iranibonsai
      درود، سایتی رو با وردپرس بالا آوردیم
      اما اکنون در صفحات داخلی سایت کد خطایی رو در بخش بالای مرورگر نشون میده که نتونستیم رفعش کنیم
      Warning: count(): Parameter must be an array or an object that implements Countable in /home3/zahrefzo/public_html/wp-includes/post-template.php on line 284
      این خطا قبلا وجود نداشت، نفهمیدم به چه علتی بوجود آمده و تو اینترنت هم چیز خاصی راجعبه رفعش پیدا نکردم، ممنون میشم اعلام نظر بفرمایید
      آدرس سایت :
      http://minelbeautysalon.com//
    • توسط sydvza
      باسلام ببخشید من کلیدواژه دکه را انتخاب کردم ولی در سرچ گوگل کلمه دکه وارد میکنم حتی جز 10 صفحه هم نیستم
      https://dackeh.com
    • توسط MajidRB
      سلام وقتتون بخیر.
      دوستان قالب placid رو به صورت های مختلف دانلود و نصب کردم ( هم از سایت های فارسی و قالب فارسی شده هم از منابع خود وردپرس)
      چه به شکل فارسی چه به شکل انگلیسی پست ها رو اونطوری که در پیش نمایش قالب نشان داده شده ، در صفحه اصلی نشان نمیده !
      عکس ها رو درج میکنم
      هیچ تنظیماتی نمانده که من دستکاری نکرده باشم
      فکر کنم باید چند خط کد کم یا زیاد بشه ( که بلد نیستم ! )
      خیلی ممنون میشم راهنمایی کنید
       


    • توسط nnmmss
      با سلام
       
      من اصلا وردپرس بلد نيستم ولي مجبورم كه سايتي را نگهداري كنم. در اين سايت وقتي وارد بعضي صفحات ميشوم عبارت "دسته" به انتهاي عنوان اضافه شده.  اين صفحات بعنوان "دسته" در فهرست انتخاب شده اند. مثلا
      من در منو مورد 
      آرشيو   
      را دارم كه زير مجموعه آن 
      آرشيو سال 97
      آرشيو سال 96
      آرشيو سال 95
      هست.
       
      من "آرشيو" بعنوان برگه انتخاب شده و آرشيو سال 97 - 96 - 95 به صورت دسته انتخاب شده است. وقتي من روي هر كدام از آرشيو سال 97 يا 96 يا ..... ميروم عنوان صفحه به صورت زير است
      آرشیو سال 97دسته
      اين عبارت دسته از كجا ميايد؟ و من چگونه ميتوانم آنرا حذف كنم؟
      با تشكر