web-dev-qa-db-ja.com

CURLを介して投稿を送信する方法& PHP

読んでくれてありがとう。

PHP経由で投稿しようとしています。私はこれを自動化するために必要なので、私が削った大量のデータから大量の投稿を埋めています。私は手動で700以上の投稿を入力する時間(または欲望)を持っていません。

私はプログラミングには汎用性がありますが、WordPressの方が新しいです(私はほぼ1年前から言っていますが、それでも本当のように感じます)。

私のcURL関数はうまく機能しています、curl_getinfoからエラーやデータが戻ってこないことを確認しています。

私はChrome Developerツールを掘り下げて2つのことをしました。送信前にフォームを見て、フォームの動作を確認しました。

http://domain.com/wp-admin/edit-tags.php

それからテストフォームを送信して、どの$ _ REQUEST変数が通過しているのかを確認し、それぞれ記入しました。

$url = 'http://domain.com/wp-admin/edit-tags.php';
//$url = 'http://domain.com/wp-admin/admin-ajax.php';
$fields = array(
    "action" => "add-tag",
    "screen" => "edit-property_city",
    "taxonomy" => "property_city",
    "post_type" => "estate_property",
    "_wpnonce_add-tag" => "483c44d6e2",
    "_wp_http_referer" => "/wp-admin/edit-tags.php?taxonomy=property_city&post_type=estate_property",
    "tag-name" => $city,
    "slug" => $slug,
    "parent" => "-1",
    "description" => "description",
    "term_meta[pagetax]" => "page_id",
    "term_meta[category_featured_image]" => "",
    "term_meta[category_attach_id]" => "",
    "term_meta[category_tagline]" => "tag",
    "term_meta[category_tax]" => "property_city"

2番目のURL /アクションがあることに気付くでしょう。これは、フォームが完成したときに、chrome devツールのURLがadmin-ajax.phpになっているからです。私は行方不明のリダイレクトがあることを考え出しました。フォームを通過したときにアクションをデバッグするためにバックエンドでデバッガを使用しましたが、どこにも到達しませんでした。私がWordPressをあまり使用しないのは、すべてのフックとスラッグを備えたバックエンドの悪夢だからです。

私がカスタム投稿を自動化するために何ができるかに関して誰かからの提案がある場合、またはWordPressが投稿を自動化するための推奨される方法がある場合、私は本当にあらゆる情報に感謝します。 :)

私はナンスについても読んだことがあります、そして私は彼らが24時間続くという印象の下にあります。私は数回チェックしました、そして、それらは有効です。

編集

私の投稿の回答に感謝します。それは私がcURL経由で投稿を投稿するのに役立ちませんでしたが、WP-APIはとても役に立ちました。私は自分のデータベースに入り、私のwp_postsの内容とそのwp_postmetaレコードに対する外部キーの関係を調べました。そしてそこから、成功した投稿を挿入するために必要なものがわかりました。

1
domdambrogia

wp-cliwp-api を見てください。ワードプレスについてあまり知りたくなくても、プロセスを自動化できます。

3
sălă