2014-01-28 18 views
0

上下文:我已经创建了一个网店的商店搜索,该网站在1300家商店中列出了它的数据库。用户输入他们的邮政编码,并返回给他们最近的10家商店,以便对销售正在广告的产品的商店进行邮政编码。未能在'posts_per_page'=> -1

下面的代码(php)是我一直用来进行初始搜索的,它正在寻找自定义分类中的数据并创建一个数组以便稍后使用该数据来进一步计算距离。

 // If lat & lng supplied, find the 10 nearest stores 

    if(isset($_GET['lat']) && isset($_GET['lng'])){ 

     $latlng = true; 
     global $wp_query; 

     // If the country has been set, add it to the query 
     if(isset($_GET['country']) && $_GET['country'] == "true"){ 

      if($_GET['ss'] == "UAE"){ 
       $countryname = "United Arab Emirates"; 
      } else { 
       $countryname = $_GET['ss']; 
      } 

      $args = array_merge($wp_query->query, array('posts_per_page' => -1, 
                 'meta_key' => 'latitude', 
                 'store-country' => $countryname)); 

     } else { 
      $args = array_merge($wp_query->query, array('posts_per_page' => -1, 
                 'meta_key' => 'latitude')); 
     } 





     //echo $wp_query->found_posts; 

     query_posts($args); 

上面的代码是直接低于<?php get_header(); ?>

正在发生的事情是页面的标题是装载和只有标题的页面的其余部分加载失败。

我发现这个问题与这条线在这里存在的:

$args = array_merge($wp_query->query, array('posts_per_page' => -1, 

如果我设置posts_per_page设置为400或下面的代码,任何开始工作的信息被带回并在页面继续就好了,我我只是无法带回我需要的所有条目。如果我的参赛人数少于400人,那么就不会有问题,但是我需要能够带回1300个参赛作品,并且随着产品被添加到更多商店,这个数量还会不断增加。

据我所知,-1应该带回所有没有pagenation的条目,但一些失败,我被迫给posts_per_page一个具体的数字,这似乎是不合理的考虑环境。

它一直在我的本地主机上正常工作,它只是在网站已经生活时发生,我被引导认为它必须是由我的主机提供商的服务器设置的东西,但我不会知道他们会是什么,或者如果确实如此。

回答

1

如果我设置posts_per_page设置为400或下面的代码开始任何工作

这表明,我认为这是一个超时问题。您的生产服务器可能有一定的限制,您的本地服务器没有,这就是为什么你没有看到这个问题。如果你有权访问php.ini,你可以尝试增加max_execution_timememory_limit,看看是否有帮助。

+0

根据info.php,内存限制似乎大于在本地主机上分配的内容,但max_execution_time似乎较低,因此这可能是我将向服务器管理员提出的问题。当我测试这个时,我会回复。 – MrBiggRJD

+0

由于我无法访问php.ini文件,我不得不与服务器支持联系,他们将'max_execution_time'增加到240,问题仍然存在。 memory_limit设置为128M。 – MrBiggRJD