gpt4 book ai didi

javascript - Wordpress 在 ajax 请求回调中获取当前页面名称或 ID

转载 作者:搜寻专家 更新时间:2023-10-31 20:37:59 24 4
gpt4 key购买 nike

我需要从 ajax 请求回调中获取当前页面 ID 或名称。最初在加载页面时,我发出了一个 ajax 请求。在其回调方法中,我需要获取当前页面 ID 或名称。我为 ajax 请求使用了以下代码。

$.ajax({
type: "POST",
url: my_site.home_url + '/wp-admin/admin-ajax.php',
data: {
action: "notes_select_page"
},
dataType: "html",
success: function (Response) {
if (Response == "OK") {
Notes.renderBoardList();
} else {

}
},
async: true
});

我从 action 钩子(Hook)中获取了请求。

add_action('wp_ajax_nopriv_notes_select_page', 'Notes::select_page');add_action('wp_ajax_optimal_notes_select_page', 'Notes::select_page');

回调我使用了几个代码但不起作用。尝试 1。

public static function select_page(){
global $pagename;
die($pagename);
}

尝试 2

public static function select_page(){
global $wp_query;
$pagename = get_query_var( 'pagename' );
if ( !$pagename) {
$post = $wp_query->get_queried_object();
$pagename = $post->post_name;
}
die($pagename);
}

尝试 3

public static function select_page(){
global $post;
die($post->ID);
}

但不幸的是,它们中的任何一个都无法获取当前页面的 IDname。回调适用于其他值。提前致谢。

最佳答案

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;
}

为此您不需要ajax。将此函数添加到您的代码中。您现在可以使用以下方法获取页面 ID:

var id = get_current_page_id();

关于javascript - Wordpress 在 ajax 请求回调中获取当前页面名称或 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30521973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com