사용자 정의 게시물 추가 / 편집 페이지에서 스크립트를 대기열에 포함시키는 방법은 무엇입니까? 게시물 유형을 추가하거나 편집 할 때만

누군가가 “레시피”라는 사용자 정의 게시물 유형을 추가하거나 편집 할 때만 JS 스크립트를 대기열에 추가하려고합니다. 현재이 작업을 수행하면 스크립트가 정상적으로 작동합니다.

if (is_admin()){
    wp_enqueue_script( 'my-script' );
}

그러나 이것은 모든 관리자 페이지에로드되며, 함수에 연결해야한다고 가정하지만 그것이 무엇인지 전혀 모릅니다.

미리 감사드립니다!



답변

다음과 같이 할 수 있습니다 ( functions.php).

function add_admin_scripts( $hook ) {

    global $post;

    if ( $hook == 'post-new.php' || $hook == 'post.php' ) {
        if ( 'recipes' === $post->post_type ) {     
            wp_enqueue_script(  'myscript', get_stylesheet_directory_uri().'/js/myscript.js' );
        }
    }
}
add_action( 'admin_enqueue_scripts', 'add_admin_scripts', 10, 1 );

답변

이를위한 고리가 있으며 사용하기가 매우 간단합니다. 구현 예는이 자습서를 참조하십시오 .

편집하다

Justin은 자습서를 DevPress에서 개인 사이트로 옮겼습니다. 튜토리얼에 대한 업데이트 된 링크는 다음과 같습니다 .


답변

Rootstheme (Twitter Bootstrap을 기반으로 함)은 github에서 볼 수있는 roots_scripts 함수 에서 볼 수 있듯이 페이지 / 게시물 유형에 따라 스크립트를로드하는 정말 우아한 방법 이 있습니다 .

기본적으로 모든 스크립트와 스타일을 등록한 다음 wp_enqueue_script 또는 wp_enqueue_style 문을 감싸는 조건문이 있습니다.