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


23

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

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

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

미리 감사드립니다!


나중에 사용하기 위해 비슷한 질문에 더 쉬운 방법으로 대답했습니다. wordpress.stackexchange.com/q/34894/93169
Frits

답변:


43

다음과 같이 할 수 있습니다 ( 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 );

이 함수를 사용하여 스타일을 큐에 넣을 수도 있습니까?
Sisir

1
@Sisir "admin_print_styles-{$page}"후크를 사용하십시오 . $page전체 add_(sub)menu_page()코드를 보유하고를 사용할 때 페이지를 타겟팅하는 데 사용될 수 있습니다 @see wp_enqueue_style().
카이저

보다 최신의 방법 : wordpress.stackexchange.com/a/34897/93169 ( 워드 프레스의 기능 변경으로 인해 조금 더 쉬워지는 경우도 있습니다 ...)
Frits

-2

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

편집하다

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


나열된 페이지가 사라졌습니다. Wayback 머신 의 미러 / 아카이브 입니다 .
Robert K

고마워 현재 링크로 답변을 업데이트했습니다.
Chip Bennett

3
솔루션을 여기에 게시하고 튜토리얼을 소스로 링크
Christine Cooper

-3

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.