注意
この対処法は、古いバーションでしか通用しなくなっています。 Ver.2.7 以上を使っている場合は下記を参考した方がいいかも。
WP Basic認証をかけている場合の「予約投稿」 Ver.2.7以降?
ここから本文
以前、予約投稿で苦労したのですが、別の問題で予約投稿ができない人がいるみたいなので、ちょっと調べてみました。1ヶ月近く前の記事なので、もう解決してるかもしれませんが。。
他サイトとの違いは、Basic認証があることなので、試しにBasic認証をはずしてやってみたところ、「予約投稿」機能が動きました!
Basic認証が問題になっているのはハッキリしているので、Basic認証を通るようにしてあげればいいようです。
ちなみに、修正なしでBasic認証+未来投稿をすると HTTP/1.1 401 Authorization Required が返ってきてました。Basic認証が問題になっているのは間違いないようです。
今回検証したのは Ver2.5.1 ですが、Ver2.3.3 でも同様に修正すれば解決するのではないかと思います。
修正箇所は /wp-includes/cron.php の 101行目(function spawn_cron() 内) の fputs() のパラメータです。
fputs( $argyle, "GET {$parts['path']}?check=" . wp_hash('187425') . " HTTP/1.0\r\n" . "Host: {$_SERVER['HTTP_HOST']}\r\n\r\n" );
上の部分を以下のように修正したら予約投稿できました。
fputs( $argyle, "GET {$parts['path']}?check=" . wp_hash('187425') . " HTTP/1.0\r\n" . "Host: {$_SERVER['HTTP_HOST']}\r\n" . "Authorization: Basic ".base64_encode('user:password')."\r\n\r\n" );
Basic認証用のヘッダを送ってあげればいいみたいです。4行目の user:password は、実際にBasic認証で使用しているユーザ名とパスワードを入れてください。
以下のページが参考になったので紹介しておきます。
Basic認証下でも「予約投稿」できるようになりました…
Basic認証下で、WordPressの「予約投稿」機能が動かない 竏鈀 仕事中!
http://www.hajime3.com/index.php?ID=233
↑
この件ですが、下の記事のとおりにやったら、Basic認証下でも「予約投稿」できるよ…
トラックバック:仕事中! | 2008/05/20 火曜日 14:49
[…] WP Basic認証をかけている場合の「予約投稿」2008/05/20 火曜日 2:01 投稿者 zon […]
ピンバック:使えるブログを作ろう» Blog Archive » basic認証の中においたwordpressの留意事項 | 2009/04/23 木曜日 10:41