2017-10-08 1 views
0

그래서 템플릿 파일에만 포함시키려는 스크립트가 있습니다. 템플릿 파일은 내 하위 테마의 템플릿이라는 폴더에 있습니다. 나는 functions.php의 경우 문을 포함하고 있으므로 같은 이름으로 템플릿 파일을 대상으로 그것을 할 수 있다고 생각 : 그것은 어떤 이유로 if 문을 인식 아니에요 것처럼is_page_template() functions.php에서 작동하지 않습니다

function header_anim() { 
wp_enqueue_script('head', get_stylesheet_directory_uri() . '/js/head.js'); 
} 

if(is_page_template('/templates/home-template.php')) { 
    add_action('wp_enqueue_scripts', 'header_anim'); 
} 

그러나, 그것은 보인다.

답변

1

어때요? 이 스크립트로 작업 할 수있는 스타일 시트를 가지고 한 가지 일을했습니다. wp_enqueue_script를 호출하는 함수 내에서 if 문을 구성하고 return이 아닌 조건을 사용합니다. 예를 들어 :이 방법에 대해

function header_anim() { 
    if(!is_page_template('/templates/home-template.php')){ 
    return; 
    } 
    wp_enqueue_script('head', get_stylesheet_directory_uri() . '/js/head.js'); 
} 
add_action('wp_enqueue_scripts', 'header_anim'); 

는 주스

+0

감사합니다 ... 내가이 일이 어떻게 작동하는지 알려주십시오, 그것은 이상한입니다. functions.php에서이 코드의 다양한 변형을 시도했지만 실제로는 발생하지 않습니다. 다른 아이디어? –

0

흠,

나중에 .... 그런 당신을 위해 작동하는지 알려주세요. 컨디셔닝을 약간 다르게하려고합시다 .... 템플릿/페이지의 다른 부분에 다른 스크립트를로드하는 또 다른 기능이 있습니까?

function equeue_scripts_header() { 
 
    if(is_page_template('/templates/home-template.php')){ 
 
     wp_enqueue_script('head', get_stylesheet_directory_uri() . '/js/head.js'); 
 
    } 
 
    else { 
 
    /*call enqueue script for that corresponds to the rest of the  site */ 
 
    } 
 
} 
 
add_action('wp_enqueue_scripts', 'equeue_scripts_header');

는 다행스럽게도 필자는 당신이 이미 시도 또 다른 반복을 추가하지 않은 ... 그렇다면 우리는 하나 개의 함수로 결합 할 수 있고, 희망이 작동합니다. 이 콘솔에서 오류를 뱉어하지 않기 때문에

주스 불행하게도이 작동하지 않았다, 노력에 대한

관련 문제