source

다른 모든 JS 아래의 Wordpress 플러그인 스크립트를 큐에 넣습니다.

manysource 2023. 4. 5. 22:02

다른 모든 JS 아래의 Wordpress 플러그인 스크립트를 큐에 넣습니다.

간단한 Wordpress 앱을 개발 중인데 모든 플러그인 스크립트가 큐에 있는 스크립트보다 먼저 렌더링되기 때문에 문제가 있습니다.functions.php.

의 샘플 섹션을 다음에 나타냅니다.functions.php:

function my_scripts() {
    wp_register_script('app-js', get_template_directory_uri() . '/javascripts/app.js', array('jquery'), null, true );
    wp_enqueue_script('app-js');
}
add_action( 'wp_enqueue_scripts', 'my_scripts');

주의할 점은 (베스트 프랙티스에 따라 JS가 페이지 하단에서 렌더링하도록 설정되어 있다는 것입니다.

이 테마에 대한 플러그인도 몇 개 있습니다.문제는 출력이 다음과 같다는 것입니다.

<!-- Note the plugin appears first -->
<script type='text/javascript' src='http://localhost/wordpress/wp-content/plugins/my-plugin/acl-plugin.js'></script>
<!-- And the main JS appears second -->
<script type='text/javascript' src='http://localhost/wordpress/wp-content/themes/my-theme/javascripts/app.js'></script>
</body>
</html>

Wordpress가 메인 JS를 표시하도록 강제하려면 어떻게 해야 합니까?wp_head()페이지 맨 아래에 표시되도록 할 수 있습니까?

WordPress wp_head() 메서드는 WordPress wp_enqueue_script()의 마지막 파라미터를 false로 설정한 스크립트 또는 스타일만 출력합니다.true로 설정하면 wp_footer()를 통해 바닥글에 렌더링됩니다.

add_action() $priority 파라미터를 조정함으로써 호출 및 삽입 시 우선순위를 변경할 수 있습니다.

http://codex.wordpress.org/Function_Reference/add_action

$priority (int) (임의) 특정 액션과 관련된 기능의 실행 순서를 지정하기 위해 사용합니다.숫자가 작을수록 이전 실행과 일치하며, 우선순위가 동일한 함수는 액션에 추가된 순서대로 실행됩니다.디폴트: 10

add_action( $hook, $function_to_add, $priority, $accepted_args );

또한 다음 두 가지 WordPress 메서드를 살펴보십시오.

wp_enqueue_script() :

https://developer.wordpress.org/reference/functions/wp_enqueue_script/

wp_enqueue_script( string $handle, string $src = '', array $deps = array(), string|bool|null $ver = false, bool $in_footer = false )

wp_register_script() :

https://developer.wordpress.org/reference/functions/wp_register_script/

wp_register_script( string $handle, string $src, array $deps = array(), string|bool|null $ver = false, bool $in_footer = false )

이거 드셔보세요.

$priority 파라미터로 플레이해야 할 수 있습니다.

function my_scripts() {
        wp_register_script('app-js', get_template_directory_uri() . '/javascripts/app.js', array('jquery'), null, true );
        wp_enqueue_script('app-js');
}
add_action( 'wp_enqueue_scripts', 'my_scripts', 20, 1);

언급URL : https://stackoverflow.com/questions/19913960/enqueue-wordpress-plugin-scripts-below-all-other-js