¿La forma más eficiente de insertar una publicación fuera de WordPress?

3

Necesito insertar una publicación a través de PHP fuera del entorno de Wordpress (pero en el mismo servidor) y estoy buscando la forma más eficiente de hacerlo.

Estaba pensando en 2 soluciones:

1) Utilizando XML-RPC, como se explica aquí

2) Cargue el núcleo de WordPress que requiera wp-load.php y luego use wp_insert_post()

¿Cuál usa menos recursos? Solo necesito insertar una nueva publicación en la base de datos y no necesito ningún soporte para los complementos, la temática, etc. ¿Hay una forma más hackish de hacer esto?

¡Gracias!

    
pregunta achairapart 07.03.2014 - 13:24

4 respuestas

10

Si estás en un servidor remoto , XMLRPC sería lo mejor, pero requiere detalles de inicio de sesión

Si estás en un script PHP en el mismo servidor , wp-load.php sería lo mejor (XMLRPC implicará una solicitud de orden)

Si estás en una secuencia de comandos de bash o CLI , WP CLI sería lo mejor, por ejemplo:

wp post create --post_type=page --post_status=publish --post_title='A future post' --post-status=future --post_date='2020-12-01 07:00:00'

Más información sobre las CLI de WP create post command

Si estás loco , un inserto de SQL sin procesar, rápido, barato, no dispara todos los ganchos y llamadas API necesarias, la opción más incompatible con complementos, cachés, etc.

Si está aún más loco , puede escribir un archivo WXR y luego ejecutar el Importador de WordPress

Si eres paciente , proporciónalo como un RSS y haz que WordPress use un complemento de agregación para acceder a él

Si eres Sane

Entonces, para empezar, no habrá una secuencia de comandos externa, y habrá creado un complemento, habrá utilizado la API WP AJAX, no habrá creado un archivo dedicado para un controlador de formularios, etc.

A menos que estés en alguna configuración de Symfony o Zend, tu pregunta indica que estás haciendo algo horriblemente mal.

Si estás en tal situación, hay bibliotecas para eso, bibliotecas como:

enlace

Entre otros.

Pero para ti achairapart

Diría que wp-load.php es probablemente la forma más segura y compatible que no requiere costosas solicitudes de http. También es la forma en que la mayoría de las bibliotecas lo implementarán, y también la forma en que lo haría.

Pero tenga en cuenta que insertar / crear una publicación en WordPress es algo inherentemente costoso. Puede reducir la carga, pero nunca será una operación rápida y rápida a menos que esté ejecutando un sitio que no tenga complementos o publicaciones y que contenga solo la publicación y la página de muestra de hello world.

    
respondido por el Tom J Nowell 10.03.2014 - 19:56
3
  

¿Cuál usa menos recursos?

Ninguno, realmente.

  

No necesito ningún soporte para complementos, temas, etc.

Creo que has respondido tu propia pregunta. Ir a la última técnica ( wp-load.php ).

    
respondido por el TheDeadMedic 07.03.2014 - 13:29
2
  

¿Hay una forma más pirata de hacer esto?

Según Wiktionary hackish significa:

  

soluciones mal diseñadas

Puede hacerlo directamente a través de SQL o incluso generar un archivo .sql e importarlo directamente a su base de datos ;-)

Este camino probablemente será poco flexible e incluso embarrado, pero hackish yes ;-)

Pero en general iría con el número 2 ).

    
respondido por el birgire 10.03.2014 - 19:19
0

Como usted está en el mismo servidor, ¿por qué no hacer una sesión de SQL personalizada? Creo que usará menos recursos del servidor que cargar el archivo del núcleo con wp-load.php

    
respondido por el WpMania.Net 11.03.2014 - 19:31

Lea otras preguntas en las etiquetas