WP Discourse Fehlermeldung: länger als 32000 Zeichen

Hallo @simon, vielleicht kennst du das Problem.

Ich habe versucht, diesen Beitrag mit dem verlinkten Discourse-Thema zu verknüpfen, bekomme aber die Fehlermeldung, dass die Zeichenanzahl 32.000 überschreitet – was nicht der Fall ist. Das Veröffentlichen des Beitrags auf Discourse funktionierte problemlos.

Für deine Information verwende ich folgende Einträge in der functions.php:

// Zeige WP-Beiträge, die über ein Iframe in Discourse eingebettet sind
// https://meta.discourse.org/t/wp-discourse-how-to-deal-with-shortcodes-in-post/58838/5
add_filter( 'discourse_publish_format_html', 'wpdc_custom_discourse_publish_format_html', 10, 2 );
function wpdc_custom_discourse_publish_format_html( $output, $post_id ) {
    $permalink = get_the_permalink( $post_id );
	$content_post = get_post( $post_id );
	$content = $content_post->post_content;
	$content = apply_filters('the_content', $content);
	$content = str_replace(']]>', ']]>', $content);

	ob_start();
	?>
		
    <iframe width="690" height="2000" src="<?php echo esc_url( $permalink ); ?>" frameborder="0"></iframe>
	<div data-hide="true"><?php echo $content; ?></div>
		
	
	<?php
		
    $output = ob_get_clean();

    return $output;

}

// von njegos vukadin auf Upwork

add_action( "wp_head", "detect_embedding", 1 );
add_action( "wp_head", "modify_embedded_links", 11 );

function detect_embedding()
{
?>
<script>
    function isEmbedded () {
	    try {
	        return window.self !== window.top;
	    } catch (e) {
	        return true;
	    }
	}
	if( isEmbedded() ){
		document.documentElement.className = document.documentElement.className + " embedded";
	}
</script>
<style>
	.embedded body > *:not(#page),
	.embedded #main > *:not(article),
	.embedded #right-sidebar {
		display:none!important;
		visibility:hidden!important;
	}

	.embedded #main {
		margin:0;
	}

</style>
<?php
}

function modify_embedded_links(){
?>
<script>
    jQuery(document).ready(function($){
		if( isEmbedded() ){
			$("a").filter(function(){
				return this.href.split("#")[0] !== window.location.href.split("#")[0];
			}).attr("target","_blank");
		}
	})
</script>
<?php
}

Die Fehlermeldung ist die Antwort, die von Discourse zurückgegeben wird, wenn du den Beitrag veröffentlichst. Es überrascht mich, dass der Beitrag trotz der Fehlermeldung veröffentlicht wurde.

Da du den gesamten Beitrag als iframe veröffentlichst, bin ich mir nicht sicher, warum du den Beitragsinhalt nach dem iframe hinzufügst.

um sicherzustellen, dass der Beitrag bei der Diskurssuche eine gewisse Relevanz erhält