$the_query = new WP_Query( 'page_id='.$id );
while ( $the_query->have_posts() ) {
$the_query->the_post();
the_content();
}
wp_reset_postdata();
}
add_shortcode( 'content_insert', 'get_post_page_content' );
Но он выводит содержимое почему то в начало страницы, а не туда, куда был вставлен шорткод. Например, вставляем шорткод после текстового абзаца, а выводится сначала содержимое по шорткоду, а потом текстовый абзац. Как исправить, чтобы вставлялось туда, где размещен шорткод?
I have had this problem before: shortcodes shouldn't display any content (using print or echo), instead return the content to be outputted.
If it's too much trouble converting all of your output statements, or you need to use a function that will always display the output, you can use output buffering. A buffer will 'catch' any echo'd or print'd content and allow you to write it to a variable.