Obtener el ID del objeto por URL
Tengo una URL (como por ejemplo la URL /sample-page/
), necesito el ID del objeto correspondiente. ¿Cómo lo hago?

Prueba esta función:
url_to_postid( $url );
El codex de WordPress es tu amigo. Una rápida búsqueda en Google podría haberte dado la respuesta.

Las otras respuestas son válidas, pero solo para agregar otro método (generalmente desconocido, pero muy útil) que es proporcionado por una función llamada: get_page_by_path();
$page = get_page_by_path('parent-page/sub-page');
Vale la pena señalar que el parámetro path incluso puede tomar un SLUG como parámetro. Ejemplo:
$page = get_page_by_path('your-slug-of-page-to-exclude');
wp_list_pages('exclude='.$page->ID.'&title_li=');
entonces podrías usar $page->ID

No funciona, $page-ID
devuelve el error Notice: Trying to get property of non-object in ....

Utiliza get_queried_object_id()
como un mapeador para WP_Query::get_queried_object_id()
.
A diferencia de url_to_postid()
, no necesitas conocer la URL y también funciona con taxonomías y tipos de contenido personalizados (si recuerdo correctamente).
Para ver un ejemplo de uso, revisa mi respuesta a Obtener el ID del término actual.

Tuve el mismo problema, pero solo con tipos de entradas personalizadas. Desafortunadamente url_to_postid( $url );
no funciona con tipos personalizados, así que terminé usando esta función bwp_url_to_postid($url).
Esta función extiende url_to_postid( $url );
para que funcione con tipos de entradas personalizadas.
Si tienes el enlace permanente de la URL, entonces:
<?php $postLink = get_permalink($post_object->ID); ?>
<?php $postId = bwp_url_to_postid($link); ?>
<?php echo $postId ?>
