PHP:如何在WordPress中使用自定义查询显示特定类别的帖子?
我使用的不是WP语言,而是简单的PHP 我现在的代码是PHP:如何在WordPress中使用自定义查询显示特定类别的帖子?,php,wordpress,Php,Wordpress,我使用的不是WP语言,而是简单的PHP 我现在的代码是 SELECT * FROM wp_posts w WHERE w.post_status = 'publish' AND w.post_type = 'post' ORDER BY RAND() LIMIT 3 因此,我可以在我的自定义主页(非WP)上随机显示3篇博客文章 它起作用了 但现在我想选择一个特定的类别 我怎么做 query_posts('cat=123');
SELECT * FROM wp_posts w
WHERE w.post_status = 'publish'
AND w.post_type = 'post'
ORDER BY RAND()
LIMIT 3
因此,我可以在我的自定义主页(非WP)上随机显示3篇博客文章
它起作用了
但现在我想选择一个特定的类别
我怎么做
query_posts('cat=123');
对于特定的类别,这会起作用。如果类别有名称,则将该值与名称相等。不过,建议使用类别ID(如果以后发生更改) 您真的不应该使用SQL查询,而应该使用对象或函数 您的查询应如下所示:
$posts = new WP_Query(array(
'orderby' => rand,
'posts_per_page' => 3,
'post_status' => 'publish',
'cat' => 123
));
如果您在主页上使用此功能,“查询帖子”功能将更适合:
query_posts(array(
'orderby' => rand,
'posts_per_page' => 3,
'post_status' => 'publish',
'cat' => 123
));
在本例中,类别ID为“123”,但您可以使用此处的任何一个。此处仅显示最后5篇文章,而不显示特定类别
global $wpdb;
$posts = $wpdb->get_results('SELECT ID, post_title AS title, post_excerpt AS excerpt FROM '.$wpdb->posts.' WHERE post_type = "post" AND post_status = "publish" ORDER BY post_date DESC LIMIT 5');