从 wordpress 帖子中删除一个类别

Removing one category from wordpress posts

好吧,首先我对 php 很讨厌。这是我的代码

$myposts = get_posts('showposts=9');
foreach($myposts as $post) :
setup_postdata($post);

我不想显示类别“1”,所以我尝试了:

$myposts = get_posts('cat=-1, showposts=9');
foreach($myposts as $post) :
setup_postdata($post);

这使得所有 post 停止显示。所以我尝试只选择我想要的类别:

$myposts = get_posts('cat=40,41,42,43,etc, showposts=9');
foreach($myposts as $post) :
setup_postdata($post);

每个类别只会显示 1 post 个,而不是全部。

我在这个特定的页面模板上写了 php,因为我想在别处使用这个类别,只是不显示在这个页面上。我已经尝试了一些其他的东西,但我并不真正理解 php 的结构并且将它插入随机点并没有产生任何结果。

有几种方法可以实现这一点。您可以使用 get_posts() (https://codex.wordpress.org/Template_Tags/get_posts) or you can use WP_Query() (http://codex.wordpress.org/Class_Reference/WP_Query)

我不确定当您调用 get_posts() 时您的 showposts=9 参数在您的代码中做了什么?

使用 get_posts:

获取除某一类别(ID=1)之外的所有帖子
$myposts = get_posts(array('cat'=>'-1', 'posts_per_page'=>-1));

'cat'=>'-1'表示排除类别ID为1的帖子,'posts_per_page'=>-1表示不限制返回的帖子数。