WP_QUERERY按元键/值排序突然停止工作

时间:2012-04-27 作者:JamesG

我的代码已经运行了很长时间,当用户单击按钮按名称/值排序数据库结果时,它会通过AJAX从执行所有查询的页面获取结果。

我最近将整个站点移动到了一个新的专用服务器上,并更改了一些javascript文件,但由于某种原因,排序现在已停止工作。这是我的代码:

    if($pageType == \'prize-home\'){

    if($orderby == \'pointsvalue\'){ //Must have these if statements because if its ordered by pointsvalue, its orderby meta_value_num, but if its a srting (smalltitle) its orderby meta_value
        $my_query = new WP_Query(\'post_type=prizes&showposts=\'.$per_page.\'&meta_key=\'.$orderby.\'&orderby=meta_value_num&order=asc&paged=\'.$page);
    }elseif($orderby == \'smalltitle\'){
        $my_query = new WP_Query(\'post_type=prizes&showposts=\'.$per_page.\'&meta_key=\'.$orderby.\'&orderby=meta_value&order=asc&paged=\'.$page);
    }else{
        $my_query = new WP_Query(\'post_type=prizes&showposts=\'.$per_page.\'&meta_key=smalltitle&orderby=meta_value&order=asc&paged=\'.$page);
    }

        while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; $my_meta = get_post_meta($post->ID,\'_my_meta\',TRUE); 

        $pointsvalue = get_post_meta($post->ID,\'pointsvalue\',TRUE);
        $bigtitle = get_post_meta($post->ID,\'bigititle\',TRUE);
        $smalltitle = get_post_meta($post->ID,\'smalltitle\',TRUE);
        $productUrl = get_post_meta($post->ID,\'producturl\',TRUE);
        $imageUrl = get_post_meta($post->ID,\'imageurl\',TRUE);
        include(\'profile/prize-style.php\'); 

        endwhile;  
        $no_of_paginations = $my_query->max_num_pages;
        wp_reset_query();
现在,它可以加载不同的页面(分页结果),但单击“订单”按钮时,它实际上什么都没有做。有些东西偶尔会移动,但它不会按字母顺序排列结果。

我真的不认为我改变了什么,但我整天都在尝试不同的事情,这让我很沮丧。有没有人有过类似的经历?所有控制台firebug结果似乎都很好-因为所有查询参数都是通过properel等传递的。。。

1 个回复
最合适的回答,由SO网友:GhostToast 整理而成

有些事情需要检查。在迁移过程中是否更改了权限?有时这些事情会发生意想不到的变化。使用Chrome检查器查看是否有任何Javascript无法加载(查找红色的x)。

您是否更新了permalinks?

您的新专用环境是否能够支持您正在运行的所有内容的需求?

如果您的代码没有更改,但只更改了托管环境,那么您需要先查看那里。您有权访问错误日志吗?查找无法加载的资源。

结束

相关推荐

WP_Query with 2 genres

我正在使用一种自定义的帖子类型,并试图使查询工作包括两种类型(自定义分类法)。我有这个,它只适用于一种类型(我不想显示列表中当前正在查看的小部件,“post\\u not\\u in”会解决这个问题)。$myposts = new WP_Query( array( \'post_type\' => \'widgets\', \'post__not_in\' => array($wp_query->post->ID