특정 게시물 및 / 또는 페이지에 자바 스크립트 파일을 추가하는 가장 효율적인 방법은 무엇입니까? 또는 페이지 용으로 자바 스크립트 파일을

게시물 및 / 또는 페이지 용으로 자바 스크립트 파일을 추가하는 가장 효율적인 방법이 무엇인지 궁금합니다.

내가 생각해 낸 몇 가지 해결책은 다음과 같습니다.

  • HTML 편집보기로 전환하고 거기에 JavaScript를 게시하십시오 (꽤 나쁜 해결책)
  • 키 및 값 쌍에서 해당 게시물 / 페이지에 대한 특정 JavaScript가있는 사용자 정의 필드
  • footer.php에서 현재 페이지에 따라 JavaScript 파일을로드하십시오 (많은 조건부로 이어집니다)

참고로, JavaScript 파일은 페이지간에 공유되지 않으며 문자 그대로 현재보고있는 내용에 따라 다릅니다.

이견있는 사람?



답변

효율성과 자바 스크립트를 추가하기 위해 적절한 워드 프레스 방법을 사용하는 것이 가장 좋은 균형이라고 생각합니다.이 행을 따라 테마 functions.php 파일에 무언가를 추가하는 것입니다. 예를 들어 :

functions.php :

function load_scripts() {
    global $post;

    if( is_page() || is_single() )
    {
        switch($post->post_name) // post_name is the post slug which is more consistent for matching to here
        {
            case 'home':
                wp_enqueue_script('home', get_template_directory_uri() . '/js/home.js', array('jquery'), '', false);
                break;
            case 'about-page':
                wp_enqueue_script('about', get_template_directory_uri() . '/js/about-page.js', array('jquery'), '', true);
                break;
            case 'some-post':
                wp_enqueue_script('somepost', get_template_directory_uri() . '/js/somepost.js', array('jquery'), '1.6', true);
                break;
        }
    }
}

add_action('wp_enqueue_scripts', 'load_scripts');

이것은 어디에로드 될지를 완벽하게 제어 할 수 있도록한다. 테마가로드되는 위치를 편집하기위한 함수 functions.php 파일의 중앙 위치 :이 방법은 워드 프레스 메소드를 사용하여 게시물과 페이지에 안전하게 자바 스크립트를 추가한다 .


답변

내가 할 일은 바닥 글이나 머리글에 넣고 PHP 조건을 사용하는 것입니다.

예를 들면 다음과 같습니다.

<?php if (is_page ('your-page')){?>

  <script type="text/javascript" src"the file path"></script>

<?php } elseif ( is_page ('another')){?>

  <script type="text/javascript" src"the file path"></script>

<?php } else { ?>

  <script type="text/javascript" src"the file path"></script>

<?php } ?>

이렇게하면 각 페이지에서 항상 모든 스크립트를 호출하지 않고 필요한 스크립트를 호출 할 수 있습니다.

다음은 WordPress 코덱스 http://codex.wordpress.org/Conditional_Tags에 대한 링크입니다 .

또한 게시물별로 호출해야하는 특수 스크립트가있는 경우 사용자 정의 필드를 사용하십시오.


답변

다른 테스트 방법은 편집기에서 직접 페이지에 추가하고 스크립트 태그에 주석을 추가하면 작동하지 않는 것입니다.

<script type="text/javascript">
<!--
var a = 5;
alert("hello world. The value of a is: " + a);
-->
</script>


답변