2016-04-24 4 views
1

Neben dem Standard page.php in meinem Wordpress Theme, habe ich eine zusätzliche Seitenvorlage namens full-page.php. Ich möchte ein zusätzliches Skript (script-4.js) in full-page.php in die Warteschlange stellen, das ich in der Standardvorlage nicht in die Warteschlange stellen möchte. Im Moment habe ich sie mit der folgenden Methode eingereiht, mit den Anweisungen if und else - genauso wie meine Stylesheets eingereiht sind.Gibt es eine einfachere Möglichkeit zum Einreihen von Skripten für mehrere Seitenvorlagen in Wordpress?

Ich frage mich, ob es einen Weg gibt, dies zu tun, ohne alles zweimal in die Warteschlange zu stellen? Zum Beispiel, in full-page.php, ist es für mich möglich, nur script-4.js in die Warteschlange einzureihen, während es automatisch Skripts 1, 2 und 3 aus der Standardvorlage nehmen?

function enqueue_my_styles_and_scripts() { 

if (is_page_template('page-templates/full-page.php')) { 

    wp_enqueue_script(
    'mytheme-script-1', 
    get_template_directory_uri() . '/js/script-1.js'); 

    wp_enqueue_script(
    'mytheme-script-2', 
    get_template_directory_uri() . '/js/script-2.js'); 

    wp_enqueue_script(
    'mytheme-script-3', 
    get_template_directory_uri() . '/js/script-3.js'); 

    wp_enqueue_script(
    'mytheme-script-4', 
    get_template_directory_uri() . '/js/script-4.js'); 

} 

else { 

    wp_enqueue_script(
    'mytheme-script-1', 
    get_template_directory_uri() . '/js/script-1.js'); 


    wp_enqueue_script(
    'mytheme-script-2', 
    get_template_directory_uri() . '/js/script-2.js'); 


    wp_enqueue_script(
    'mytheme-script-3', 
    get_template_directory_uri() . '/js/script-3.js'); 

} 

add_action('wp_enqueue_scripts', 'enqueue_my_styles_and_scripts'); 

Antwort

1

Haben Sie so etwas wie dies bedeuten:

function enqueue_my_styles_and_scripts() { 

wp_enqueue_script(
    'mytheme-script-1', 
    get_template_directory_uri() . '/js/script-1.js'); 

wp_enqueue_script(
    'mytheme-script-2', 
    get_template_directory_uri() . '/js/script-2.js'); 

wp_enqueue_script(
    'mytheme-script-3', 
    get_template_directory_uri() . '/js/script-3.js'); 

if (is_page_template('page-templates/full-page.php')) { 

    wp_enqueue_script(
     'mytheme-script-4', 
     get_template_directory_uri() . '/js/script-4.js'); 

} 

add_action('wp_enqueue_scripts', 'enqueue_my_styles_and_scripts'); 
+0

Hallo Loic, danke, die funktionierte. Es kam mir nicht einmal in den Sinn, es so zu schreiben, weil ich aus irgendeinem Grund dachte, dass eine 'if'-Anweisung immer von einer 'else'-Anweisung gefolgt werden musste. – Jack1991

+0

Cheers für die Bearbeitung als auch :) – Jack1991

+0

Ah Ich denke, ich sehe was du meinst, also kann ich etwas schreiben wie 'if (is_default_template() &&! (Is_page_template ('page-templates/full-page.php')) { 'und ein Skript auf die Standardvorlage anwenden, und jede andere benutzerdefinierte Seitenvorlage, die ich habe, abgesehen von full-page.php, die den 'ist nicht' Wert oben gegeben wird? – Jack1991

Verwandte Themen