Se queda de momento con el extracto y las etiquetas a capón

No he conseguido publicar la imagen. Acerté a obtenerlas de la entrada y acceder a la ruta del fichero pero que aparezcan en GNU Social no hay manera.
Se queda de momento con que pilla el extracto y lo publica a modo de entradilla y se le puede poner a capón dentro del código del plugin para que aparezca un texto fijo donde se puede meter por ejemplo !grupo #etiqueta relacionados con el blog.

Estaré un mes de vacaciones y a la vuelta lo colgamos en github por si alguien se anima a echar una mano.

Probando a publicar con imagen (intento 29)

A ver si hemos entendido como se manda una imagen desde WP a GNU Social

(Tengan paciencia…)

pregonero

 

Aquí el código:

$title = $post->post_title;
$permalink = get_permalink( $ID );

//___ extracto ___
$excerpt = get_the_excerpt();

//___ imagen ___

$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'post_parent' => $post->ID
);
$imagenes = get_posts( $args );

$imagen_src = wp_get_attachment_image_src( $imagenes[0]->ID );
$path_imagen = "@".$imagen_src[0];

//$imagen_src = wp_get_attachment_image_src($attachment->ID, 'full');

$url = get_option('gnu-social-serverurl');
$url = $url . "api/statuses/update.xml";
$username = get_option('gnu-social-username');
$password = get_option('gnu-social-password');

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, 1);

//___ texto + resumen + (pathimagen) + url ___
$status = $title . ": " . $excerpt . "(" . $path_imagen . ")" . " -> " . $permalink;

//$data = array('source' => 'web', 'status' => $status);

$data = array('source' => 'web', 'media'=> $path_imagen,'status' => $status);

curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); // requerido a partir de PHP 5.6.0

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$data = curl_exec($ch);