Me he encontrado que si tienes una o varias páginas protegidas con contraseña usando el sistema estándar de WordPress, aunque esto funciona y el sistema pide la contraseña para ver los contenidos, estas páginas aparecen en los resultados de búsqueda estándar de la web pública.
Esto es probable que no lo quieras, así que hay que meter un código sencillo en nuestro functions.php o en nuestro plugin
/**
* Excluímos a las páginas protegidas con contraseña de la búsqueda
*/
function jpd_excluir_paginas_con_password_de_busqueda($query) {
if ( $query->is_search() && !is_admin() ) {
$query->set('has_password', false);
}
return $query;
}
add_filter('pre_get_posts', 'jpd_excluir_paginas_con_password_de_busqueda');
Listo. Nuestras páginas protegidas dejarán de salir en la parte pública