Hola,
A ver, yo creo que no tiene nada que ver el "WHERE" para lo que nos ocupa. No tiene lógica, y podría añadirse que en la ayuda no se dice nada al respecto. Yo he hecho una prueba tal que así:
Código PHP:
$conexion = mysql_connect('localhost', '', '');
mysql_select_db('wp', $conexion);
$consulta = "SELECT * FROM wp_posts WHERE post_author = 1";
$resultado = mysql_query($consulta, $conexion);
echo mysql_num_rows($resultado);
La función "mysql_num_rows" hace lo que se espera que haga: devuelve el número de filas conque contamos luego de ejecutar la consulta SQL "SELECT", incluso, como en el caso anterior, si esta cuenta con una condición "WHERE". ¿Hay algo que se nos está escapando o qué?