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
}