ブログ投稿の下部にあるディスカッション始めるリンクが機能せず、topic_urlにリンクしています

WordPress ブログ投稿の下部にある「ディスカッションを開始」リンクが機能しなくなり、「topic_url」にリンクされるようになったことに気づきました。

いつから機能しなくなったのか正確にはわかりません。

最近 WordPress テーマを更新しました。その更新後に投稿したブログ記事は正常に機能し、Discourse フォーラムに投稿されたようです。

以下にログを示します。

[2025-02-11 13:53:50] comment.ERROR: sync_comments.response_error {"message":"","discourse_topic_id":"89","wp_post_id":1521,"http_code":""}

### このファイルはログダウンロードに含まれています ###

### サーバー ###

WordPress - 6.7.2
PHP - 8.0.30
MySQL - 10.11.11

### アクティブなプラグイン ###

Avada Builder - 3.11.15
Avada Core - 5.11.15
WP-Discourse - 2.5.6

### WP Discourse 設定(シークレットは除外) ###

connection-logs - 0
display-subcategories - 1
allow-tags - 1
max-tags - 8
publish-as-unlisted - 0
full-post-content - 1
custom-excerpt-length - 55
add-featured-link - 1
auto-publish - 1
force-publish - 0
force-publish-max-age - 0
publish-failure-notice - 1
auto-track - 1
allowed_post_types - post
exclude_tags -
hide-discourse-name-field - 1
discourse-username-editable - 0
direct-db-publication-flags - 0
verbose-publication-logs - 0
enable-discourse-comments - 1
comment-type - display-comments
ajax-load - 1
load-comment-css - 1
discourse-new-tab - 1
hide-wordpress-comments - 1
show-existing-comments - 0
max-comments - 8
min-replies - 1
min-score - 0
min-trust-level - 1
bypass-trust-level-score - 50
only-show-moderator-liked - 0
custom-datetime-format -
cache-html - 0
clear-cached-comment-html - 0
verbose-comment-logs - 0
use-discourse-webhook - 1
webhook-match-old-topics - 0
use-discourse-user-webhook - 0
webhook-match-user-email - 0
verbose-webhook-logs - 1
verbose-sso-logs - 0
enable-sso - 0
auto-create-sso-user - 0
real-name-as-discourse-name - 0
force-avatar-update - 0
redirect-without-login - 0
sso-client-enabled - 1
sso-client-login-form-change - 1
sso-client-sync-by-email - 0
sso-client-sync-logout - 0
logs-enabled - 1

私の WordPress/Discourse へのリンク: https://www.alphagamer.net/

こんにちは @Pieces さん

では、このDiscourseへの特定の投稿はすべて期待どおりに機能しましたか?そして、その後の投稿でこの予期しない結果が発生したということですか?

後続の投稿とは、どういう意味か分かりません。

昨日、新しいブログ記事を公開しました。この記事の公開は正常に機能し、期待どおりにDiscourseフォーラムに投稿されたようです。今朝、下のリンクが機能しなくなったことを発見しました(偶然見つけました)。更新やその他の特別な操作は何もしていません。

以前は機能していたことは確かですが、どのくらい機能しなくなっているかは分かりません。

お役に立てば幸いです。

なるほど、ご説明ありがとうございます。「編集」ビューで投稿を開いた際、「Discourse」サイドバーにトピックが正しくリンクされているのが見えますか?

@angus さん、はい、リンクされていることが表示され、リンクは正常に機能しているようです。

なるほど。これは、投稿編集画面でそのURLを設定するデータが、コメントテンプレートのtopic_urlを埋めるのと同じデータであるため、WordPressインスタンスに他の問題があることを示唆しています。言い換えれば、データは存在しますが、何らかの理由でコメントテンプレートにロードされていません。

  1. PHPログに問題は表示されていますか?どこにあるかわからない場合は、ホスティングプロバイダーに問い合わせることができますか?
  2. 他の投稿でもこの問題は表示されていますか?
  3. ブラウザのコンソールにエラーは表示されていますか?
  4. WP Discourse > Comments」の設定でコメントのAJAXロードを無効にして、何らかの変化があるか確認できますか?

@angus、返信ありがとうございます。

  1. 今夜確認する必要があります。現時点ではPHPログにアクセスできません。
  2. この問題はすべての投稿で発生しています。
  3. ブラウザコンソールではCookie(ブロック済み)関連の問題しか確認できません(関連性はないと思いますが、もし関連があればご指導いただければ幸いです)。
  4. Ajaxを無効にしたところ、リンクの問題は解決したようです。ただし、リンクにはWordPressのブログ投稿で定義されているリンクの後ろに余分な文字が付加されています(例:www.mydomain/post/1 が www.mydomain/post/1?_ahsdkhsdkhkh*lnnjasdfa になる)。

こんにちは、@angusさん。DiscourseでワンボックスとしてWordPressの投稿を公開できるように、6か月前に子テーマをインストールしたことに気づきました。

メインテーマを再アクティブ化しましたが、問題はまだ残っています(Ajaxをオンに戻した場合)。そのため、子テーマに戻してAjaxをオフにしました。

以下は、ワンボックスを機能させるために子テーマのfunctions.phpのコードを示しています。

<?php

function theme_enqueue_styles() {
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', [] );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles', 20 );

function avada_lang_setup() {
	$lang = get_stylesheet_directory() . '/languages';
	load_child_theme_textdomain( 'Avada', $lang );
}
add_action( 'after_setup_theme', 'avada_lang_setup' );

//Publish the WordPress post as a onebox on Discourse
function wpdc_custom_publish_format_html( $input, $post_id ) {
	$permalink = get_the_permalink( $post_id );
	ob_start();
	echo $permalink;
	$output = ob_get_clean();

	return $output;
}
add_filter( 'discourse_publish_format_html', 'wpdc_custom_publish_format_html', 10, 2 );

WordPressでのスクリプトやAjaxに関連する問題の可能性がありますね。Ajaxロードを有効にしたのはなぜですか?Ajaxをオフにしたままで、何か懸念事項はありますか?

アンガス様

プラグインをインストールした際に有効になったと思いますが、もしそうでなければ、何か理由があって有効にしなかったのだと思います。WordPressまたはテーマのアップデート以外の明確な理由もなく動作しなくなったのは奇妙だと感じています。

現時点では無効にしておきます。

設定はデフォルトで無効になっています。テーマまたはサイトにJavaScriptの問題がある場合、AJAX読み込みに問題が発生する可能性があります。

はい、それが解決策だと思います。コメントのAJAX読み込みは、特定の理由がある場合にのみ使用する必要があります。

「いいね!」 1

Angusさん、こんにちは。

今日気づいたのですが、WordPressからログアウトした際に、ログアウト状態だとリンクが機能しないことに気づきました(AJAXをオフにしても同様です)。

WordPressにログインしてブログ記事を見ると、リンクは実際に機能します。

この原因について何か考えはありますか?

@Pieces さん、それはこのプラグインではなく、あなたのサイトの問題だと思われます。特定の状況下で、WordPress でカスタム投稿フィールドの読み込みが妨げられているようです。

WordPress 側でデバッグする必要があります。ホスティングプロバイダーや開発者がいる場合は、この問題について相談してみてください。最近サイトに変更を加えた場合は、その変更を元に戻してみて、問題が解決するかどうかを確認してください。

@angusさん、こんにちは。

WordPressとDiscourseの連携を解除するのに最適な手順は何でしょうか?WordPressのプラグインセクションでプラグインをアンインストール(削除)し、DiscourseでAPIキーとWebhookを削除するだけでよいのでしょうか?

他に何か見落としていることはありますか?

よろしくお願いします。Piecesより。

WordPressからプラグインを削除するだけで十分ですが、他のことも行っても構いません。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.