Wordpress Enqueue nur für Homepage, functions.php, wp-framework


9

Ich möchte meine ersetzen:

    if(is_home())
    {
        wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true );
        wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true );
    };

Welches befindet sich derzeit in header.php, indem es stattdessen in eine functions.php-Datei eingefügt wird. Der Versuch, alles auf der Website eines weitläufigen Kunden aufzuräumen. Ich verwende wp-framework und würde dies idealerweise in die Funktion enqueue_assets in der Hauptklasse parent_theme einfügen. Obwohl dies nicht wirklich ein Problem mit dem WP-Framework ist, möchte ich nur wissen:

Wie kann ich is_home () aus einer Funktionsdatei zum Arbeiten bringen? Gibt es eine Alternative mit Globals, über die ich Bescheid wissen muss?

Antworten:


22

Wenn Sie auf die Startseite der Site abzielen möchten , müssen Sie diese zunächst verwenden is_front_page(). Die is_home()Bedingung gibt true zurück, wenn der Blogpost-Index angezeigt wird, der sich möglicherweise auf der Startseite der Website befindet oder nicht .

Zweitens müssen Sie Ihre Funktion in einen geeigneten Hook einbinden, wie es in diesem Fall erscheint wp_enqueue_scripts.

(Außerdem: Was ist das get_theme_part()? Ist es eine benutzerdefinierte Funktion in WP Framework?)

Sie können dies beispielsweise tun in functions.php:

function mytheme_enqueue_front_page_scripts() {
    if( is_front_page() )
    {
        wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true );
        wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true );
    }
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_front_page_scripts' );

Chip, du bist ein Star. Vielen Dank. (Ja, get_theme_part ist eine wp-Framework-Sache. Ich schwöre auf die neue wp-Framework-Version. Es ist fantastisch)
mjjwatson

Oh, genau dann. Dieser Funktion sollte gemäß der Best Practice ein wpf_get_theme_part()oder ein ähnliches Präfix vorangestellt werden . Aber ich habe es nachgeschlagen; sehr schöne kleine Funktion.
Chip Bennett
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.