【问题标题】:How to remove all style and JavaScript and include new one in wordpress如何删除所有样式和 JavaScript 并在 wordpress 中包含新样式
【发布时间】:2019-07-18 13:09:41
【问题描述】:

我正在研究一个遗留的 wp 主题,并且有一些可爱的干净的新 CSS 和 js 我想应用到设置模板。

我已经设法使用下面的脚本将旧的 CSS 和 js 应用到我的新模板中。

但是,如何在删除旧函数的同时向这些函数添加新脚本和样式?

例如,删除所有旧的 CSS 和 js 现在添加这些 js 和 CSS

    /**
 * Remove all java scripts.
 */
function se_remove_all_scripts() {
    global $wp_scripts;
    if ( is_page_template( 'new-template/page-main.php' ) ) {
        $wp_scripts->queue = array();
    }
}

/**
 * Remove all style sheets.
 */
function se_remove_all_styles() {
    global $wp_styles;
    if ( is_page_template( 'new-template/page-main.php' ) ) {
        $wp_styles->queue = array();
    }
}

add_action( 'wp_print_styles', 'se_remove_all_styles', 99 );

add_action( 'wp_print_scripts', 'se_remove_all_scripts', 99 );

【问题讨论】:

  • 只是一个注释,根本不是答案,也不确定您是否意识到这一点,我在您的代码remove all java scripts 中的一个 cmets 中看到 - Java 和 JavaScript 之间存在根本区别. JavaScript 不是 Java 的脚本,它完全是它自己的东西
  • @GrumpyCrouton 当然是个好地方,谢谢
  • 请注意,您的解决方案可能还会从插件中删除所有 CSS 和 JS 文件,这可能会导致一些问题/破坏。我会使用 wp_dequeue_style()wp_dequeue_script() 来仅删除主题的样式表和 JS 脚本。
  • 完美,现在就试试,谢谢@cabrerahector

标签: javascript css wordpress enqueue


【解决方案1】:

您可以从 enqueue 函数中省略旧样式和脚本,并在 functions.php 文件中为条件队列创建一个新样式和脚本。看到这个:

function my_conditional_enqueue() {
    if ( is_page_template( 'new-template/page-main.php' ) {
        /** Call your new style and script files */
    } else {
        /** Call legacy files */
    }
}
add_action( 'wp_enqueue_scripts', 'my_conditional_enqueue' );

【讨论】:

    猜你喜欢
    • 2010-12-28
    • 2018-12-13
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2014-04-15
    • 2015-10-24
    • 2013-01-05
    相关资源
    最近更新 更多