IT

wordpress가 쿼리가 있는 스크립트/스타일을 큐에서 해제할 수 없습니다.

itgroup 2023. 3. 14. 21:34
반응형

wordpress가 쿼리가 있는 스크립트/스타일을 큐에서 해제할 수 없습니다.

제대로 표현했는지 모르겠지만 기본적으로 실제 플러그인을 사용하는 페이지에만 플러그인 CSS/J를 로드하고 싶었습니다.플러그 인 파일을 검색하여 많은 작업을 수행했습니다.wp_enqueue_script플러그 인 내에서 간단하게wp_dequeue_script기능을 합니다.php

단, 스타일에는 css 파일이 아닌 .php가 포함된 엔큐가 있습니다.플러그인으로 파일을 큐잉합니다.

wp_enqueue_style("myrp-stuff", MYRP_PLUGIN_URL . "/myrp-hotlink-css.php");

그래서 해봤어:

wp_dequeue_style('myrp-stuff');
wp_deregister_style('myrp-stuff');

동작되지 않습니다.

그러나 페이지/게시가 렌더링되면 다음과 같이 표시됩니다.

<link rel='stylesheet' id='myrp-stuff-css'  href='http://www.modernlogic.co/wp/wp-content/plugins/MyRP/myrp-hotlink-css.php?ver=3.4.2' type='text/css' media='all' />

ID에 -css를 추가하고 큐/등록 해제 및 이동을 거부합니다.

나도 다음을 시도해봤지만 운이 없다.

wp_dequeue_style('myrp-stuff-css');
wp_deregister_style('myrp-stuff-css');

좋은 의견이라도 있나?

스크립트 및 스타일은 임의의 순서로 언제든지 큐잉할 수 있습니다.wp_print_*액션이 트리거 됩니다.따라서 출력 전에 큐에서 삭제하기가 어려울 수 있습니다.

큐 제거 작업을 일관되게 연결하기 위해wp_print_styles또는wp_print_scripts출력 직전에 스크립트와 스타일이 삭제되기 때문에 우선순위가 높아집니다.

예를 들어 플러그인 로더 코드 또는 템플릿의functions.php파일에는 다음과 같은 기능과 액션 훅이 있을 수 있습니다.

function remove_assets() {
    wp_dequeue_style('myrp-stuff');
    wp_deregister_style('myrp-stuff');
}
add_action( 'wp_print_styles', 'remove_assets', PHP_INT_MAX );

하이 설정priority(에 대한 세 번째 인수)add_action) 액션에 접속하면 콜백이 확실하게 이루어집니다.remove_assets스크립트/스타일이 인쇄되기 직전에 마지막으로 호출됩니다.

이 기법은 스크립트/스타일 삭제에는 적합하지만 자산 추가에는 사용할 수 없습니다.자세한 내용은 이 Wordpress Core 블로그 투고를 참조하십시오.

만약을 위해, 다음과 같은 동작에 의해 호출되는 함수에 코드를 삽입한 적이 있습니까?

add_action('wp_enqueue_scripts', 'dequeue_function');
function dequeue_function() {
    wp_dequeue_style( array('myrp-stuff', 'myrp-stuff-css') );
    wp_deregister_style( array('myrp-stuff', 'myrp-stuff-css') );
}

언급URL : https://stackoverflow.com/questions/12465730/wordpress-cant-dequeue-script-style-that-has-query

반응형