Pasar plgin al archivo function.php

Inicio Foros WordPress Programación Pasar plgin al archivo function.php

Este debate contiene 6 respuestas, tiene 3 mensajes y lo actualizó  seravifer hace 6 años, 9 meses.

  • Autor
    Publicaciones
  • #60378

    seravifer
    Participante

    Miren, tengo un plugin que se llama “lazy-load” que lo que hace es cargar las imágenes a medida que bajas por la pagina. Como no ocupa nada de espacio en el disco y lo veo innecesario tener otro plugin me gustaría pasarlo al archivo function.php.
    Si lo copio y pego no funciona.

    class LazyLoad_Images {

    const version = '0.3';

    function init() {
    add_action( 'wp_enqueue_scripts', array( __CLASS__, 'add_scripts' ) );
    add_filter( 'the_content', array( __CLASS__, 'add_image_placeholders' ), 11 );
    add_filter( 'post_thumbnail_html', array( __CLASS__, 'add_image_placeholders' ), 11 );
    }

    function add_scripts() {
    wp_enqueue_script( 'wpcom-lazy-load-images', self::get_url( 'js/lazy-load.js' ), array( 'jquery', 'jquery-sonar' ), self::version, true );
    wp_enqueue_script( 'jquery-sonar', self::get_url( 'js/jquery.sonar.min.js' ), array( 'jquery' ), self::version, true );
    }

    function add_image_placeholders( $content ) {
    // Don't lazyload for feeds, previews, mobile
    if( is_feed() || is_preview() || ( function_exists( 'is_mobile' ) && is_mobile() ) )
    return $content;

    // In case you want to change the placeholder image
    $placeholder_image = apply_filters( 'lazyload_images_placeholder_image', self::get_url( 'images/1x1.trans.gif' ) );

    // This is a pretty simple regex, but it works
    $content = preg_replace( '#]+?)src=[\'"]([^\'">]*)[\'"]([^>]*)>#', sprintf( '', $placeholder_image ), $content );

    return $content;
    }

    function get_url( $path = '' ) {
    return plugins_url( ltrim( $path, '/' ), __FILE__ );
    }
    }

    LazyLoad_Images::init();

    El único fallo que veo es a la hora de cargar los scrips pero sigue sin ir.

  • #60389

    Hombre Man
    Participante

    Tienes que instanciar la clase.

  • #60393

    seravifer
    Participante

    Como instala la clase, no entiendo eso de instalar.

  • #60409

    LGrusin
    Miembro

    El plugin tiene otros archivos javascript y demás de los que depende. Tendrás también que cambiar de carpeta estos archivos .js y decirle al código dónde encontrarlos.

    Un saludo

  • #60435

    seravifer
    Participante

    Aver si eso lo he echo. Le he especificado correctamente donde se encuentran los archivos y la imagen que hay pero se deforma todo, es decir que no se muestran las imagenes.

  • #60456

    Hombre Man
    Participante

    No dije instalar, digo instanciar, crear una instancia de la clase.

  • #60465

    seravifer
    Participante

    Perdón que te haya leído mal, pero como se haría eso¿?

El foro ‘Programación’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest