WP Discourseでのトピック公開エラー

こんにちは、サイモンさん。

私のサイト(mycp.org)では、Wordpress がマスター SSO として機能しています。Discourse への投稿を除き、すべて正常に動作しています。以前は「自動公開」を選択していましたが、ブロックエディタでは機能しないことがわかりました。「強制公開」を有効にして投稿を更新してみましたが、結果は変わりませんでした。そこでクラシックエディタをインストールしました(Gutenberg とその余計な機能はあまり好みません)。公開を試みましたが、やはりうまくいきませんでした。次に「強制公開」と「自動公開」を無効にし、エディタから更新を公開しようとしました(今回は何も変更していません)。その間ずっと、以下のエラーが表示されます:「投稿の公開中にエラーが発生しました。もう一度お試しください。」

この問題を修正またはデバッグする方法について、何かご助言はありますでしょうか?

よろしくお願いいたします、

ポール

すべての投稿でエラーが発生していますか、それとも特定の投稿でのみ発生していますか?

問題が特定の投稿でのみ発生している場合は、その投稿の編集画面に移動し、ページの右上付近にある「スクリーンオプション」タブから「カスタムフィールド」を選択してください。

その後、下にスクロールして「カスタムフィールド」メタボックスを展開してください。このスクリーンショットにあるフィールドと一致するものが見つかった場合は、それらの「削除」ボタンを安全にクリックし、投稿を再度Discourseに公開してみてください。wpdc_topic_tagsフィールドが表示されている場合も、それを削除できます。そのフィールドが原因で問題が発生している可能性があります(Discourseは現在、許可されていないタグに対してエラーを返します)— 私は現在、その修正を実装中です。

これで解決するか、またはまだエラーが発生しているかをお知らせください。

サイモンさん、こんにちは。

他の投稿を試してからしばらく経っているので、最初の質問にお答えします。私はこれらの手順に従いました。ここには表示されていないもう一つのフィールド「wpdc_publishing_error」があり、この試行(うまくいきませんでした)の前も後も、その値は「Forbidden」でした。

もし役立つようであれば、別の投稿を試して更新することもできます。

ポール

それが参考になります!プラグインの「接続設定」タブに入力した値を確認してください。Discourse サイトの「全ユーザー」API キーを使用していること、および「公開ユーザー名」が ‘system’ に設定されていることを確認してください。Discourse のシステムユーザーのユーザー名を変更した場合を除き、この設定は ‘system’ にしておく必要があります。

次に、WordPress のプロフィールページに移動し、Discourse ユーザー名が Discourse 上のユーザー名と完全に一致していることを確認してください。Discourse ユーザー名フィールドは、WordPress のプロフィールページの下部にあります。

Wordpress の私の名前は Paul_Gross です。Discourse のユーザー名も Paul_Gross です。Discourse のユーザーページにアクセスして「system」と検索しても、「system」という名前のユーザーが表示されません。

サイトユーザーの連絡先名は「system」です。

「管理 / ユーザー / スタッフ」ページに移動すると、リストに「system」という名前のユーザーが表示されるはずです。そのユーザーが表示されない場合は、削除されたか、名前が変更された可能性があります。

そこにあります。ただ現在、WP Discourse 接続ページで「Discourse に接続されていません」というメッセージが表示されています。なぜか分かりません…

それを修正しましたが、まだ「禁止」のエラーが出ます…

投稿しようとしているユーザーが、投稿先の Discourse カテゴリでトピックを公開する権限を持っていますか?投稿者として設定されるのは、プロフィールページで設定した Discourse ユーザー名です。

この特定の投稿に問題があるかどうかを確認するために、サイトに新しい投稿を公開してみてください。

ユーザーである私、つまりこの WordPress の投稿の作成者かつ管理者である Paul_Gross が、私が定義した Discourse のカテゴリ(Research)の下で公開する権限を持っていると考えるのが自然です。私はこの問題の両側で管理者です。「禁止」される他の理由はあるでしょうか?

余談ですが、この件について迅速に調査してくださりありがとうございます。今すぐパソコンを離れなければならなくなったので、スマホから返信することになりますが、本格的な調査には大きな画面とキーボードが必要です(私の限界です。Discourse のレスポンシブ対応の問題ではありません!)

ポール

問題ありません。現在、Discourse から返されるエラーメッセージを改善する機能の開発に取り組んでいます。「Forbidden」だけではあまり役に立ちません。お時間のあるときに、新しいトピックを投稿してみて、その結果を教えてください。

素晴らしい。承知いたしました。後ほどご報告いたします…

こんにちは、サイモンさん。

これが該当するかどうかはわかりませんが、内容を新しい投稿にコピーして投稿しました。それでもカスタムフィールドで「Forbidden」のエラーコードが表示されます…

ポール

基本的には、マルチサイト構成で同じ Discourse フォーラムに投稿する 3 つのブログがあります。そのうち 2 つは問題なく動作していますが、1 つが先ほど @pgross 氏が言及した「Forbidden」エラーに似たエラーを返すようになりました。ここでの提案を試してみましたが、効果はありませんでした。すべての投稿は同じユーザーによって行われており、昨日まで数ヶ月間正常に動作していたため、原因がわからずに困っています。

エラーが発生しているサイトと、問題なく動作している他のサイトとの間で、何か違いは見つかりましたか?例えば、エラーが発生しているサイトでは保護されたカテゴリに投稿しようとしていませんか?Discourse に投稿する際にタグを追加していますか?もしそうなら、そのカテゴリでタグの使用が許可されていない可能性があります。

WP Discourse の「Add Featured Links」オプションが有効になっていますか?このオプションは「Publishing settings」タブにあります。

こんにちは、@simon さん。3 つのブログは本質的には同じブログですが、言語が異なります。すべて完全に同じ設定で構成されているため、私の確認では違いは見当たりません。タグの追加は行っておりません。「注目のリンクを追加」オプションは使用しています。

参考になれば幸いです。

編集:念のため追記しますが、新しい投稿でテストを行ったところ問題なく動作しましたが、押し出されなかった特定の投稿は依然として「Forbidden」の状態です。

Query Monitor – WordPress plugin | WordPress.org English (Canada) またはそれに似たプラグインをインストールしてから、再度投稿の公開を試してみてください。Discourse から返されたレスポンスに関する詳細なエラーメッセージが表示されるはずです。

編集:投稿の全文を Discourse に公開していますか、それとも投稿の抜粋のみを公開していますか?