Simplicityの特徴 › フォーラム › Simplicityについての質問 › 「アイキャッチを自動設定」をオンにしてもブログ投稿クライアントから投稿するとアイキャッチがセットされない
- このトピックには24件の返信、2人の参加者があり、最後ににより10ヶ月、 3週前に更新されました。
-
投稿者投稿
-
-
daikoriゲスト
初めて投稿します。よろしくお願いします。
先日、サーバーをminibirdに引越ししたのですが、その影響なのか「アイキャッチを自動設定」が効かなくなってしました。
正確には、iPhoneなどのブログ投稿クライアントから記事を投稿すると、アイキャッチが設定されません。
一方で、ウェブ上から記事を投稿すると、自動で最初の画像をアイキャッチに設定してくれます。つまり、外部から投稿を行おうとすると、掲題の機能がスルーされているような動きとなります。
以前のサーバーでは正常に動作していたので、テーマの不具合ではないと思っているのですが、どこをチェックすれば良いのかわからず、途方に暮れています。
PHPのバージョンは5.3.3。allow_url_openはonです。他に見るべき環境、設定などはありますでしょうか?アドバイスを頂けると幸いです。
※この事象のせいで、一度iPhoneなどから投稿した後、ウェブ上でログインして再度記事に対して更新ボタンを押す…というような運用をしていて、煩わしく感じています。。
よろしくお願いします。
以上です。 -
Hidekichiゲスト
念の為、いくつか捕捉をお願いします。
メールは国内プロバイダのものですか?
メールを投稿する方法はwordpressデフォルトの機能ですか、あるいは何かしらのプラグインを利用されてますか?
iphoneだったらメールを使わずとも投稿できるはずですが、メールを利用する目的はどういったことでしょうか?(wordpress公式アプリもあったはず…記憶に間違いがなければ)最後のは、まぁどうでもいいことなんですけどね。ガラケーならわかるんですけどスマホなので、なぜメールで?とふと思いましたので。
-
daikoriゲスト
>Hidekichiさん
ご返信ありがとうございます。詳細が書けておらずすいません。
メールでの投稿ではなく、wordpressの公式アプリからの投稿です。公式アプリから投稿するとアイキャッチが自動設定されず、ウェブ上の管理画面から投稿するとアイキャッチが自動設定されます。
-
Hidekichiゲスト
あ、すいません、てっきりメールかと思いました(汗)
ついでにもうひとつ念の為、Simplicity以外の例えばwordpressにデフォルトで入っているテーマ等ではアイキャッチ画像は、同じ投稿の仕方で表示されますか?
-
keimaspaceゲスト
本文が投稿されて画像だけセットされない場合、パーミッションの設定ミスが多いです。サーバ引っ越し時は特に。
今回はWebからはOKということなので、公式アプリがどういう動作をしているかわかりませんが、wp-content以下のディレクトリを全部777にして動けばパーミッションで確定、必要なものだけ777にします。ダメならプラグインのON/OFFや設定順、バージョン違いとかが怪しくなります。
-
Hidekichiゲスト
#34104の補足
autoなんちゃらthumbnailってプラグインを導入して他のテーマで試してみて下さい。僕もkeimaspaceさん同様パーミッションがあやしいとは思うんですけど、自動インストールでwordpressやらが入るサーバーですよね?
777は多分無いにしても707ぐらいはしているとは思うんですよね。他の画像はどうかの情報も欲しい所。
また、ロリポみたいなサーバーであれば、国外IPを弾いている可能性もあります。xdomainやらもそういう機能あるんですけどね。
もし、wordpress.comあたりのIPを許可できるようであればしておくのも良いかも知れません。
ここらはサーバーに問い合わせしてみるのが良いかと思います。許可されているのかどうか等の確認として。 -
daikoriゲスト
>Hidekichi さん
返信ありがとうございます。別テーマをいれて(TwentyTwelve)、Auto Post Thumbnail を入れて試してみましたが、結果は変わらずでした。
あと、WordPress公式アプリの機能としてアイキャッチ画像の手動アップロードがあるのですが、これは正常に動作しました。
minibirdサーバーに国外IPを弾く設定があったので、これをオフにしましたが、効果はありませんでした。>keimaspace さん
返信ありがとうございます。パーミッションを777にしてみましたが、結果は変わりませんでした。
あとはプラグインのONOFFくらいですかね。試してみます。。 -
daikoriゲスト
プラグインを外しても結果は変わりませんでした。
ただ、Auto Post Thumbnail は再度有効化すると上手く動いてくれたので(#34110で確認した時手順に誤りがあったのかもしれません)、しばらくはこちらで運用することにしようと思います。すこしスッキリしませんが、一旦クローズしたいと思います。返信を下さったHidekichiさん、keimaspaceさん、ありがとうございました。
-
わいひらキーマスター
僕はWindows用のWordpressクライアントのWindows Live Writerから投稿しているのですが、アイキャッチは設定されません。Auto Post Thumbnailプラグインも同様だったと思います。
なので、クライアントからは、セットされないものだとずっと思っていました。
Simplicityは、基本的にAuto Post Thumbnailのコードを参考にさせてもらっているので、動作に差はほとんどないとは思っているのですが、ちょっと原因はわからないです。
サーバーの引っ越しによって、できなくなったとのことなので、おそらく何らかのサーバーの設定か何かだと思うのですが、クライアントから自動設定できるのなら、僕も設定方法を知りたかったりします。
お役に立てず申しわけないです。 -
daikoriゲスト
>わいひらさん
返信ありがとうございます。
コメントを頂いて少し安心しました。また何かありましたらよろしくお願いしますm(_ _)m -
Hidekichiゲスト
セキュリティ的にアレですが、lib/auto-post-thumbnail.phpの最後のifの中に
add_action(‘xmlrpc_publish_post’, ‘auto_post_thumbnail_image’);
これ追加したらどうですかね?
あくまで自己責任なんですけどね、これの場合は。Wordpress appのサイトを見てみると、xmlrpcが案外出てくるのでこれを利用しているような気がするんです。ただ併せて、サーバー側でxmlrpcがブロックされている場合はどうすれば良い?などのFAQなどもあり、xmlrpc.phpをリネームするプラグインの紹介とか色々ありました。
WordPress.org Mobile Apps | supportあともうひとつ、
add_action(‘the_post’, ‘auto_post_thumbnail_image’);
とか。一度これ試してみて欲しい所です。うちにはモバイルから投稿するような環境がないので、誰かに依存するしか無いんですけども、xmlrpcでの投稿は、save_postにも含まれているっぽいんですよね。
仕様がいまいちわからない部分でもあるんですが、どうなるかなぁと思ったりしてます。 -
わいひらキーマスター
Windowsのローカル環境(Instant WordPress)でWindows Live Writerから投稿してみたんですけど、Instant WordPressの場合は、以下のコード関係なく、投稿したらアイキャッチが反映されているようです。
add_action('xmlrpc_publish_post', 'auto_post_thumbnail_image'); add_action('the_post', 'auto_post_thumbnail_image');
なので、テスト環境では、上記コードが有効かちょっと判断がつきませんでした。
今度、このサイトに何かポストするときに、上記のコードを一つ一つ試してみようと思います。
アドバイスありがとうございます! -
Hidekichiゲスト
xmlrpcは踏み台になる云々カンヌンで、セキュリティ的にターゲットにされる部分らしいんで、あんまりオススメできないわけなんですが、例えば、htaccessでリファラが自分サイトの管理画面ならOKとか、許可するIPアドレスを入れるとか、あるいはxmlrpc_xxxx.phpみたいにリネームするとか色々と手を加えるべき部分らしいです。
そこらは追々、調査してもらったりする必要があるかも知れません。
the_postの部分はthe_postって言うぐらいですから投稿する時のクエリとかそういうのに関係するのかも知れませんが、こっちが有効だといいんですけどね。
codexの本家には一応説明があるんですけど、なんだかよくわからず、日本語版は説明も無いようで・・・。
ただ、いくつかのアイキャッチ関係のプラグインや、解説サイトにあったので、もしやと思ったりしたわけです。future_to_publishあたりに関係するんですかね?
-
わいひらキーマスター
xmlrpcは、僕も自分のIP以外は弾いてます。
このファイルに、結構攻撃が来ていました。フックのthe_postは、僕も日本語の説明は読んだんですけど、何のことやらですよね(笑)
-
わいひらキーマスター
今試してみて気づいたんですが、以下のコードを有効にしていると、タイトルが表示されなくなっていました。
add_action('the_post', 'auto_post_thumbnail_image');
おそらく、the_postは、本文表示イベントと何か関連しているのかもしれません。 -
わいひらキーマスター
以下のコードを挿入して、Windows Live Writerからポストしてみましたがだめでした。
add_action('xmlrpc_publish_post', 'auto_post_thumbnail_image');
自分用のメモ。 -
Hidekichiゲスト
もうひとつ気になるアクションが・・・
add_action( ‘transition_post_status’, ‘auto_post_thumbnail_image’);
ステータスが変わったらって奴なんですけど、投稿ステータスの遷移にあるように、たいていの場面で遷移をチェックしてるっぽいので、これはどうかと思ったりしてます。
PCでは他のアクションをコメントアウトしても普通にアイキャッチが作られました。これが問題のシチュエーションで動作するかはわかりませんけれども。
-
わいひらキーマスター
add_action( ‘transition_post_status’, ‘auto_post_thumbnail_image’);
transition_post_status、すごいですね。
こんなフックがあったんですね。
ローカル環境で、試してみたところ、通常の投稿、下書き保存、予約投稿、Wordpress Live Writerでの投稿全てにおいて、アイキャッチが選択されました。
Simplicityも、これ1本でいこかと思います。
今度、サーバーでも試してみます。 -
わいひらキーマスター
先程、以下の設定状態で、当サイト(エックスサーバー)にWindows Live Writerから記事をアップしたのですが、アイキャッチは設定されませんでした。
add_action( ‘transition_post_status’, ‘auto_post_thumbnail_image’);
ローカル環境だと、アイキャッチが自動設定されるので、何かしらのサーバーの設定が問題なのかもしれません。
-
Hidekichiゲスト
うーむ、ダメですか。
となると、中のスクリプトを見なおすしか無いんですかねぇ。Windows Live Writerやら外部のソフトからアップロードする時ってajax使ってたりとかしてるのかもなぁとも思うんですけれども、単純に投稿してるだけなら今までのでもイケると思うんですよねぇ。
仕組みがわからないとアレですよね(汗)
-
わいひらキーマスター
Windows上のInstant WordPressからは、アイキャッチが自動設定されるのが意味不明です。
どちらも動作しないというのなら、まだ納得できるんですけど;
何でだろう。 -
junゲスト
異なる原因かもしれませんが似た事象にあいましたのでご連携します。
すでに解決していたら申し訳ございません。Simplicityバージョン: 20161002
事象:wp_insert_postによる投稿を行った際、Simplicityでのアイキャッチ自動設定が反映されない。
解消方法:上の方でも紹介があったようにauto-post-thumbnailを導入したら解消しました。
auto-post-thumbnailのソースを見たところ、下記「transition_post_status」に対して、わざわざpublishをハンドリングするような処理があるため、この辺りがポイントになりそうだと思っています。
ただ、細かく検証できていません。
<auto-post-thumbnail.php 抜粋>
// This hook will now handle all sort publishing including posts, custom types, scheduled posts, etc. add_action('transition_post_status', 'apt_check_required_transition', 10, 3); /** * Function to check whether scheduled post is being published. If so, apt_publish_post should be called. * * @param $new_status * @param $old_status * @param $post * @return void */ function apt_check_required_transition($new_status='', $old_status='', $post='') { if ('publish' == $new_status) { apt_publish_post($post->ID); } }
同様に困っている方がおられた場合にこの投稿が解決の糸口になれば幸いです。
-
わいひらキーマスター
ちょっと今、手が空いていないのですが、後で上記コードを試してみたいと思います。
ご提案ありがとうございます! -
わいひらキーマスター
いろいろと試してみたのですが、僕の使ってるWindows Live Writerからのポストでは、アイキャッチは反映されませんでした。
もう少しAuto Post Thumbnailを探ってみたいと思います。 -
わいひらキーマスター
transition_post_statusが原因ではなかったのですが、Auto Post Thumbnailと自分のコードを比較しながら修正してみたら、とりあえず自分のWindows Live Writer(クライアントソフト)からは反映されるようになりました。
修正したものは以下。
https://wp-simplicity.com/wp-content/uploads/2017/02/simplicity2-1.zip
-
-
投稿者投稿