我想用按钮过滤wordpress上的文章,会有几个按钮,比如“周一,周二,周三……”当用户点击一个按钮,我想显示当天发布的文章,我们如何做到这一点?
查看图片
#1【WordPress文章过滤器使用每星期的一天】试试这个:–
这个答案可能会帮助那些真正想要定制过滤器的人。//进行高级SQL编辑,以过滤一周的天数
add_filter( 'posts_where_request', array( &
$this, 'processSQLDelMarkers' ), 99, 2 );
/**
* Manipulate the pre-flight SQL query to filter on the day of the week.
* Remove any ##DEL## marker as well as the next character after it
* @param $where
* @return mixed
*/
public function processSQLDelMarkers($where, \WP_Query &
$query)
{
// Special gate
if (stripos($where, '##DEL##') === false) {
return $where;
}// ... security checks omitted for brevity .../**
*Sample where clause before adjustment:
*... AND ihs_postmeta.meta_value != '##DEL##\' AND WEEKDAY(FROM_UNIXTIME(ihs_postmeta.meta_value)) = 4##DEL##' ) ...
*becomes
*... AND ihs_postmeta.meta_value != '' AND WEEKDAY(FROM_UNIXTIME(ihs_postmeta.meta_value)) = 4 ) ...
*/
return preg_replace( '(##DEL##.?)', '', $where );
}
然后使用一个精心构造的元值和虚拟比较,就像这样(见原始问题中的代码),我可以实现SQL注入:
$qv['meta_query'][] = array(
'key' =>
'##DEL##\' AND WEEKDAY(FROM_UNIXTIME(ihs_postmeta.meta_value)) = 4##DEL##', 'value' =>
$day, 'compare' =>
'!='
);
注意:通过正确的安全检查,不应该注入不需要的SQL字符串。另一种方式:—
这将显示当天最受欢迎的10个帖子。
.<
?php get_mostpopular("range=daily&
limit=10");
?>
推荐阅读
- WordPress,PHP-将图像插入主题主页
- 今年520我想找个程序猿做男票
- #2021年底大盘点#网卡多队列
- Linux 7.9 ens33网卡异常处理
- 用户态和内核态的区别是啥
- maven私服nexus部署
- Linux清除分区信息
- Shell脚本之双重循环(补充)
- #yyds干货盘点# linux实现pxe自动装机 理论方法