function widget($args, $instance) { print '<div class="widget azexo-post">'; if (!empty($instance['title'])) { print '<div class="widget-title"><h3>' . $instance['title'] . '</h3></div>'; } if (!empty($instance['post'])) { if ($instance['full'] == 'on') { global $post; $original = $post; $post = get_post($instance['post']); setup_postdata($post); $template_name = $instance['template']; print '<div class="scoped-style">' . azexo_get_post_wpb_css($instance['post']); include locate_template('content.php'); print '</div>'; wp_reset_postdata(); $post = $original; } else { $wpautop = false; if (has_filter('the_content', 'wpautop')) { remove_filter('the_content', 'wpautop'); $wpautop = true; } print azexo_get_post_content($instance['post']); if ($wpautop) { add_filter('the_content', 'wpautop'); } } } print '</div>'; }
function azexo_get_post_content($id) { global $post; $original = $post; $post = get_post($id); setup_postdata($post); $content = get_the_content(''); $matches = array(); preg_match_all('/tab\\_id\\=\\"([^\\"]+)\\"/', $content, $matches); foreach ($matches[0] as $match) { $content = str_replace($match, 'tab_id="azexo-' . rand(0, 99999999) . '"', $content); } $content = '<div class="scoped-style">' . azexo_get_post_wpb_css($id) . apply_filters('the_content', $content) . '</div>'; wp_reset_postdata(); $post = $original; return $content; }