wake-up-neo.com

Bester Platz für wp_register_script () und wp_register_style ()

Ich muss mehrere Skripte und Stile in mein Plugin einreihen. Die Idee, wp_register_script() und wp_register_style() jedes Mal aufzurufen, wenn ich wp_enqueue_script() und wp_enqueue_style() aufrufen muss, gefällt mir jedoch nicht. Ich halte es für eine gute Idee, die Skripte und Stile einmal zu registrieren und sie dann nach Bedarf aufzurufen.

Meine Frage ist also, wie man am besten einen Aktions-Hook zum Aufrufen von wp_register_script() und wp_register_style() verwendet, um eine einmalige Registrierung zu ermöglichen. Und welcher Aktionshaken ist das?

Vielen Dank.

1
Greeso

Skripte und Stile können am Hook wp_loaded registriert und später mit wp_enqueue_scripts in die Warteschlange gestellt werden.

Sobald die Skripte und Stile registriert wurden, können sie später mit nur den Ziehpunkten in die Warteschlange gestellt werden, mit denen sie ursprünglich registriert wurden.

// Register scripts/styles. They can be optionally enqueued later on.
add_action( 'wp_loaded', 'wpse_register_scripts' );
function wpse_register_scripts() {
    wp_register_script( 'something-js', get_template_directory_uri() . '/js/something.js', array( 'jquery' ), true );
    wp_register_script( 'something-else-js', get_template_directory_uri() . '/js/something-else.js', array(), true );
    wp_register_script( 'another-something-else-js', get_template_directory_uri() . '/js/another-something-else.js', array(), true );
}

// Enqueue scripts/styles.
add_action( 'wp_enqueue_scripts', 'wpse_enqueue_scripts' );
function wpse_enqueue_scripts() {
    // Load everywhere.
    wp_enqueue_script( 'something-js' );

    // Only enqueue scripts/styles on static front page.
    if ( is_front_page() ) {
        wp_enqueue_script( 'something-else-js' );
    }

    // Only enqueue scripts/styles when the full-width.php template is used.
    if ( is_page_template( 'full-width.php' ) ) {
        wp_enqueue_script( 'another-something-else-js' );
    }
}
2
Dave Romsey