[英]Call php function from js in wordpress plugin
我正在嘗試將一些數據從 js 傳遞到我目前正在開發的 WordPress 插件中的 PHP 函數,但我不確定這是否是這樣做的方式。 基本上我想要實現的目標如下:
現在它的工作原理是它總是返回 0 而我不知道如何正確訪問響應。 有人能幫我一下嗎? 如果重要的話,所有這些都發生在 wp-admin 區域。 下面是代碼。
函數.php:
add_action('wp_ajax_post_type_search_callback', 'my_callback');
function my_callback() {
$data= $_POST['variable'];
$output= 'i was returned with ajax';
//need to echo output and exit here ?
echo $output;
exit();
}
JS:
$('#import_posts').on('click', function(e) {
$.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
data: {
action: 'my_callback',
variable: 45
},
success: function (output) {
$('.response').html(output);
}
});
});
HTML:
<button id="import_posts" class="button button-primary button-large">Submit</button>
<div class="response">
response
</div>
我希望這對你有用。
您在 JS 文件“my_callback”中傳遞動作,但在 PHP 文件中沒有這樣的動作可用。 您需要更改此行。
add_action('wp_ajax_search_callback', array($this, 'my_action_post_type_search_callback'));
此外,如果可能,請傳遞 admin-ajax.php 文件的動態路徑,以便您可以從任何站點頁面使用此文件。 當前集成僅適用於主頁。 您可以通過 wp 的默認函數<?php echo admin_url('admin-ajax.php'); ?>
獲取 admin-ajax.php 的路徑<?php echo admin_url('admin-ajax.php'); ?>
<?php echo admin_url('admin-ajax.php'); ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.