php - 今天,过去一周,过去一个月的 Wordpress 搜索
问题描述
我还在学习php,但这对我来说太难了。任何帮助,将不胜感激。
基本上,我正在尝试为我的 wordpress 编写搜索代码,以便访问者可以选择发布帖子的时间范围,就像在 Google 搜索中一样。
在搜索框附近下拉:
- 今天。
- 上周
- 过去一个月。
- 今年迄今为止。
- 过去的一年。
- 任何时候。
现在我只有一个有效的搜索代码:
<form action="/" method="get">
<input type="text" name="s" placeholder="Symbol" id="search" value="<?php the_search_query(); ?>" />
</form>
解决方案
我设法找到了答案。
您可以在页面上有按钮:
今天,昨天,过去 7 天,过去一个月,过去一年,所有时间。
单击时,循环将仅显示在该时间段内发布的帖子。
以下是代码(将它们添加到 index.php):
- 将此代码添加到您希望显示按钮的位置:
<a href="?d=<?php date("d", strtotime( '-0 days' ) );
echo date("d", strtotime( '-0 days' ) ); ?>"> Today </a>
<a href="?d=<?php date("d", strtotime( '-1 days' ) );
echo date("d", strtotime( '-1 days' ) ); ?>"> Yesterday </a>
<a href="?period=7daysago"> Past Week </a>
<a href="?period=31daysago"> Past Month </a>
<a href="?period=365daysago"> Past Year </a>
<a href="?alltime"> All Time </a>
- 然后在第一个之后,添加以下代码:
<?php
// Limit query posts to the current day
//
$period = $_GET["period"];
$day = $_GET["d"];
$year = $_GET["y"];
$args = array(
'year' => (int) date($year),
'monthnum' => (int) date( 'M' ),
'day' => (int) date($day),
'date_query' => array(
array(
'after' => ($period),
)
)
);
$query = new WP_Query( $args );
// The Loop
while ( $query->have_posts() ) :
$query->the_post();
// LOOP content goes here
endwhile;
?>
我敢肯定,如果您愿意,您可以使用 css 轻松地创建一个下拉菜单。
作为一个新手,花了一段时间才弄清楚这一切。
享受。
推荐阅读
- php - 使用 PHP 获取客户端 IP
- algorithm - 基于玩家偏好的团队创建算法
- javascript - ReactJS - 如何找到 paymentId 的值并呈现它的值作为回报
- ruby-on-rails - 续集模型属性(db 列)的 instance.attribute_name 和 instance[:attribute_name] 是否完全相同?
- ios - HTTP POST 不适用于我的 ios 应用程序中的 Route 类,swift 4.1
- c# - 出现频率最高的单词图表
- python-2.7 - 使用 BS4 抓取网站数据时出错
- c++ - 删除静态向量中的唯一类对象指针
- asp.net-mvc - 编辑用户删除密码 - ASP.NET MVC
- javascript - 在Node Js中一一读取目录中的多个文件