【问题标题】:Disable prettyPhoto in WordPress Child Theme在 WordPress 子主题中禁用 prettyPhoto
【发布时间】:2018-01-21 04:45:06
【问题描述】:

我正在使用 WordPress 主题 - Rock 'n' Rolla,它使用 prettyPhoto 作为图片库的默认灯箱。

我已经构建了一个子主题,我想禁用 prettyPhoto 以用不同的灯箱解决方案替换它。

在父主题的functions.php文件中,有如下函数

function rock_n_rolla_scripts() {

    wp_enqueue_style( 'bootstrap', get_template_directory_uri() .'/assets/css/bootstrap.css' );
    wp_enqueue_style( 'flexslider', get_template_directory_uri() .'/assets/css/flexslider.css' );
    wp_enqueue_style( 'font-awesome', get_template_directory_uri() .'/assets/font-awesome/css/font-awesome.min.css' );
    wp_enqueue_style( 'prettyPhoto', get_template_directory_uri() .'/assets/css/prettyPhoto.css' );
    wp_enqueue_style('rock-n-rolla-google-fonts', '//fonts.googleapis.com/css?family=Lato:400,300,700,400italic,900|Oswald:400,700');
    wp_enqueue_style( 'rock-n-rolla-ie-style', get_stylesheet_directory_uri() . "/assets/css/ie.css", array()  );
    wp_style_add_data( 'rock-n-rolla-ie-style', 'conditional', 'IE' );
    wp_enqueue_style( 'rock-n-rolla-style', get_stylesheet_uri() );

    wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/js/bootstrap.js', array('jquery') );
    wp_enqueue_script( 'prettyPhoto', get_template_directory_uri() . '/js/jquery.prettyPhoto.js', array('jquery'));
    wp_enqueue_script( 'flexslider', get_template_directory_uri() . '/js/jquery.flexslider.js', array('jquery') );
    wp_enqueue_script( 'rock-n-rolla-custom-js', get_template_directory_uri() . '/js/custom.js', array('jquery') );
    wp_enqueue_script( 'rock-n-rolla-ie-responsive-js', get_template_directory_uri() . '/js/ie-responsive.min.js', array() );
    wp_script_add_data( 'rock-n-rolla-ie-responsive-js', 'conditional', 'lt IE 9' );
    wp_enqueue_script( 'rock-n-rolla-ie-shiv', get_template_directory_uri() . "/js/html5shiv.min.js");
    wp_script_add_data( 'rock-n-rolla-ie-shiv', 'conditional', 'lt IE 9' );
    wp_enqueue_script( 'rock-n-rolla-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20151215', true );
    wp_enqueue_script( 'rock-n-rolla-skip-link-focus-fix', get_template_directory_uri() . '/

注释掉 prettyPhoto 元素会禁用它,但我知道这不是解决此问题的正确方法,因为更新会覆盖更改。

我尝试添加一个functions.php 文件并在没有prettyPhoto 元素的情况下创建该函数,但不幸的是没有成功。

【问题讨论】:

    标签: php jquery wordpress wordpress-theming prettyphoto


    【解决方案1】:

    您可以将此功能添加到子主题中:

    function pplabs_custom_scripts() {
    
    /*
     * Remove PrettyPhoto Lightbox plugin
     */
       wp_dequeue_script( 'prettyPhoto' );
    
    /*
     * Add Your New Lightbox plugin
     */
        wp_enqueue_script( 'child-theme-lightbox', get_stylesheet_directory_uri() . '/js/child-theme-lightbox.js' );
    
    }
    add_action( 'wp_enqueue_scripts', 'pplabs_custom_scripts', 100 );
    

    【讨论】:

    • 感谢 Elyes 将它添加到孩子后,我的所有 JS 插件(例如日历)都停止工作。当我在 Child 主题中创建 custom.js 文件并删除该函数时,我收到此错误 pastebin.com/8fpHwmDC,我仍然收到相同的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 2017-01-16
    • 1970-01-01
    • 2019-03-27
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多