¿Cómo recibir HTTP POST en WordPress?
¿Cómo puedo escuchar y recibir un HTTP POST de un tercero en WordPress para poder procesar los datos del post dentro de WordPress?
No busco una respuesta con código sino más bien el método por el cual WordPress recibiría ese HTTP POST.

¡Fácil! Tienes un par de opciones para hacerlo.
La más sencilla, pero menos segura, es crear un nuevo archivo PHP en la carpeta raíz de WordPress. Digamos que lo llamaremos get_post.php
y añadiremos funcionalidad de WordPress a él.
Así:
<?php
require_once('wp-load.php'); // añadir funcionalidad de WordPress
$post = $_POST;
if ( $something ) // comprobación de seguridad
update_post_meta( $post['post_id'], 'post_data', $post );
?>
El enlace de la API será tudominio.com/get_posts.php
Otra opción es crear una nueva plantilla de página dentro de tu directorio de plantillas. Y luego crear una página usando esa plantilla desde el panel de control de WordPress.
<?php
/* Template Name: Plantilla API */
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$post = $_POST;
update_post_meta( $post['post_id'], 'post_data', $post );
?>
El enlace de la API será: tudominio.com/permalink-de-la-pagina-creada
.

Me gustaría dar un ejemplo a la respuesta de @Mark Kaplun. Puedes registrar un endpoint para procesar tus solicitudes HTTP POST usando register_rest_route de la siguiente manera:
/** primero crea una función para procesar tu solicitud */
function procesar_mi_solicitud(WP_REST_Request $request)
{
$request_body = $request->get_body_params();
if(update_post_meta( $request_body['post_id'], 'post_data', $request_body ))
{
$response = new WP_REST_Response(array('mensaje'=>'Éxito'));
$response->set_status(200);
return $response;
}
else{
return new WP_Error('solicitud_invalida', 'Algo salió mal', array('estado'=>403));
}
}
/** luego crea una función callback para registrar la ruta */
function registrar_mi_ruta(){
register_rest_route('myplugin/v1', '/myroute', array(
'methods'=>'POST',
'callback'=>'procesar_mi_solicitud',
'permission_callback'=>'funcion_de_autenticacion'
));
}
add_action('rest_api_init', 'registrar_mi_ruta');
Una vez que hayas hecho esto, ahora puedes enviar tus solicitudes POST a la siguiente ruta
site_url('wp-json/myplugin/v1/myroute');

Desde la versión 4.4 en adelante, WordPress tiene un punto final oficial para accesos tipo "API" - wp-json, el cual puedes extender definiendo tu propio punto de extensión y manejador con register_rest_route, nunca he intentado enviar una carga útil que no sea JSON de esta manera, pero asumo que debería ser posible, o tu frontend puede fácilmente codificarlo como JSON.
La ventaja sobre otras respuestas aquí es que le permite a WordPress saber que la solicitud es una petición de API y no una del frontend.
(en versiones antiguas podrías haber usado reglas de reescritura... pero es demasiado confuso como para siquiera mencionarlo)

Enlace al manual sobre register_rest_route https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/

Debes comenzar creando una nueva plantilla de página partiendo de una plantilla que ya tengas en el tema (edita una plantilla, cambia el nombre de la plantilla en la parte superior de la página, guárdala como un archivo PHP diferente).
Luego añade el código PHP para procesar el HTTP post al nuevo archivo.
El último paso es ir al panel de control y crear una nueva página utilizando la nueva plantilla.

Estoy digiriendo lo que has escrito aquí... ¿la nueva página entonces "escucha" el HTTP POST desde fuera de Wordpress?
