新規投稿が出来ません
-
WordPress2.5で新規投稿が出来ない場合が有り、色々調べてみました。
深くは検証出来ていませんが「異なるエントリで、タイトルが同じだと公開できない」ように思えます。返信ありがとうございます。
そうですね、違うタイトルにしたらすんなりと・・・。
今までロクにタイトルを考えずにエントリを投稿してきたため、同じものがたくさんあるんですよね。これはやっぱりバグとして、しかるべきところに報告するべきでしょうか?
完全な解決ではないにしろ、原因が分かって良かったです。
日本語でのバグ報告はこちらで受け付けています。
http://ja.forums.wordpress.org/forum.php?id=2英語になりますが、こちらの方法に従って本家のバグトラッカーにも直接報告できます。
http://codex.wordpress.org/Submitting_Bugsお手数をおかけしますが、もしよろしければどうぞよろしくお願いします。
英語は語学力不足で難しいので、日本語のバグ報告に出しておきました。
http://ja.forums.wordpress.org/topic.php?id=48&replies=1hide10さん、ご報告ありがとうございました。
私がテストしてみたところ、同じタイトル(英数字の場合、日本語の場合ともに)でも問題なく送信できるようなのですが、Lycoris_iさんとhide10さんのデータベーステーブルの「照合順序」はどのようになっていますか?
(私がテストしたブログでは、utf8_general_ci)また、お使いのブラウザは何でしょうか?
同じ環境で再現できたら本家の方にバグ報告をしたいので、追加情報として教えていただければ助かります。よろしくお願いします。
—
追記:
テスト環境は以下の通りです (MAMP)。
PHP 5.2.3
MySQL 5.0.41
Safari 3.1私も、同じ現象が起きました。(同じタイトル)
データベーステーブルの「照合順序」は( UTF-8 Unicode_ci)
phpMyAdmin – 2.10.1
MySQL クライアントのバージョン: 5.1.22-rc
PHP 5.2.4
ブラウザ Firefox2.0.0.13
IE 7.0.5730.11IC
です。試しに、(utf8_general_ci)に変更して
同名のタイトルでエントリーしてみましたが、タイムアウトしてしまいました。soup009さん、ありがとうございます!
(Mac) Safari 3.1 では大丈夫だったのですが、Firefox2.0.0.13で試してみたら同様の現象が起きました。
英語フォーラムでも似た現象のトピックがあったので、日本語だけではないようですね。http://wordpress.org/support/topic/164190?replies=2
Trac に報告しました。
http://trac.wordpress.org/ticket/6538Safari なら大丈夫との記述があったので Win版Safari 3.1 を使って
挑戦してみましたが、ダメでした。受け付けてくれません。緊急回避として使えるのは
一度違うタイトルで投稿する→投稿を編集する→重複したタイトルにして保存
で、一応重複したタイトルにすることができます。私のあるブログでは複数人のライターによる
一つのアイテムの紹介などがあるので、
どうしてもタイトルが被ってしまうので
どうしようか本当に悩んでいたところでした。何度もすみません。Tracで返信をくれた方が「僕のとこでは発生しない」と言っていて、他でも同様の状況でも問題がない場合もあったりするようです。
Tracでバグとして認識してもらわないと修正もされないので、この問題が確認できる方、お時間があれば引き続き発生状況の検証にご協力いただければ助かります。
1. すでに存在する記事とまったく同じタイトルの記事を新規投稿しようとすると、タイムアウトしてしまう。
2. タイムアウトが発生した場合、保存されていない内容は消えてしまう。環境は、PHP 4.4.4-5.2.4、MySQL 4.025-5.1.22
追加情報として、私の場合 Apache は 2.0.59 です。この問題が「起こらない」環境もあったら教えてください。
# 昨日 Safari で大丈夫だったと書いたのですが、今日テストしてみると同じ問題が発生しました。なんと、公開ボタンではなくて保存ボタンを押していて、問題ないと勘違いしていたようです!すみません。
アップグレードではなく、新規でインストールした2.5では、問題が起こらないような。
同じ環境で2.3から2.5にアップグレードしたWPでは、パーマリンク設定をデフォルト、または数字ベースにすると、全く同じタイトルでも新規投稿できます。
環境はmac firefox 2.0.0.13です。
Naoさん、間違ってるかもしれないので、検証してみてください。
おはようございます。
同じように考えて新規インストールを試してみましたが、
やはり重複したタイトルで新規投稿すると、タイムアウト
するまで回りっぱなしになります。データを確認してみると、post_date と post_date_gmt
が 0000-00-00 00:00:00 になっています。環境は、Apache 1.3.37 + PHP 5.2.5 + MySQL 4.0.24
PHPエンコード指定:EUC-JP/LF(ファーストサーバ)です。
ブラウザは Firefox 2.0.0.13 です。wp-includes/post.phpの1266行目以降の処理で、
同一投稿名だと、投稿名のうしろに番号を振る処理がされており、
同一投稿名があるかどうかチェックする処理をしているようですが、
そこのループが抜けれないようです。多少修正すれば解決しそうですが、暫定処理として、
1266~1279あたりの処理をコメントアウトなりすれば、
同一投稿名として(うしろに番号をつける処理をしない)投稿できました。/* if ( 'draft' != $post_status ) { ... } */
補足です。
再度前回と同じ環境でテストしてみたところ、wp2.3から2.5にアップグレードしたもの、2.5新規でインストールしたもの両方で、どのパーマリンク設定でも投稿できました。akumacoさんのおっしゃるように、post-1, post-2というふうに投稿名が変更されて投稿されています。
追加です。
デフォルトの状態では、半角英数ならOKですが、日本語でエラーなりました。wp-includes/post.phpの1269~1279行目あたりに、
urlencode、urldecodeを追加・変更することで解消しました。
※さっきのコメントアウトする話は無しです。私の環境は、文字コード:UTF-8、サーバー:coreserverです。
if ($post_name_check || in_array($post_name, $wp_rewrite->feeds) ) { $suffix = 2; do { $alt_post_name = substr($post_name, 0, 200-(strlen($suffix)+1)). "-$suffix"; $alt_post_name = urldecode ($alt_post_name); //★追加 // expected_slashed ($alt_post_name, $post_name, $post_type) $post_name_check = $wpdb->get_var($wpdb->prepare("SELECT post_name FROM $wpdb->posts WHERE post_name = '$alt_post_name' AND post_type = '$post_type' AND ID != %d AND post_parent = %d LIMIT 1", $post_ID, $post_parent)); $suffix++; } while ($post_name_check); $post_name =urlencode($alt_post_name); //★変更 }
- トピック「新規投稿が出来ません」には新たに返信することはできません。