Cómo compartir la misma publicación en múltiples sitios en WordPress

13 jul 2016, 21:35:02
Vistas: 17.5K
Votos: 2

Estamos desarrollando WordPress con múltiples sitios. Necesitamos compartir algunas publicaciones en más de un sitio. Necesitamos guardar la publicación en varios sitios con un solo clic.

He buscado en Google, pero no he encontrado ningún tutorial para eso.

3
Comentarios

Un poco fuera de tema, pero ¿no se consideraría eso como contenido duplicado y malo para el SEO?

Sledge Hammer Sledge Hammer
13 jul 2016 21:40:08

@SledgeHammer No, eso es contenido sindicado y no necesariamente malo para el SEO

cjbj cjbj
13 jul 2016 21:49:42

"Múltiples sitios" no significa una red multisitio, ¿verdad? Para cualquiera que todavía esté buscando una solución similar, recomendaría probar este plugin https://rudrastyh.com/plugins/simple-wordpress-crossposting

Misha Rudrastyh Misha Rudrastyh
1 jun 2024 14:07:58
Todas las respuestas a la pregunta 2
0

Puedes usar la función switch_to_blog() para esto

$other_id = 1234 // el ID del otro blog donde guardar la publicación
switch_to_blog($other_id);
$my_post = array(
  'post_title'    => $post_title,
  'post_content'  => $post_content,
  'post_status'   => 'publish',
  'post_author'   => $post_author,
  );

// Insertar la publicación en la base de datos
wp_insert_post( $my_post );

restore_current_blog();

Hay una trampa si ejecutas este código en el hook save_post, porque wp_insert_post también llama a save_post y terminas en un bucle infinito. Esta publicación en Stack Overflow ofrece una solución para eso.

13 jul 2016 21:59:23
4

Autor de Broadcast aquí.

Dado que tengo bastante experiencia con la multipublicación y todos sus problemas asociados, te sugiero que dejes que un plugin experimentado se encargue del compartir publicaciones.

Usando la API puedes transmitir la publicación a tantos blogs en red como quieras. Se encargará de copiar todos los adjuntos (sí, los adjuntos tienen URLs e IDs diferentes en cada blog) por ti.

Aquí te muestro cómo transmitir la publicación 123 a varios blogs:

ThreeWP_Broadcast()->api()->broadcast_children( 123, [ 10, 11, 12 ] );

Lo anterior también enlazará las publicaciones, así que cuando actualices la publicación 123, todas las publicaciones hijas también se actualizarán.

3 ago 2016 17:02:40
Comentarios

¿Puedo en lugar de transmitir una publicación publicada, enviar un borrador para ser publicado en otros sitios web?

Hugo Hugo
12 abr 2020 18:53:37

Claro. En ese caso solo transmite el borrador. Las publicaciones no tienen que tener un estado en particular.

WhiteWindows WhiteWindows
13 abr 2020 19:03:41

Entiendo. ¿Entonces el sitio destino recibiría el borrador en cualquier estado en que se encuentre?

Hugo Hugo
20 abr 2020 22:46:19

El sitio de destino recibiría la publicación en cualquier estado en que se encuentre, sí.

WhiteWindows WhiteWindows
21 abr 2020 23:04:19