Der Link 'Diskussion starten' am Ende des Blogbeitrags funktioniert nicht und führt zur topic_url

Mir ist aufgefallen, dass der Link „Diskussion starten“ am Ende meines Wordpress-Blogbeitrags nicht mehr funktioniert und jetzt nur noch auf „topic_url“ verlinkt.

Ich bin mir nicht sicher, wann dies aufgehört hat zu funktionieren.

Ich habe kürzlich mein Wordpress-Theme aktualisiert. Nach diesem Update habe ich einen Blogbeitrag veröffentlicht, der anscheinend einwandfrei funktionierte und in meinem Discourse-Forum veröffentlicht wurde.

Bitte sehen Sie sich das Protokoll unten an:

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

### Diese Datei ist in Log-Downloads enthalten ###

### Server ###

WordPress - 6.7.2
PHP - 8.0.30
MySQL - 10.11.11

### Aktive Plugins ###

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

### WP Discourse-Einstellungen (Secrets ausgeschlossen) ###

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

Link zu meinem Wordpress/Discourse: https://www.alphagamer.net/

Hallo @Pieces,

Funktionierte diese spezielle Veröffentlichung auf Discourse also wie erwartet? Und eine nachfolgende Veröffentlichung führte dann zu diesem unerwarteten Ergebnis?

Ich bin mir nicht sicher, was Sie mit nachfolgender Veröffentlichung meinen.

Ich habe gestern einen neuen Blogbeitrag veröffentlicht. Die Veröffentlichung dieses Beitrags schien normal funktioniert zu haben und wurde wie erwartet in meinem Discourse-Forum gepostet. Ich habe heute Morgen nachgesehen und festgestellt, dass der Link darunter nicht mehr funktioniert (ich habe es zufällig herausgefunden). Ich habe nichts Besonderes getan, wie z. B. ein Update oder andere Aktionen.

Ich bin sicher, dass es vorher funktioniert hat, ich bin mir nicht sicher, wie lange es nicht mehr funktioniert.

Ich hoffe, das hilft.

Ich verstehe, danke für die Klarstellung. Wenn Sie in die „Bearbeiten“-Ansicht des Beitrags wechseln, sehen Sie dann, dass das Thema in der Seitenleiste „Discourse“ richtig verknüpft ist?

Hallo @angus ja, es wird angezeigt, dass es verknüpft ist und der Link scheint einwandfrei zu funktionieren.

Ich verstehe. Das deutet für mich darauf hin, dass es ein anderes Problem mit Ihrer WordPress-Instanz gibt, da die Daten, die diese URL in der Beitragsbearbeitungsansicht festlegen, dieselben Daten sind, die topic_url in der Kommentarvorlage füllen. Mit anderen Worten, die Daten sind vorhanden, werden aber aus irgendeinem Grund nicht in die Kommentarvorlage geladen.

  1. Sehen Sie Probleme in Ihren PHP-Protokollen? Wenn Sie nicht sicher sind, wo sich diese befinden, können Sie Ihren Hosting-Anbieter fragen?
  2. Sehen Sie dieses Problem bei anderen Beiträgen?
  3. Sehen Sie Fehler in Ihrer Browserkonsole?
  4. Könnten Sie versuchen, das Laden von Kommentaren über Ajax in den “WP Discourse > Kommentare”-Einstellungen zu deaktivieren und zu sehen, ob sich dadurch etwas ändert?

Danke für die Antwort @angus

  1. Ich muss es mir heute Abend ansehen, ich habe im Moment keinen Zugriff auf die PHP-Protokolle
  2. Ich sehe dieses Problem bei allen Beiträgen
  3. Ich sehe nur ein Cookie (blockiert) bezogenes Problem in der Browserkonsole (ich glaube nicht, dass dies relevant ist, aber ich bin offen für Ihre Anleitung, wenn es das ist)
  4. Ich habe Ajax deaktiviert und dies scheint den Link zu beheben, jedoch hat der Link viele zusätzliche Zeichen hinter dem Link, der in meinem Blogbeitrag auf WordPress definiert ist (z. B. www.mydomain/post/1 wurde zu www.mydomain/post/1?_ahsdkhsdkhkh*lnnjasdfa)

Hallo @angus, ich habe festgestellt, dass ich vor 6 Monaten ein Child Theme installiert habe, damit ich einen WordPress-Beitrag als Onebox auf Discourse veröffentlichen kann.

Ich habe das Haupt-Theme reaktiviert, das Problem besteht weiterhin (wenn ich Ajax wieder einschalte), also bin ich zu meinem Child Theme zurückgekehrt und habe Ajax ausgeschaltet.

Unten sehen Sie den Code von functions.php meines Child Themes, um die Onebox zum Laufen zu bringen.

<?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' );

//Veröffentlichen des WordPress-Beitrags als Onebox auf 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 );

Ok, das Problem könnte mit Skripten und/oder Ajax auf Ihrem WordPress zusammenhängen. Warum haben Sie das Ajax-Laden aktiviert? Haben Sie Bedenken, es deaktiviert zu lassen?

Hallo Angus,

Ich glaube, es war aktiviert, als ich das Plugin installiert habe. Wenn nicht, habe ich es aus einem bestimmten Grund nicht aktiviert. Ich finde es einfach seltsam, dass es ohne ersichtlichen Grund (außer einem WordPress- oder Theme-Update) nicht mehr funktioniert.

Ich werde es vorerst deaktiviert lassen.

Die Einstellung ist standardmäßig deaktiviert. Wenn es JavaScript-Probleme mit Ihrem Theme oder Ihrer Website gibt, kann dies zu Problemen mit der AJAX-Ladung führen.

Ja, ich denke, das ist die Lösung. Sie müssen Kommentare nur dann per AJAX laden, wenn Sie dafür einen bestimmten Grund haben.

1 „Gefällt mir“

Hallo @angus,

Mir ist heute etwas aufgefallen. Ich wurde aus WordPress abgemeldet und habe festgestellt, dass der Link nicht funktioniert, wenn ich abgemeldet bin (auch wenn Ajax deaktiviert ist).

Wenn ich mich bei WordPress anmelde und dann meinen Blogbeitrag ansehe, funktioniert der Link tatsächlich.

Haben Sie eine Idee, was das verursachen könnte?

Hallo @Pieces, das wird etwas mit Ihrer Website zu tun haben, nicht mit diesem Plugin. Es scheint, als ob etwas verhindert, dass benutzerdefinierte Felder für Beiträge unter bestimmten Umständen in Ihrem WordPress geladen werden.

Sie müssen das auf der WordPress-Seite debuggen. Wenn Sie einen Hosting-Anbieter oder Entwickler haben, sollten Sie dieses Problem mit ihnen besprechen. Wenn Sie kürzlich Änderungen an der Website vorgenommen haben, sollten Sie versuchen, die Änderung rückgängig zu machen und zu sehen, ob das Problem dadurch behoben wird.

Hallo @angus

Was wäre der beste Prozess, um mein Wordpress von Discourse zu trennen? Reicht es aus, das Plugin in Wordpress (im Plugin-Bereich von Wordpress) zu deinstallieren (löschen) und den API-Schlüssel und den Webhook in Discourse zu entfernen?

Fehlt mir etwas?

Danke, Pieces.

Sie müssen nur das Plugin aus WordPress entfernen, aber ja, Sie können auch diese anderen Dinge tun.

2 „Gefällt mir“

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