رفتن به مطلب

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


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

سلام

از این کد برای صفحه بندی سایتم استفاده میکنم:

این بخش فانکشن :


?>
<?php
function mw_pagination($pages = '', $range = 2)
{
$showitems = ($range * 2)+1;

global $paged;
if(empty($paged)) $paged = 1;

if($pages == '')
{
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
}

if(1 != $pages)
{
echo "<div class='pagination cf'>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>«</a>";
if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹</a>";

for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>";
}
}

if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>›</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>»</a>";
echo "</div>\n";
}
}

?>

اینم بخش index.php :

<?php mw_pagination(); ?>

اما توی صفحه اصلی وقتی روی شماره صفحات بعد(مثال : 2) کلیک میکنم دوباره صفحه اول لود میشه اما آدرس بار به صفحه 2 تغییر میکنه.

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

اینم آدرس سایت

ممنون میشم راهنمایی کنید.

یا علی

لینک به ارسال
  • 5 ماه بعد...

سلام

این کد را جایگزین کنید


function my_pagination() {
global $wp_query;
$big = 999999999;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages )
);
}

تابع نمایشش همون تابع قبلی خودتونه

ساختار پیوند یکتا را هم یکبار دیگه به روز رسانی کنید

لینک به ارسال

سلام

این کد را جایگزین کنید


function my_pagination() {
global $wp_query;
$big = 999999999;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages )
);
}

تابع نمایشش همون تابع قبلی خودتونه

ساختار پیوند یکتا را هم یکبار دیگه به روز رسانی کنید

ممنون استاد

کد قبلی رو پاک کردم و کد شما رو جایگزین کردم،الآن دیگه ادامه سایت بالا نمیاد :|

چیکارش کنم؟

لینک به ارسال

این کد رو هم جایگزین کردم :


//داخل فانکشن
<?php
function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 ";
}
return $count.'';
}
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
$defaults['post_views'] = __('Views');
return $defaults;
}
function posts_custom_column_views($column_name, $id){
if($column_name === 'post_views'){
echo getPostViews(get_the_ID());
}
}
?>
<?php
add_theme_support( 'menus' );
function register_my_menu() {
register_nav_menu('header-menu1',__( 'منوی بالای هدر' ));
register_nav_menu('header-menu2',__( 'منوی پایین هدر' ));
}
add_action( 'init', 'register_my_menu' );
?>
<?php
$args = array(
'width' => 900,
'height' => 400,
'default-image' => get_template_directory_uri() . '/img/head.jpg',
'uploads' => true,
);
add_theme_support( 'custom-header', $args );
?>
<?php
if ( function_exists('register_sidebar') )
register_sidebar(array('name'=>'widget-right',
'before_widget' => '<div class="wid1 widg">',
'after_widget' => '</div>',
'before_title' => '<div class="w-title">',
'after_title' => '</div>',
));
register_sidebar(array('name'=>'widget-middle',
'before_widget' => '<div class="wid2 widg">',
'after_widget' => '</div>',
'before_title' => '<div class="w-title">',
'after_title' => '</div>',
));
register_sidebar(array('name'=>'widget-left',
'before_widget' => '<div class="wid3 widg">',
'after_widget' => '</div>',
'before_title' => '<div class="w-title">',
'after_title' => '</div>',
));
?>
<?php
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 500, 300 );
}
?>
<?php $url=get_template_directory_uri(); ?>
<?php
function custom_excerpt_length( $length ) {
return 25;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
?>
<?php
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches[1][0];
if(empty($first_img) && !(has_post_thumbnail())) {
$first_img = $url."/img/default.jpg";
}
if(empty($first_img) && has_post_thumbnail()) {
$first_img = the_post_thumbnail();
}
return $first_img;
}
?>
<?php
function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-author vcard">
<?php echo get_avatar($comment,$size='48',$default='<path_to_url>' ); ?>

<?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?>
</div>
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Your comment is awaiting moderation.') ?></em>
<br />
<?php endif; ?>

<div class="comment-meta commentmetadata">
<a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>">
<?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?>
</a>
<?php edit_comment_link(__('(Edit)'),' ','') ?>
</div>

<?php comment_text() ?>

<div class="reply">
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
<?php
}
?>
<?php
function mw_pagination($pages = '', $range = 2)
{
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == '')
{
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
}
if(1 != $pages)
{
echo "<div class='pagination cf'>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>«</a>";
if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹</a>";
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".
$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>›</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link
($pages)."'>»</a>";
echo "</div>\n";
}
}
?>
---------------------------------------
//برای نمایش
<?php mw_pagination(); ?>

بازم توی آرشیو کار میکنه اما توی صفحه اصلی کار نمیکنه!

یعنی هر کدی که میذارم تو صفحات داخلی و ... کار میکنه اما تو صفحه اصلی کار نمیکنه.

لینک به ارسال

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

برای شماره دار کردن صفحه کوئری

[sharedmedia=tutorials:tutorials:654]

رو بخونید و در نمونه های آماده ژنراتور کوئری ساز هم نمونه کوئری صفحه بندی شده موجوده

لینک به ارسال
  • 2 هفته بعد...

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

برای شماره دار کردن صفحه کوئری

رو بخونید و در نمونه های آماده ژنراتور کوئری ساز هم نمونه کوئری صفحه بندی شده موجوده

مشکل همونی هست که فرمودین.من به جای حلقه لود مطالب از یه کوئری استفاده کردم.چون نمیخواستم دسته "نمونه کارها" توی صفحه اصلی نمایش داده بشن.

حالا راه حل چیه؟

لینک به ارسال

برای نمایش ندادن یک دسته در صفحه اصلی باید اون دسته فیلتر رو می کردین یعنی بجای نوشتن کوئری یک فیلتر برای main_query می گذاشتید

ولی الان باید بجای صفحه بندی سایت کوئریتون رو صفحه بندی کنید

کدهای این کوئری رو بررسی کنید

http://1fakhar.ir/qg/paged.php

لینک به ارسال

برای نمایش ندادن یک دسته در صفحه اصلی باید اون دسته فیلتر رو می کردین یعنی بجای نوشتن کوئری یک فیلتر برای main_query می گذاشتید

ولی الان باید بجای صفحه بندی سایت کوئریتون رو صفحه بندی کنید

کدهای این کوئری رو بررسی کنید

http://1fakhar.ir/qg/paged.php

رسماً ناامیدتون کردم از خودم. :| اما کد رو متوجه نشدم

میشه بفرمایید هر بخش رو کجای کد خودم بذارم؟

ا اینکه اگر این وقت گیره همون main query رو بفرمایید لطفاً.یعنی چجوری کوئری اصلی لود مطالب رو فیلتر کنم؟

لینک به ارسال


add_action( 'pre_get_posts', 'foo_modify_query_exclude_category' );
function foo_modify_query_exclude_category( $query ) {
if ( is_home() && $query->is_main_query() && ! $query->get( 'cat' ) )
$query->set( 'cat', '-5' );
}

دسته بندی شماره 5 رو در صفحات اصلی نمایش نمی ده

لینک به ارسال

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

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

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

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

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

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

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

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

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