在WordPress中 可以使用 WP_Query 类来查询和循环收藏的文章列表
时间: 2024-02-12 09:02:41 浏览: 29
是的,你可以使用 WP_Query 类来查询和循环收藏的文章列表。具体来说,你可以使用以下代码来查询和循环收藏的文章列表:
```
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'post__in' => get_user_meta(get_current_user_id(), 'my_favorites', true),
'orderby' => 'post__in'
);
$favorite_query = new WP_Query($args);
if ($favorite_query->have_posts()) {
while ($favorite_query->have_posts()) {
$favorite_query->the_post();
// 输出文章信息
}
}
```
这个代码使用了 `post__in` 参数来指定需要查询的文章列表,这个列表是通过 `get_user_meta` 函数获取用户的收藏列表。注意,这个代码中的 `my_favorites` 是一个自定义的用户元数据字段,你可以根据实际情况修改这个字段名。另外,这个代码中的 `orderby` 参数设置为 `post__in`,表示按照文章在收藏列表中的顺序进行排序。
相关问题
在WordPress中 可以使用 WP_Query 类来查询和循环收藏的文章列表 并且带时间和用户名
是的,你可以使用 WP_Query 类来查询和循环收藏的文章列表,并且带时间和用户名。具体步骤如下:
1. 获取当前用户的 ID,可以使用 get_current_user_id() 函数。
2. 构建 WP_Query 对象,设置参数:
- post_type:设为 "post",表示只查询文章。
- author:设为当前用户的 ID,表示只查询当前用户的文章。
- meta_query:设为包含时间和用户名的条件,例如:
```
'meta_query' => array(
array(
'key' => 'favorite_time',
'value' => '2021-08-01',
'compare' => '>=',
'type' => 'DATE'
),
array(
'key' => 'favorite_user',
'value' => get_current_user_id(),
'compare' => '='
)
)
```
表示查询收藏时间在 2021 年 8 月 1 日之后,且收藏用户为当前用户的文章。
3. 循环查询结果,输出文章标题等信息。
完整代码示例:
```
$current_user_id = get_current_user_id();
$args = array(
'post_type' => 'post',
'author' => $current_user_id,
'meta_query' => array(
array(
'key' => 'favorite_time',
'value' => '2021-08-01',
'compare' => '>=',
'type' => 'DATE'
),
array(
'key' => 'favorite_user',
'value' => $current_user_id,
'compare' => '='
)
)
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
the_title();
// 输出其他文章信息
}
}
wp_reset_postdata();
```
在WordPress中 可以使用 WP_Query 类来查询和循环收藏的文章列表并输出文章标题 时间 用户名
是的,WordPress中可以使用WP_Query类来查询和循环收藏的文章列表并输出文章标题、时间和用户名。下面是一个示例代码:
```php
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'author' => get_current_user_id(),
'meta_query' => array(
array(
'key' => '_wporg_meta_key',
'value' => 'yes',
'compare' => '=',
),
),
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$post_title = get_the_title();
$post_date = get_the_date();
$post_author = get_the_author();
echo '<li>' . $post_title . ' - ' . $post_date . ' - ' . $post_author . '</li>';
}
}
```
请注意,此示例代码中的“_wporg_meta_key”应该替换为您在收藏文章时使用的元键。