作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在帮助我的 friend 优化她的网站。它建立在 wordpress 主题之上,并且有一个插件 ViewsPost 用于仅显示查看次数最多的帖子。我需要做的是重写 SQL,使其仅获取上周查看次数最多的帖子。在 WHERE 条件下,只能说得到那些日期小于当前日期的帖子。如何编辑?
<?php
}
function gen21_display_most_viewed_posts($smallthumbs = true) {
global $wpdb;
/* taken from wp-postviews.php by Lester Chan http://lesterchan.net/portfolio/programming/php/ */
$favourites = $wpdb->get_results("SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date < '".current_time('mysql')."' AND post_type = 'post' AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER BY views DESC LIMIT 4");
if (!$favourites) return false;
foreach ($favourites as $fav) { ?>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12 item">
<a class="front-item" href="<?php echo get_permalink($fav); ?>">
<?php
echo get_the_post_thumbnail($fav, 'thumbnail');
/*
if ($smallthumbs) {
echo get_the_post_thumbnail($fav, 'small');
} elseif ( has_post_thumbnail($fav) ) {
if (rand(0,1) == 1) {
echo get_the_post_thumbnail($fav, "medium");
}
else {
echo get_the_post_thumbnail($fav, "small");
}
} */ ?>
最佳答案
更改 post_date 条件:
post_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 WEEK) AND NOW() -- or
post_date BETWEEN (DATE_SUB(NOW(), INTERVAL 1 WEEK)) AND DATE(NOW())
这从当前日期减去一周,并找到 post_date
在获得的日期和当前日期之间的帖子
整个查询是:
$favourites = $wpdb->get_results("SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date BETWEEN DATE_SUB(NOW(),INTERVAL 1 WEEK) AND NOW() AND post_type = 'post' AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER BY views DESC LIMIT 4"); // or
$favourites = $wpdb->get_results("SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date BETWEEN (DATE_SUB(NOW(),INTERVAL 1 WEEK)) AND DATE (NOW()) AND post_type = 'post' AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER BY views DESC LIMIT 4");
关于php - 按日期排序的 Wordpress PostViews 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45723510/
我正在使用社交框架与FaceBook共享。是否可以在以下屏幕截图中更改指示按钮上的文本? 任何帮助,将不胜感激。 最佳答案 是的,如果您可以使用社交框架发送消息以与FaceBook共享,则可以使用以下
我目前正在帮助我的 friend 优化她的网站。它建立在 wordpress 主题之上,并且有一个插件 ViewsPost 用于仅显示查看次数最多的帖子。我需要做的是重写 SQL,使其仅获取上周查看次
我是一名优秀的程序员,十分优秀!