Wordpress: Dynamische URL einer Discourse-Seite erstellen

Hallo zusammen,

ich habe meine Community so eingerichtet, dass jeder neue Beitrag auf WordPress automatisch in Discourse veröffentlicht wird. Das Plugin erstellt am Ende jedes WordPress-Beitrags einen dynamischen Link zur Discourse-Diskussion.

Ich frage mich, ob es eine Möglichkeit gibt, diesen Link auch an anderen Stellen jedes Beitrags zu generieren?

Zum Beispiel möchte ich, dass WordPress auch automatisch einen Hyperlink zu dem Text in der Nähe des Seitenanfangs generiert, der auf die Discourse-Seite für diesen speziellen Beitrag verweist, aber ich habe keine Ahnung, wie ich das anstellen soll.

Das

2 „Gefällt mir“

Wir machen dasselbe, indem wir den Gutenberg-Editor verwenden, um die Beitragsmetadaten anzuzeigen. Bitte installieren Sie dieses Plugin:

JSM Show Post Metadata – WordPress plugin | WordPress.org.

Und Sie können die mit diesem WP CPT verknüpften Diskursdaten anzeigen. Als Nächstes können Sie einen Gutenberg- oder einen anderen Plugin verwenden, um den Diskurs-Link im Frontend anzuzeigen.

1 „Gefällt mir“

Ah okay, ich werde mir das ansehen.

Was ich jedoch zu tun versuche, ist, etwas direkt in die Dateien des WP-Themes zu kodieren, damit der Discourse-Link für jeden Beitrag generiert wird.

Würde so etwas funktionieren? (Ich habe das in einem anderen älteren Thread gesehen): … usw.

Würde so etwas funktionieren, wenn ich es fest in die Dateien des Themes einbauen würde?

<?php
$topic_url = get_post_meta( get_the_ID(), 'discourse_permalink', true );
?>
<a href="<?php echo esc_url( $topic_url ); ?>">LINK ZUM FORUM</a>

Ok, ich habe herausgefunden, wie ich es dazu bringe, das zu tun, was ich will.

<?php
$topic_url = get_post_meta( get_the_ID(), 'discourse_permalink', true );
?>
<a href="<?php echo esc_url( $topic_url ); ?>" style="color:#0271e1; font-size: 0.75em;" target="_blank">Diskussion beitreten</a>

Dies erscheint oben in meinen Artikeln. Gibt es eine Möglichkeit, einen alternativen Link anzugeben, wenn der betreffende Beitrag keine Discourse-Seite hat (z. B. ältere Beiträge, bevor Discourse installiert wurde)?

3 „Gefällt mir“

Ja, aber das hat wirklich nichts mit Discourse zu tun.

Entscheiden Sie, welchen Link Sie stattdessen anzeigen möchten, und suchen Sie dann schnell nach, wie Sie „if“-Anweisungen in PHP mit Beiträgen verwenden, die leere oder fehlende WordPress-Felder haben.

2 „Gefällt mir“