A maneira mais eficiente de inserir um post fora do WordPress?

3

Eu preciso inserir uma postagem via PHP fora do ambiente do Wordpress (mas no mesmo servidor) e estou procurando a maneira mais eficiente de fazer isso.

Eu estava pensando em duas soluções:

1) Usando XML-RPC, como explicado aqui aqui

2) Carregue o núcleo do WordPress que requer wp-load.php e, em seguida, use wp_insert_post()

Qual deles usa menos recursos? Eu só preciso inserir um novo post no banco de dados e não preciso de nenhum suporte para plugins, theming, etc. Existe uma maneira mais hackish para fazer isso?

Obrigado!

    
por achairapart 07.03.2014 / 13:24

4 respostas

10

Se você estiver em um servidor remoto , o XMLRPC seria melhor, mas requer detalhes de login

Se você estiver em um script PHP no mesmo servidor , wp-load.php seria melhor (o XMLRPC envolverá uma solicitação das sortes)

Se você estiver em um script bash ou CLI , a CLI do WP será melhor, por exemplo:

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'

Mais sobre WP CLIs create post command

Se você é louco , uma inserção SQL bruta, rápida, barata, não dispara todos os ganchos e chamadas de API necessárias, a opção mais incompatível com plugins, caches, etc.

Se você é ainda mais louco , você pode escrever um arquivo WXR e, em seguida, executar o WordPress Importador

Se você é paciente , forneça-o como um RSS e peça ao WordPress para usar um plugin de agregação para puxá-lo

Se você é sã

Então nenhum script externo estará lá para começar, e você terá construído um plugin, usou a API do WP AJAX, não criou um arquivo dedicado para um manipulador de formulários, etc.

A menos que esteja em alguma configuração do Symfony ou do Zend, sua pergunta indica que você está fazendo algo terrivelmente errado.

Se você estiver em tal situação, existem bibliotecas para isso, bibliotecas como:

enlace

Entre outros.

Mas para você achairapart

Eu diria que wp-load.php é provavelmente a forma mais segura e compatível que não requer solicitações http caras. É também como a maioria das bibliotecas irá implementá-lo, é também como eu faria isso.

Mas lembre-se, inserir / criar uma postagem no WordPress é algo inerentemente caro. Você pode reduzir a carga, mas nunca será uma operação rápida e rápida, a menos que você esteja executando um site que não tenha plug-ins ou posts e contenha apenas a postagem e a página de amostra Hello World.

    
por Tom J Nowell 10.03.2014 / 19:56
3
  

Qual deles usa menos recursos?

Nenhum dos dois, realmente.

  

Eu não preciso de suporte para plugins, temas, etc.

Acho que você respondeu sua própria pergunta. Vá para a última técnica ( wp-load.php ).

    
por TheDeadMedic 07.03.2014 / 13:29
2
  

Existe uma maneira mais agressiva de fazer isso?

De acordo com o Wikcionário hackish significa:

  

Soluções alternativas mal projetadas

Você pode fazer isso diretamente via SQL ou até mesmo gerar algum arquivo .sql e importá-lo diretamente para o seu banco de dados; -)

Esse caminho provavelmente será inflexível e até enlameado, mas hackish sim; -)

Mas, em geral, eu usaria o número 2 ).

    
por birgire 10.03.2014 / 19:19
0

Como você está no mesmo servidor, por que não fazer um sql quary personalizado, eu acho que ele usará menos recursos do servidor do que o carregamento do arquivo principal usando o wp-load.php

    
por WpMania.Net 11.03.2014 / 19:31

Tags