如何仅使用jQuery在WordPress中获取页面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');
<script type="text/javascript">
var MyPostID = MyScriptVars.postID;
</script>
$(document).ready(function() {
if ($("body").hasClass("page-id-3202")) {
// code here
}
});
如果你想在jQuery中获取当前页面的ID,可以按以下步骤操作:
c_pageid
,值为get_the_ID();
var pageId=$("#c_pageid").val();
这样可能会解决你的问题。
<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;
}