반응형
jquery를 사용하여 워드프레스에서 현재 페이지 ID를 가져오는 방법
jquery만 사용하여 워드프레스에서 페이지 ID를 얻는 방법.페이지 ID를 알아야 하는 커스텀 스크립트를 사용하여 페이지 스타일을 변경할 예정입니다.
function get_current_page_id() {
var page_body = $('body.page');
var id = 0;
if(page_body) {
var classList = page_body.attr('class').split(/\s+/);
$.each(classList, function(index, item) {
if (item.indexOf('page-id') >= 0) {
var item_arr = item.split('-');
id = item_arr[item_arr.length -1];
return false;
}
});
}
return id;
}
이 함수를 코드에 추가합니다.이제 다음을 사용하여 페이지 ID를 얻을 수 있습니다.
var id = get_current_page_id();
사용하다wp_localize_script
.
function my_custom_vars() {
global $wp_query;
$vars = array(
'postID' => $wp_query->post->ID,
);
wp_localize_script( 'myvars', 'MyScriptVars', $vars );
}
add_action ('wp_enqueue_scripts', 'my_custom_vars');
스크립트의 vaiables를 이 방법으로 사용할 수 있습니다.
<script type="text/javascript">
var MyPostID = MyScriptVars.postID;
</script>
jQuery에서만 현재 페이지 ID를 가져오려면 다음 단계를 수행하십시오.
- 먼저 숨김 입력 또는 숨김HTML 태그를 만들고 요소의 ID를 기준으로 현재 페이지 ID를 추가합니다.
c_pageid
그리고 가치get_the_ID();
- jQuery 파일에서 이 값은 다음과 같은 ID로 얻을 수 있습니다.
var pageId=$("#c_pageid").val();
이것으로 문제가 해결될지도 모릅니다.
$(document).ready(function() {
if ($("body").hasClass("page-id-3202")) {
// code here
}
});
이를 위한 가장 좋은 방법은 PHP를 통해 글로벌 javascript 변수를 추가하는 것입니다.
그러기 위해서는 먼저 다음 스크립트를 페이지에 추가합니다.php 템플릿 파일:
<script>
var pageId = <?php echo isset($posts[0]) ? $posts[0]->ID : 'null'; ?>;
</script>
이제 javascript 코드에서 이 글로벌 변수를 다음과 같이 사용할 수 있습니다.
<script>
if(pageId !== undefined && pageId) {
// do some code based on pageId
}
</script>
동일한 기술을 사용하여 javascript에서 다른 WordPress 변수를 사용할 수 있습니다.
var pageId="<?php echo get_the_ID(); ?>"
스크립트에 위의 행을 사용합니다.
var current_page_id = get_current_page_id();
function get_current_page_id() {
var page_body = $('body.page');
var page_id = '';
if(page_body) {
var classList = page_body.attr('class').split(/\s+/);
$.each(classList, function(index, item) {
if (item.indexOf('page-id') >= 0) {
page_id = item;
return false;
}
});
}
return page_id;
}
언급URL : https://stackoverflow.com/questions/18395366/how-to-get-the-current-page-id-in-wordpress-using-jquery
반응형
'programing' 카테고리의 다른 글
asp.net MVC에서 Attribute 및 jquery AJAX 인증 (0) | 2023.03.07 |
---|---|
mongodb 메모리 사용을 제한하는 옵션이 있습니까? (0) | 2023.03.07 |
Angularjs $http.get() 및 목록 바인딩 (0) | 2023.03.07 |
@Service 주석은 어디에 보관해야 합니까?인터페이스 또는 구현? (0) | 2023.03.07 |
Jest 및 React 테스트 라이브러리를 사용하여 className을 테스트하는 방법 (0) | 2023.03.07 |