مرحبًا
@سيمون ربما تعرف هذه المسألة
حاولت تحديث هذا المنشور إلى موضوع discourse المرتبط، لكنني حصلت على رسالة خطأ تفيد بأن عدد الأحرف تجاوز 32000، وهو أمر غير صحيح. تم نشر المنشور على discourse بنجاح وبدون أي مشاكل.
للمعلومية، أستخدم الإدخالات التالية في functions.php:
// عرض منشورات ووردبريس المضمنة في discourse عبر 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 بواسطة 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
}