Nie wiem, czy ktoś będzie zainteresowany właściwą odpowiedzią na to już odpowiedziane i zaakceptowane pytanie, ale co do cholery.
Aby odpowiedzieć na swoje pytanie za pomocą mysqli, musisz użyć get_result( )
Tak więc właściwym rozwiązaniem opartym na mysqli będzie
$query = "SELECT * from `wp_posts` WHERE ID=? ";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("i", $pid);
$stmt->execute();
$res = $stmt->get_result();
$data = $res->fetch_all(MYSQLI_ASSOC);
(pełne wyjaśnienie tego kodu można znaleźć w moim artykule, Zapytanie Mysqli SELECT z przygotowanymi instrukcjami )
a następnie możesz użyć $data w pętli foreach jako wyniku, jak pokazano w drugiej odpowiedzi.