Я использую плагин https://wordpress.org/plugins/show-post-in-lightbox/ для отображения всех фейерверных изображений каждого сообщения на странице. когда появится одно из этих изображений, которое будет показано на лайтбокс, будет отображаться содержимое сообщения.
Все это прекрасно работает, но исходный код, отображающий контент, использует:
if($_REQUEST['popup']!=''){ $postObj = get_post( $_REQUEST['pid'] ); echo $postObj->post_content; exit; }
Это отлично работает, кроме того, что его не очень нужно, потому что wordpress can not форматирует html. также wordpress не распознает короткие коды. Поэтому я решил случайно сценарий убедиться, что он работает хорошо, и я могу использовать короткие коды:
if($_REQUEST['popup']!=''){ $postObj = $_POST['pid']; $content_post = get_post($$postObj); $content = $content_post->post_content; $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); echo $content; exit; }
Но это дает мне ошибку: ошибка при загрузке лайтбокса при открытии лайтбокса. Когда я удаляю строку APPLT_FILTERS, это не ошибка (но поскольку мне нужна эта строка, она не делает ничего подобного)
Но я думаю, что
$content = apply_filters('the_content', $content);
это тот, который лайтбокс падает. Этот код находится внутри файлов плагинов. Кто-нибудь знает, почему генерируется вышеуказанный код и 500 аварий?
Надеюсь, кто-то может мне помочь!
весь код:
if($_REQUEST['popup']!=''){ $postObj = $_POST['pid']; $content_post = get_post($$postObj); $content = $content_post->post_content; $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); echo $content; } class spbc_showPostsWidget extends WP_Widget{ function spbc_showPostsWidget() { $options = array('description' => 'Show posts from selected categories.'); parent::WP_Widget(false, $name = 'Show Posts By Category', $options); } /*-----------------------------------------------------------*/ function widget($args, $instance) { extract($args, EXTR_SKIP); $ost_title = empty($instance['ost_title']) ? ' ' : apply_filters('widget_title', $instance['ost_title']); $ost_limit = (is_numeric($instance['ost_limit'])) ? $instance['ost_limit'] : 5; $ost_orderby = ($instance['ost_orderby']) ? $instance['ost_orderby'] : 'date'; $ost_order = ($instance['ost_order']) ? $instance['ost_order'] : 'desc'; $ost_exclude = ($instance['ost_exclude'] != '') ? $instance['ost_exclude'] : 0; $ost_excludeposts = ($instance['ost_excludeposts'] != '') ? $instance['ost_excludeposts'] : 0; $ost_category_id = $instance['ost_categoryid']; $ost_showdate = ($instance['ost_show_date'] == 'on') ? 'yes' : 'no'; $ost_thumbnail = ($instance['ost_thumbnail'] == 'on') ? 'yes' : 'no'; $ost_thumbnail_size = ($instance['ost_thumbnail_size']) ? $instance['ost_thumbnail_size'] : 'thumbnail'; echo $before_widget; $this->spbc_showWidget($instance); echo $after_widget; } /*-----------------------------------------------------------*/ public static function get_UrlFromText($content,$url='Y'){ if($url=='Y'){ $imgpattern = '/src=[\'"]?([^\'" >]+)[\'" >]/'; preg_match($imgpattern, $content, $article_image); }else{ preg_match_all('/<img[^>]+>/i',$content, $article_image); } return $article_image; } /*-----------------------------------------------------------*/ function spbc_showWidget($instance){ global $post; $query = array( 'posts_per_page' => $instance['ost_limit'], 'cat' => $instance['ost_categoryid'], 'orderby' => $instance['ost_orderby'], 'order' => $instance['ost_order'], 'category__not_in' => array($instance['ost_exclude']), 'post__not_in' => array($instance['ost_excludeposts']) ); $wp_query = new WP_Query($query); if ($wp_query->have_posts()): echo ' <div class="list-posts-by-category"> <ul>'; while ($wp_query->have_posts()): $wp_query->the_post(); $image_id = get_post_thumbnail_id(); if(!empty($instance['ost_thumbnail'])){ if ( in_array($instance['ost_thumbnail_size'],array('thumbnail', 'medium', 'large', 'full'))) { $ost_thumb_size = $instance['ost_thumbnail_size']; }elseif ($instance['ost_thumbnail_size']){ $ost_thumb_size = array($instance['ost_thumbnail_size']); }else { $ost_thumb_size = 'thumbnail'; } $ost_thumbnail = get_the_post_thumbnail($post->ID, $ost_thumb_size); }else{ $ost_thumbnail = ""; } ?> <li> <a class="ostlightbox" href="<?php echo get_site_url().'/index.php?pid='.$post->ID.'&popup=Y'; ?>" title="<?php echo the_title_attribute(); ?>"> <?php echo '<div class="ostoverlay"></div>'; ?> <?php echo '<div class="titleconthidden"><p class="osttitle">'.$post->post_title.'</p></div>'; ?> <?php echo '<div class="titlecont"></div>'; ?> <?php echo $ost_thumbnail; ?> </a> <?php if(!empty($instance['ost_show_date'])){ ?><span><?php echo get_the_time('F jS, Y'); ?></span><?php } ?> </li><?php endwhile; echo ' </ul> </div>'; endif; }