Questions tagged «sort»

8
是否可以按菜单顺序或按meta键对“下一个/上一个帖子”链接进行排序?
我有一系列按meta_key值排序的帖子。如有必要,还可以按菜单顺序排列它们。 下一个/上一个帖子链接(由next_post_link,previous_post_link或posts_nav_link全部按年代顺序导航。虽然我了解此默认行为,但我不知道如何更改它。我发现它映射到link-template.php中的neighbor_post_link,但是建议您从头开始重写它以替换它,或者有更好的解决方案。

5
首先按元键查询排序列表(如果存在),然后按标题显示按元顺序排序的其余帖子
我正在开发一个自定义分类术语页面模板,在该模板中,我们希望与该术语相关的项目按发布日期(自定义日期字段)进行排序-如果同一天有多个项目(格式如YYYY-MM- DD),然后按标题对它们进行排序,如果尚未填写自定义字段(旧项目),则最后按标题进行排序。 因此,我使用WP_query尝试了一百种不同的方式,它确实返回了我想要的大多数结果-但是在这种情况下,它仅返回具有publication_date的meta_key的项。所有其他项目都将被忽略并且不会显示。我使用“或”的关系尝试了meta_query,并将publication_date比较为EXISTS和NOT EXISTS,但是为我返回了0个结果。 此外,该站点仍在运行3.5.2,并且他们不想升级。 这是我最近的查询,使我获得具有按正确顺序显示的publication_date自定义字段的帖子: $term = get_queried_object(); // find the term of the taxonomy page we are on $wp_query = new WP_Query( array( 'post_type' => 'resource', 'tax_query' => array( array( 'taxonomy' => 'resource_types', 'field' => 'slug', 'terms' => $term->name, )), 'meta_key' => 'publication_date', 'orderby' => 'meta_value_num', 'order' => …

1
如何将自定义帖子类型的默认管理员排序顺序设置为自定义列?
这里可用的解决方案 我已经设置了一个名为clientarea的自定义帖子类型,并在管理区域中为其设置了几个自定义列-自定义列都是自定义元字段,正如您从我的代码中看到的那样。我想按“约会日期”默认排序。 所有列都可以正常工作,并且可以按预期进行手动排序,但是我无法使用默认的排序顺序。 如果我将默认排序字段更改为标准字段(例如“标题”),则它可以按预期工作;当我尝试将自定义列设置为默认的排序顺序时,它似乎不起作用。顺序有效(即,即使使用自定义列,我也可以默认在asc和desc之间进行切换),但是它没有选择orderby,因此恢复了按自定义帖子发布日期排序的顺序。 我想念什么? 我的代码如下: add_action( 'manage_posts_custom_column' , 'custom_columns', 10, 2 ); function custom_columns( $column, $post_id ) { global $wpdb; switch ( $column ) { case 'extranet_case_office': $get_office_ID = get_post_meta( $post_id, 'extranet_case_office', true ); $get_office_name = $wpdb->get_results('SELECT post_title FROM `cn_bf_posts` WHERE `ID` = '.$get_office_ID); echo $get_office_name[0]->post_title; break; case 'extranet_appointment_date': …

3
在Archive.php上按名称和升序对结果进行排序
我目前使用以下代码列出Archive.php中的帖子,但我希望结果按名称按升序排列,我已经检查了编解码器,但答案对我来说并不明确,我如何才能使它正常工作? <?php $post = $posts[0]; // ?> 提前致谢。
15 archives  sort 

4
在对查询进行排序时忽略初始文章(例如“ a”,“ an”或“ the”)?
我目前正在尝试输出音乐标题列表,并希望排序忽略(但仍显示)该标题的初始文章。 例如,如果我有乐队列表,它将在WordPress中按字母顺序显示,如下所示: 黑色安息日 齐柏林飞艇 平克·弗洛伊德(乐队名 披头士 纠结 滚石乐队 薄丽兹 相反,我希望按字母顺序显示它,而忽略初始文章“ The”,如下所示: 披头士 黑色安息日 纠结 齐柏林飞艇 平克·弗洛伊德(乐队名 滚石乐队 薄丽兹 去年,我在一个博客条目中遇到了一个解决方案,该提议在中提供了以下代码functions.php: function wpcf_create_temp_column($fields) { global $wpdb; $matches = 'The'; $has_the = " CASE WHEN $wpdb->posts.post_title regexp( '^($matches)[[:space:]]' ) THEN trim(substr($wpdb->posts.post_title from 4)) ELSE $wpdb->posts.post_title END AS title2"; if ($has_the) { $fields .= …

4
Orderby meta_value仅返回具有现有meta_key的帖子
我有以下wp_query: $args = array( 'post_type' => 'news', 'orderby' => 'meta_key', 'order' => 'ASC', 'meta_key'=>'custom_author_name', 'post_per_page'=>-1 ); $query = new WP_Query($args); echo $query->found_posts; echo = 10结果,因为只有10 news个帖子带有meta_key = custom_author_name。但是有数百个news帖子没有包含具有特定meta_key的post_meta行。请注意,不涉及meta_query。没有分配meta_value,因为我仅尝试按meta_key对帖子进行排序,而不按meta_value进行过滤。 不应该按顺序选择所有帖子吗?并订购它们? 如果是这样,为什么要过滤结果?如果找不到meta_key,为什么不使用空字符串或全部匹配呢? 如果没有,为什么不呢? 如果我在每个新闻帖子中都输入meta_key(即使它是一个空字符串),那么我会得到预期的结果。但这似乎是很多表行,不需要在那里。

1
使用meta_query,如何按自定义字段过滤并按另一字段排序?
使用以下代码(在functions.php中),我的CPT事件帖子按_end_date而不是_start_date排序。从WP 3.1.3开始,对此有什么适当的解决方案?当然,我想避免使用已弃用的meta_key。 add_filter( 'pre_get_posts', 'my_get_posts' ); function my_get_posts( $query ) { if ( is_home() ) { $query->set( 'post_type', 'event' ); $query->set( 'meta_key', '_start_date' ); $query->set( 'orderby', 'meta_value_num' ); $query->set( 'order', 'ASC' ); $query->set( 'meta_query', array( array( 'key' => '_end_date', 'value' => time(), 'compare' => '>=', 'type' => 'numeric' ) ) …


2
排序:使用orderby meta_value_num然后按标题排序的自定义查询
我尝试运行自定义帖子类型查询以匹配以下条件: 首先按年份降序对电影进行排序, 然后按名称标题(在“年内”进行排序)。 所需的输出: 电影标题A,2006 电影标题Z,2006 ... 电影标题A,1996 电影标题Z,1996 我使用以下代码: $wp_query = new WP_Query(); $wp_query->query( array( 'post_type' => 'movies', 'distribution' => 'companyA', 'meta_key' => 'year', 'orderby' => 'meta_value_num title', 'order' => 'DESC', 'posts_per_page' => -1, 'post_status' => 'publish', )); 我尝试了几件事,但我只能得到这个“反”结果: 电影A,1996 电影Z,1996 ... 电影A,2006 电影Z,2006 如果我更改DESC,ASC,则仅更改标题排序。但我需要将其应用于年份而不是标题。 使用两个ord​​erby值是正确的方法吗?还是我必须使用meta_query或自定义SQL? 提前谢谢! 这是从中得到的SQL查询 $GLOBALS['wp_query']->request …


1
如何使用meta_query来对meta_key进行排序并按日期进行二级排序?
在过去的几天里,我一直在对问题进行故障排除,并且一直在圈里。真的可以用新鲜的眼睛来帮助我回答这个问题... 因此,我正在一个wordpress网站上工作,该网站的帖子具有一些与我需要运行的查询相关的自定义字段:“过期”和“我的排序顺序”。当我运行query_posts时,我希望结果是“ post-expired”不是“ yes”的帖子(此部分在我的代码中有效)。我还希望将结果按“我的排序顺序”的DESC数值排序(也可以使用),如果“我的排序顺序”有关联,我希望按日期对最近的帖子进行二次排序第一。 按日期的第二排序是我遇到麻烦的地方。 这是我现在拥有的代码: <?php $args = array( 'paged' => $paged, 'meta_query'=> array( array( 'key'=>'post-expired', 'value'=> 'yes', 'compare' => '!=' ) ), 'meta_key'=>'my-sort-order', 'orderby'=>'meta_value_num', 'order'=>'DESC' ); $args = array_merge( $args , $wp_query->query ); query_posts( $args ); ?> 使用上面的代码,我正确地获取了未过期的帖子,并且按照我的排序顺序降序对它们进行了排序(即100出现在99之前,依此类推)。但是,如果两个帖子都具有相同的排序顺序值,那么就会发生某种二级排序,我似乎无法控制(并且无法弄清楚它实际上是在排序的)。 解决此问题的第一个想法是,如果我想为该帖子设置特定的排序顺序,则仅将值添加到“我的排序顺序”。我以为如果其余帖子的此字段的值都留为空白,则它们将按照DESC日期的默认排序方式简单返回(按设置排序顺序的帖子之后)。但是,实际上发生的是,没有设置排序顺序值的所有帖子都根本没有返回... 接下来,我尝试在orderby字段中添加多个值,如下所示: ('orderby'=>'meta_value_num date') 这完全炸毁了我想要的两个排序顺序,并以意外的方式退回了帖子。我的印象是允许使用多个orderby值,但是由于某些原因,它在这里不起作用。 在这一点上,我不确定如何使这些潜在的解决方案中的任何一个起作用。有谁知道我该怎么做?1)首先按“我的排序顺序”字段对帖子进行排序,然后使用默认的日期排序返回该字段中没有值的其余帖子;还是2)弄清楚如何通过排序来控制次要顺序,以便任何与“我的排序顺序”相关的帖子都将按日期进行排序(最新的优先)?


3
排序管理员菜单项
在与“ 更改管理菜单部分的顺序? ” 的相关说明中,我正在寻找一种方法,可以按字母顺序对WordPress管理区域每个子部分中的条目进行排序。 当前,无论何时添加新插件,其条目都将出现在“设置” /“工具” /“插件”下的一个看似随机的位置,并且通常很难找到新菜单项。(我已经有很多插件,所以菜单很满。) 由于我相当定期地添加和删除插件,所以我宁愿不需要不断进入菜单排序插件的设置页面并调整顺序。 很抱歉这个长问题;我只想弄清楚我在寻找什么。 例 代替: 设定值 - 一般 - 写作 - 阅读 -讨论 -(其余核心项目) -插件4 -可湿性粉剂 -一个可以帮助解决问题的插件 -与Google相关的插件 -RSS插件 -FeedBurner插件 -等 我可以按字母顺序(或通过其他逻辑方法)对菜单进行排序吗,例如: 设定值 -一个可以帮助解决问题的插件 -讨论 -FeedBurner插件 - 一般 -与Google相关的插件 -插件4 - 阅读 -(其余核心项目) -RSS插件 -可湿性粉剂 - 写作 -等 更好的排序方法是将核心条目保留在默认位置,并且仅对插件添加的项目进行排序: 设定值 - 一般 - 写作 …
8 wp-admin  admin  sort 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.