有没有办法修改WordPress查询以添加计算字段?我想要排序的帖子是基于什么在帖子标题,以便任何包含“黄金”的帖子将首先出现在随机顺序,“银牌”将出现在随机顺序下,然后所有其他帖子。查询将如下所示: IF(post_title LIKE '%GOLD%',FLOOR(RAND()*(999999-500000+1))+500000,post_title LIKE'%SILVER%',FLOOR(RAND()*(499999-1+1))+1,0)) AS po
我已经读了很多关于这个问题的答案,但是当你需要在一堆文章中随机选择一行,比如一个wordpress数据库时,似乎没有一个答案,在wp_posts中,你实际上有两个版本,垃圾和发布的文章。如果id是随机的,并且帖子没有像下面的代码那样发布,则前面的答案似乎返回空白结果 JOIN (SELECT (RAND() * (SELECTMAX(id) FROM wp_posts)) AS id) AS r2
WHERE w.id >
奇怪的是它似乎是随机发生的。为了在我的代码中找到问题,我删除了一个接一个的部分,直到它开始工作。至少我成功地回显了实际的SQL查询。下面是它在没有显示产品时使用的SQL查询:
SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND (wp_posts.ID = '18') AND wp_posts.post_type= 'page' ORDER BY wp_p
我很困惑,因为只要直接在Navicat上执行这个MySQL命令,我就会时不时地得到一个随机的命令。根据我的理解,除非您显式使用RAND()的ORDER,否则顺序应该始终是相同的,但在本例中根本不是这样。SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts
INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_idGROUP BY wp_
我想按下载量DESC对一些文章进行排序,这些文章似乎是随机显示的: $posts = get_posts(array(‘posts_per_page’=> 12,‘orderby’ => ‘meta_value’,)); 但奇怪的是,来自Mysql的查询运行得很好: `SELECT * FROM wp_postmeta WHERE meta