首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress搜索结果按顺序排列

Wordpress搜索结果按顺序排列
EN

Stack Overflow用户
提问于 2012-12-05 23:48:16
回答 3查看 1.7K关注 0票数 0

我的一个客户网站,www.kevinsplants.co.uk没有按字母顺序显示搜索结果,我该如何按字母顺序对结果进行排序?

我们使用的是Shopp插件,我相信它就是生成结果的插件!

干杯,布拉德

代码语言:javascript
复制
case "orderby-list":
            if (isset($Shopp->Category->controls)) return false;
            if (isset($Shopp->Category->smart)) return false;
            $menuoptions = Category::sortoptions();
            $title = "";
            $string = "";
            $default = $Shopp->Settings->get('default_product_order');
            if (empty($default)) $default = "title";

            if (isset($options['default'])) $default = $options['default'];
            if (isset($options['title'])) $title = $options['title'];

            if (value_is_true($options['dropdown'])) {
                if (isset($Shopp->Cart->data->Category['orderby'])) 
                    $default = $Shopp->Cart->data->Category['orderby'];
                $string .= $title;
                $string .= '<form action="'.esc_url($_SERVER['REQUEST_URI']).'" method="get" id="shopp-'.$Shopp->Category->slug.'-orderby-menu">';
                if (!SHOPP_PERMALINKS) {
                    foreach ($_GET as $key => $value)
                        if ($key != 'shopp_orderby') $string .= '<input type="hidden" name="'.$key.'" value="'.$value.'" />';
                }
                $string .= '<select name="shopp_orderby" class="shopp-orderby-menu">';
                $string .= menuoptions($menuoptions,$default,true);
                $string .= '</select>';
                $string .= '</form>';
                $string .= '<script type="text/javascript">';
                $string .= "jQuery('#shopp-".$Shopp->Category->slug."-orderby-menu select.shopp-orderby-menu').change(function () { this.form.submit(); });";
                $string .= '</script>';
            } else {
                if (strpos($_SERVER['REQUEST_URI'],"?") !== false) 
                    list($link,$query) = explode("\?",$_SERVER['REQUEST_URI']);
                $query = $_GET;
                unset($query['shopp_orderby']);
                $query = http_build_query($query);
                if (!empty($query)) $query .= '&';

                foreach($menuoptions as $value => $option) {
                    $label = $option;
                    $href = esc_url($link.'?'.$query.'shopp_orderby='.$value);
                    $string .= '<li><a href="'.$href.'">'.$label.'</a></li>';
                }

            }
            return $string;
            break;
EN

回答 3

Stack Overflow用户

发布于 2012-12-05 23:51:41

http://wordpress.org/extend/plugins/sort-searchresult-by-title/

这是一个看起来可以做你想做的事情的插件。

票数 0
EN

Stack Overflow用户

发布于 2012-12-06 00:21:06

您需要编辑搜索页面的模板文件并将其添加到搜索查询参数orderby title中,而不是按发布时间进行默认排序

票数 0
EN

Stack Overflow用户

发布于 2015-05-26 18:46:01

编辑核心代码不是一个好主意。对你来说幸运的是这不是必须的。您可以编辑/创建您自己的模板文件集合-search.php,并随心所欲地设置样式。

这里有更多关于模板文件here的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13727054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档