我将自定义字段用于iscasino_rank_score
以存储评分为例4.9
所有赌场都存储在自定义柱式赌场上。
我需要弄清楚如何获得排名列表,如RANKED #2 of 350 CASINOS
从…起points
.
Wordpress将此数据存储到wp_postmeta
桌子
我可以从自定义帖子类型、所有赌场获得所有分数并将其放入数组,但接下来我需要使用自定义php进行排名排序。
我读过this 但有不同的结构和数据。
我将自定义字段用于iscasino_rank_score
以存储评分为例4.9
所有赌场都存储在自定义柱式赌场上。
我需要弄清楚如何获得排名列表,如RANKED #2 of 350 CASINOS
从…起points
.
Wordpress将此数据存储到wp_postmeta
桌子
我可以从自定义帖子类型、所有赌场获得所有分数并将其放入数组,但接下来我需要使用自定义php进行排名排序。
我读过this 但有不同的结构和数据。
您可以运行WP_Query
从post\\u type获取所有帖子casinos
并使用自定义字段值对其进行排序casino_rank_score
. 然后可以进一步处理它以显示列组。
$args = array(
\'post_type\' => \'casinos\',
\'meta_key\' => \'casino_rank_score\',
\'orderby\' => \'meta_value_num\',
\'posts_per_page\' => 350,
\'ignore_sticky_posts\' => 1,
);
$my_query = new WP_Query( $args );
如果只需要显示一篇文章RANKED #2 of 350 CASINOS
然后您可以使用\'posts_per_page\' => 1,
并偏移1\'offset\' => 1,
这一天你将得到排名第二的赌场。EDIT
要获得排名,您需要运行自定义查询。这就是如何在自定义查询中获取当前帖子的排名。它经过优化,因为我们只返回ID,不需要post数据,所以速度非常快。但为了进一步优化它,您可以使用Transients_API 几小时或几天。$args = array(
\'post_type\' => \'casinos\',
\'meta_key\' => \'casino_rank_score\',
\'orderby\' => \'meta_value_num\',
\'posts_per_page\' => -1,
\'ignore_sticky_posts\' => 1,
\'fields\' => \'ids\',
);
$my_query = new WP_Query( $args );
global $post;
$total_casinos = $my_query->post_count;
$casinos_rank = array_search( $post->ID, $my_query->posts ) + 1;
echo "RANKED #" . $casinos_rank . " of " . $total_casinos . " CASINOS";
这是tested
和working
我正在尝试在我的时间线自定义帖子中为年份创建一个额外的列。我可以创建额外的列,实际上我可以对它进行排序,它工作正常,但我的所有页面似乎都不工作。这是我用来创建列并使其可排序的所有代码:// Register the column add_filter( \'manage_edit-maryg_timeline_columns\', \'set_custom_edit_date_columns\' ); add_action( \'manage_maryg_timeline_posts_cu