programing

Wordpress 플러그인에서 Javascript를 로드하는 방법

goodjava 2023. 2. 7. 19:57

Wordpress 플러그인에서 Javascript를 로드하는 방법

이 javascript 파일을 워드프레스 플러그인에 포함시키는 방법을 가르쳐 주세요.모든 wp_enque_script() 메서드를 시도했지만 아무 일도 일어나지 않습니다.

ok 여기 제가 원하는 것을 설명하는 코멘트가 있는 샘플 플러그인 코드입니다.

<?php
/*
Plugin Name: Ava Test
Plugin URI: http://#.com
Description: A plugin that is used for my javascript tests
Author: Ronny Kibet
Author URI: http://ronnykibet.com
version: 1.001
*/

include(popup.js); 
/*when I include it this way, it works fine, but gives an error when I activate the plugin
'plugin generated 453 characters ...'
*/

function popup() {
$src = plugins_url('popup.js', __FILE__);
wp_register_script( 'popup', $src );
wp_enqueue_script( 'popup' );
}
/*
when I included it this way, plugin is activated but nothing happens.
*/
?>

이것은 popup.display 입니다.

<script type="text/javascript">

function popup(){


alert('hello there this is a test popup')

}
</script>
<body onload="popup()">
</body>

워드프레스 플러그인에서 이 스크립트를 올바르게 동작시키기 위해 호출하는 방법을 아는 사람이 있습니까?

로드가 발생하는 시기를 지정해야 합니다.이 작업을 해보겠습니다.

<?php
/*
Plugin Name: Ava Test
Plugin URI: https://matsio.com
Description: A plugin that is used for my javascript tests
Author: Ronny Kibet
Author URI: https://matsio.com
version: 1.001
*/

add_action('wp_enqueue_scripts','ava_test_init');

function ava_test_init() {
    wp_enqueue_script( 'ava-test-js', plugins_url( '/js/ava_test_.js', __FILE__ ));
}

또한 JS에 오류가 있지만 일부 답변에서 올바른 버전을 보았습니다. 이것이 도움이 되기를 바랍니다.

업데이트 : @brasofilo에서 설명한 바와 같이 wp_enqueue_scripts라는 후크가 있으며 스크립트 로딩에 init 대신 사용해야 합니다.

WP 구조 내에서 작업하는 것을 배우는 것은 좌절감을 줄 수 있습니다.

그리고 javascript를 가져오는 것을 배우는 것은 더 좌절감을 줄 수 있습니다.

그래서 여기 있는 모든 사람들이 뭔가 가치 있는 것을 기부했지만, 여러분은 그것을 모두 모아야 합니다.그래서:


첫 번째:

포함 행을 삭제합니다.당신은 필요 없어요.

두 번째:

코드의 $src 변수가 실제로 올바른 경로인지 확인하십시오.다음을 추가합니다.

    echo $src;

위치가 올바른지 테스트합니다.

세 번째:

Aghosx가 맞습니다.후크 참조가 필요합니다.

    add_action('init','popup');

(단, 당신이 함수의 팝업 이름을 붙였으므로, 다른 WP 함수와 플러그인과의 함수 이름 구분을 방지하기 위해 aghosx 제안과 같이 좀 더 독특한 것으로 변경해 주셨으면 합니다.)

네 번째:

스크립트가 LOADING 상태인지 확인합니다.위의 1~3단계를 수행한 후 WP 페이지를 새로 고치고 "뷰 소스"를 실행하십시오.스크립트 파일을 찾습니다.파이어폭스에 있는 경우 URL을 클릭하면 로딩됩니다.IE에 있는 경우 URL을 URL 바에 복사하여 붙여넣고 실제로 파일이 있는지 확인합니다(로드 중입니다).그렇지 않으면 파일을 제대로 로드하지 않고 $src 변수에 설정한 경로를 수정해야 합니다).

다섯 번째:

위의 내용을 확인하시면 cillosis가 맞습니다.javascript 기능(태그까지 삭제)을 제외한 모든 것을 javascript 파일에서 삭제해야 합니다.

마지막으로:

Marti Laines 답변 보기 - 제안된 창을 사용하여 이벤트를 바인딩해야 합니다.addEventListener, 그렇지 않으면 스크립트 파일에 있는 것과 같이 php 템플릿의 태그를 수정하여 onload="display"를 포함합니다.

마지막으로 한 가지 제안:

jQuery는 많은 것을 훨씬 쉽게 만듭니다.WP 플러그인에 jQuery를 쉽게 가져올 수 있습니다.php 팝업 기능에 이것을 추가해 주세요.

    wp_enqueue_script('jquery');

행운을 빕니다.

popup.jsHTML은 하지 않습니다.HTML 의 JavaScript 의 경우)을 사용해 주세요.이을 사사 inin inin inin inin ( in )popup.js)

function popup(){
   alert('hello there this is a test popup');
}
window.addEventListener('load',function(event){popup();},false);

또는 간단히 말하면:

window.addEventListener('load',function(event){
   alert('hello there this is a test popup');
},false);

.js 파일에 HTML을 포함하고 있으며 경고 끝에 세미콜론을 추가하지 않았습니다().팝업창에 표시해 보세요.js:

function popup(){

   alert('hello there this is a test popup');

}

에 "HTML"을 합니다.onload="popup()"바디 태그에 부착합니다.

언급URL : https://stackoverflow.com/questions/9141885/how-to-load-javascript-in-wordpress-plugin