外部からの投稿でワードプレスに記事を投稿するというツールを作成したいと考えております。
現在はWindows10にxamppをインストールしてローカル環境で試作段階です。
HTMLファイルのform箇所にタイトルや本文を入力して、PHPファイルに遷移させ、
$_POST["~~~~~"] という具合で各内容を受け取り、
変数にいれて投稿する、というイメージでやっています。
http://absg.hatenablog.com/entry/2015/11/06/204730
↑をほぼ参考にして、
//投稿
$status = $client->query(
$post_type, $blog_id, $user_name, $password,
array(
'post_author' => $post_author,
'post_date' => $post_date,
'post_status' => $post_status,
'post_title' => $post_title,
'post_content' => $post_content, //←ここにformに入力したものをワードプレスの本文として投稿する。
'post_excerpt' => $post_excerpt,
'terms_names' => array('category' => $category, 'post_tag' => $tag)
)
);
大体上記のもので上手くワードプレスに記事は送られるのですが、
-- (ハイフンを連続2つ) で、投稿すると投稿失敗となります。
- ハイフン一つだとうまく投稿されます。
例文としまして、 <!-- ~~~~~~~~~~~~ -->
などは連続したハイフン2つ、なのでこの場合に投稿失敗になる具合です…
--を 特殊文字 - 2つ、等でやっても、ハイフンはハイフンのようで、
投稿されない形です。
エラーメッセージは↓です。
XML-RPC Error:-32300:transport error - HTTP status code was not 200
↓内容は参考サイトでこちらにあるようですが、
http://affboy.xyz/post-1504/
XML-RPCは古いのでなるべくやめたほうがいいというもので、
はっきりと私には分かりませんでした。
別途試作の過程でダブルクォーテーションも本文に含まれていると最初はエラーが出ていたのですが、
「ダブルクォーテーションを全てシングルクォーテーションに置換」という str_replaceで置換をすると
無事に投稿され、
現在は 連続したハイフン、 でやはり投稿がつまずきます…
--が本文になければ、全てうまくいきます。
XML-RPCというものが古い、という事は検索をしていますとわかるのですが、
一応この方法でとりあえず進みたいと思っております。
以上、HTMLフォームから -- 連続したハイフンがあっても、PHPファイルよりワードプレスに
うまく投稿できる方法を
お教え頂けましたら、大変に有り難いです。
よろしくお願い致します。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
記号でエラーになることで引っかかるのがWordPressのおせっかいな変換機能ですが、それを止めたらどうなのか試してみてください。
add_filter( 'run_wptexturize', '__return_false' );
ただ、渡す時点でのエラーのようなので効くかどうか怪しいですが…
上記が効かなければ他に思いつく手段としては、XML-RPCを使ってないので可不可は分かりかねますが、渡す前にハイフンを別の文字列に変換して、渡して保存する際にハイフンに直してやれば良いのではないかと思います。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.23%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
kei344
2017/09/05 22:22
質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。