我正在尝试使用pre\\u get\\u posts来排除发布到主页的类别。如果我这样做的话,效果很好
$query->set( \'cat\', \'-13,-7,-19,-12,-24,-21,-14\');
这是硬编码的。我正在建立一个自定义管理员,列出管理员菜单中的类别。所以现在我想使用在管理菜单中选择的id。因此,我已将id分配给一个变量,当我var\\u转储该变量时,这就是我得到的
string(2) "13"
string(1) "7"
string(2) "19"
string(2) "12"
string(2) "24"
string(2) "21"
string(2) "14"
所有这些都被分配到变量$类别,所以我想我可以这样做
$category = get_option( \'excludecats\' );
foreach( $category as $exclude ){
$query->set( \'cat\', \'-\'.$exclude );
}
当我查看源代码时,我预计会有1987行代码,但我最终得到的是3117行代码,试图使用foreach来排除它们。我做错了什么?
最合适的回答,由SO网友:david.binda 整理而成
尝试使用“,”作为粘合剂内爆$类别。每次foreach运行中提到的代码都会重写cat变量$query。
$query->set(\'cat\', implode(\',\', $category));