我想通过乘以自定义表中的值来排序帖子。
+---------+------+------+------+------+------+
| post_id | a | b | c | d | e |
+---------+------+------+------+------+------+
| 1 | 0.24 | 0.34 | 0.28 | 0.23 | 0.29 |
+---------+------+------+------+------+------+
| 2 | 0.25 | 0.33 | 0.26 | 0.31 | 0.31 |
+---------+------+------+------+------+------+
| 3 | 0.27 | 0.31 | 0.32 | 0.28 | 0.25 |
+---------+------+------+------+------+------+
我使用以下代码,它似乎工作正常:add_filter(\'posts_join_paged\', function( $join, $query ) {
global $wpdb;
$join .= "LEFT JOIN {$wpdb->prefix}rates ON {$wpdb->prefix}rates.post_id = {$wpdb->prefix}posts.ID";
return $join;
}, 10, 2 );
add_filter(\'posts_orderby\', function( $orderby, $query ) {
global $wpdb;
$orderby = "{$wpdb->prefix}rates.a*c*e ASC";
return $orderby;
}, 10, 2 );
我的问题是,这种连接和乘法的方法是正确的还是有更好的方法?