web-dev-qa-db-ja.com

特定のページテンプレートのすべてのスタイルを削除する方法

子テーマとページテンプレートの作り方を知っています。私はSalient-Childという名前のSalientの子テーマを持ち、blankPage.phpという名前のページテンプレートを持っています。

このテンプレートを使用するすべてのページに対して、CSSがまったくロードされないようにします。

私はwp_register_script, wp_deregister_script, wp_deregister_style, wp_dequeue_styleなどを知っていますが、どこでどのように使うのかわかりません。

私はblankPage.php自体の中でこれらの関数のいくつかをタイプしてみました、そしてまたfunctions.phpを編集しようとしました。私はif(is_page_template('blankPage.php')){...}で条件付きを使ってみました。

どんなガイダンスもいただければ幸いです。

ありがとうございます。

4
Ryan

私はこの問題を解決しているように見え、そしてそれがとても単純だったので、私がこれまで誰かによって言及されたことを見たことがないことにショックを受けます。

最初に、私は新鮮な場所からやり直せるように、自分の子供用テーマ全体を削除しました。

それから、私は https://wordpress.org/plugins/one-click-child-theme/ を使用して、Salientの新しい子テーマを作成しました。

それから、 外観>エディタ メニューで、functions.phpファイルを見て、それがadd_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );function theme_enqueue_styles()を生成していることに気付きました。

だから私は単にif ( !is_page_template( 'rawHtmlPage.php' ) ) { ...}内に関数の内容をラップしました。

1
Ryan

以下のように特定のページテンプレートの特定のスタイルとJavaスクリプトを削除できます。現在のテーマのfunctions.phpファイルにコードを追加してください。すべてのJSとCSSのリストを見るためには、このようなプラグインを使いたくなるでしょう: https://wordpress.org/plugins/debug-bar-list-dependencies/

/**
 * Remove specific Java scripts.
 */
function se_remove_script() {
    if ( is_page_template( 'blankPage.php' ) ) {
        wp_dequeue_script( 'some-js' );
        wp_dequeue_script( 'some-other-js' );
    }
}

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

/**
 * Remove specific style sheets.
 */
function se_remove_styles() {
    if ( is_page_template( 'blankPage.php' ) ) {
        wp_dequeue_style( 'some-style' );
        wp_dequeue_style( 'some-other-style' );
    }
}

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

以下のように、特定のページテンプレートに対してすべてのスタイルとJavaスクリプトを一度に削除できます。現在のテーマのfunctions.phpファイルにコードを追加してください。

/**
 * Remove all Java scripts.
 */
function se_remove_all_scripts() {
    global $wp_scripts;
    if ( is_page_template( 'blankPage.php' ) ) {
        $wp_scripts->queue = array();
    }
}

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

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

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