如果搜索自定义类别,则找不到第2页

时间:2012-07-20 作者:onur

我正在使用一个名为fotograf的自定义帖子类型。若它在存档页面中显示所有照片,那个么并没有问题。它可以在每个页面中找到照片。但如果我在fotograf custom post type中搜索自定义类别,那么如果paged>=2,则找不到任何内容。只找到第1页。

你可以在我的网站上测试它。http://www.onurunwebsitesi.com

单击TümünüGöster(全部显示),然后单击Diğer(其他)类别,然后单击底部的分页链接。未找到第二页和其他页。

我的代码:

存档fotograf。php

<?php /** * Displays the Pagination in Custom loop * */?>
<?php get_header(); ?>
<?php 
$temp = $wp_query; //save old query
$wp_query= null; //clear $wp_query
$aranan= $_GET[\'s\']; 
$kategorim = intval($_GET[\'cat\']);
$myterm = get_term( $kategorim, \'fgaleri\' ); 
$myslug = $myterm->slug; ?>
<div id="content">
<?php 
$rakam= 0;
//The query
$wp_query = new WP_Query();

// HERE IS MY WP_QUERY. WHERE IS MY FAULT? IF CUSTOM CATEGORY SEARCH, THEN PAGE 2 NOT FOUND. PLEASE, HELP ME. THANKS IN ADVANCE. 

$wp_query->query( array( \'post_type\' =>\'fotograf\', \'s\' => $aranan, \'paged\' => $paged, \'taxonomy\' => \'fgaleri\', \'fgaleri\' => $myslug ) );
//The loop
?>
<div id="FGaleri_2"><div id="FGaleri_Ic"><div id="FGaleriBaslik">Fotoğraf Galerisi 
<form action="<?php echo get_bloginfo(\'wpurl\'); ?>" id="searchformfoto" method="get" name="searchform">
<?php $args = array( \'taxonomy\' => \'fgaleri\', \'show_option_none\' => \'Kategori Seç ve Ara\', \'hierarchical\' => 1 ); wp_dropdown_categories($args); ?>
<div id="aramabolumufoto">
<input name="s" id="sfoto" type="text" value=""/>
<input type="hidden" name="post_type" value="fotograf" />
<input id="searchsubmitfoto" type="submit" value="Ara"/>
</div>
</form>
</div>
<div class="FGaleri_Ic_2"><?php while ($wp_query->have_posts()): $wp_query->the_post(); $rakam++; ?>
<div class="FGaleriItem2" style="<?php if ($rakam % 5 == 0 ) { ?>margin-right: 0px;<?php } ?>">
<?php
$termargs=array(\'orderby\' => \'count\', \'order\' => \'desc\');
$terms = wp_get_post_terms( $post->ID , \'fgaleri\', $termargs );
$t = count($terms);
if ($t>0) { ?>
<div class="fkategori">
<?php 
$c = 0;
foreach($terms as $term) {
$c++;
if ($c==$t) 
{ 
echo \'<a class="foto_kategori" href="\'. home_url() . \'/?cat=\' . $term->term_id . \'&post_type=fotograf&fgaleri=\' . $term->slug . \'" title="\' . $term->name . \'" \' . \'>\' . $term->name.\'</a> \';
}
} ?>
</div>
<?php } ?>
<div class="ResimUst">
<?php if (has_post_thumbnail()) { ?>
<a href="<?php the_permalink() ?>">
<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
$url2 = get_bloginfo(\'template_directory\') . "/timthumb.php?src=" . $url . "&amp;w=100&amp;h=100&amp;zc=1"; ?>
<img src="<?php if(get_option(\'of_timthumb\')=="true") { echo $url2; } else { echo $url; } ?>" alt="" title="" width="100" height="100" />
</a>
<?php } ?>
</div>
<div class="ResimAlt">
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
</div>
</div>
<?php endwhile; ?>
</div>
</div>
</div>
<div class="clearboth"></div>
<?php if(function_exists(\'wp_pagenavi\') ) {     
wp_pagenavi(); //function call for plugin pagination( wp pagenavi plugin)
}else{ ?>     
<div id="navigasyon">
<span class="previous-entries">
<?php next_posts_link(\'« Daha Eski Fotoğraflar\'); ?></span>
<span class="next-entries"><?php previous_posts_link(\'Daha Yeni Fotoğraflar »\'); ?    ></span>
</div><?php } //endif
?><?php
$wp_query = null; //Reset the normal query
$wp_query = $temp; //Restore the query
?>
</div><?php get_sidebar(); ?></div><?php get_footer(); ?>

2 个回复
SO网友:Milo

在您的查询中,您通过\'paged\' => $paged, 但你从来没有给$paged, 因此,您总是可以看到结果的第一页。首先尝试定义它:

$paged = (get_query_var(\'page\')) ? get_query_var(\'page\') : 1;
$wp_query->query( array( \'post_type\' =>\'fotograf\', \'s\' => $aranan, \'paged\' => $paged, \'taxonomy\' => \'fgaleri\', \'fgaleri\' => $myslug ) );

SO网友:Rabin shrestha

我查看了你的代码,发现你把代码弄得一团糟。我对您的代码做了一些更改,现在分页似乎工作正常。我已经注释掉了你函数中的一些动作挂钩。php和归档fotograf中的一些行。php。您可以取消对此的注释,并查看是什么造成了这些问题

结束