質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

392閲覧

ワードプレスへの外部からの投稿プログラムを作成したいと考えており、 -- 連続ハイフンが本文になければ無事に投稿されるのですが…。

gugupoo

総合スコア31

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2017/09/05 12:21

編集2017/09/06 04:21

外部からの投稿でワードプレスに記事を投稿するというツールを作成したいと考えております。
現在は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ファイルよりワードプレスに
うまく投稿できる方法を
お教え頂けましたら、大変に有り難いです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2017/09/05 13:22

質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
guest

回答1

0

ベストアンサー

記号でエラーになることで引っかかるのがWordPressのおせっかいな変換機能ですが、それを止めたらどうなのか試してみてください。
add_filter( 'run_wptexturize', '__return_false' );
ただ、渡す時点でのエラーのようなので効くかどうか怪しいですが…

上記が効かなければ他に思いつく手段としては、XML-RPCを使ってないので可不可は分かりかねますが、渡す前にハイフンを別の文字列に変換して、渡して保存する際にハイフンに直してやれば良いのではないかと思います。

投稿2017/09/05 15:39

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gugupoo

2017/09/06 04:51

お教え頂けまして、大変にありがとうございます。 function.phpにadd_filterを入れてみましたがやはり投稿できないままでした… と言いましても、function.phpを編集できる権限がないブログについても、外部からうまく投稿したい、とは思っております。 元々XML-RPCというものにこだわろうとしている点が2つほどあったのを自分でも思い返してみると、 ワードプレスのカテゴリ一覧をREST APIで取得したところ、うまくは取得できたのですが、 他サイトからワードプレスに引っ越ししてきたブログでは カテゴリを全て取得できないものがありました。 そこでXML-RPCを使ってみたところ、試験した3つくらいのワードプレスブログから 全てカテゴリが取得できたため、これでツールを完成させたいと考えました。 もしREST APIで投稿はしっかりできるなら、 ブログのカテゴリその他情報取得はXML-RPCで行い、 投稿自体をREST APIで行えば、無事 -- についても行えるであろうと思い、 ここで方針を切り替えまして、 RESTAPIで投稿を行う、でいってみたいと思います! ただ、XML-RPC自体が良い悪い、新しい古いに関わらず、なんとなく惹かれていってしまった理由は 同様の目指すプログラムの先例である、WindowsliveWriterでXML-RPCを使っていそうな気配があったためであります(現在は最新版でテスト投稿等は行っていませんが、おそらく -- 等もWLWでは全然問題なく投稿できることだと想像は簡単にできました・・) 私の方の、全般的な環境や細部の事を、私が混乱し 言葉でしっかり再現できないため、このままでは進捗も可能性としては少ないと考えます; そもそもXML-RPCで既存のワードプレスブログ、他よりワードプレスに引っ越してきたブログ、 どちらも、カテゴリを取得するPHPの部分も我流で適当に流したようなもので・・ RESTAPIをしっかり勉強すれば、RESTAPIで全て改善できた可能性はあります・・。 ひとまず、XML-RPCでカテゴリを取得し、RESTAPIで投稿をしあげるというプログラムの完成を目指し、 WLW等で使われてるXML-RPCは、別個でまたの機会に追及致したいと思います。 以上長くなってしまいましたが、大変に有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問