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
'programing' 카테고리의 다른 글
| FTP 없이 워드프레스 관리 영역에서 테마 다운로드 (0) | 2023.02.07 |
|---|---|
| word press - 특정 클래스를 사용하여 텍스트 영역에 WYSIWYG를 추가하는 방법 (0) | 2023.02.07 |
| 오류 해석 오류: 구문 오류, 예기치 않은 T_STRING, T_CONSTANT_ENCEPHED_STRING이 필요합니다. (0) | 2023.02.07 |
| 문자열을 카본으로 변환 (0) | 2023.02.03 |
| 공격 가능한 PHP 함수 (0) | 2023.02.03 |