我很确定类别参数不能与p
. 在documentation it says: “显示与特定类别关联的帖子。”而且没有一个例子像您尝试的那样将一个类别与一篇文章相结合。
相反,我认为您需要使用这样的分类查询:
$args = [
\'post_type\' => \'post\',
\'p\'=>(int)$_POST[\'the_ID\'],
\'tax_query\' => [
[
\'taxonomy\'=>\'category\',
\'field\'=>\'slug\',
\'terms\'=>\'materials\'
]
]
];
试一试,如果它解决了你的问题,记住把它标记为答案。
此外,请确保您获得了正确的ID。在您提供的代码示例中,the_ID()
绝对不是你想要的。the_ID()
将ID值回显到输出。你可能想要的是get_the_ID()
但在这种情况下,即使这样也会出错(根据GET请求的输入定义的ID检索单个帖子)。
此外,如果您要从$\\u POST或$\\u GET中提取ID,请确保在查询中使用它之前对其进行清理(尽管我很确定WordPress在运行查询之前也会清理输入,但您永远都不会太安全)。