Hey there
@simon Maybe you know this one
I tried to update this post to the linked discourse topic, but I get the error message that it exceeded 32000 character, which is not the case. publishing the post to discourse worked without any issues
FIY I use the following functions.php entries:
// show wp posts embedded in discourse via iframe
// 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;
}
// upwork by njegos vukadin
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
}