1 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
我首先看到的是有一些未定義的東西:
ajaxurl
ajax_response()
這些需要在該腳本運(yùn)行之前定義。
這是一個(gè)可能對(duì)您有幫助的示例。
jQuery(function($) {
function getListOrder(tObj) {
var list = $(tObj).sortable("toArray");
return list.toString();
}
var ajaxUrl = "";
// Make the term list sortable
$("#the-terms").sortable({
items: ".item",
placeholder: "sortable-placeholder",
tolerance: "pointer",
distance: 1,
forcePlaceholderSize: true,
helper: "clone",
cursor: "move",
});
// Save the order using ajax
$("#save_term_order").on("click", function(e) {
e.preventDefault();
var postID = $("#post_ID").val();
var listOrder = getListOrder("#the-terms");
console.log("List Order:", listOrder);
$.post(ajaxUrl, {
action: "save_term_order",
cache: false,
post_id: postID,
order: listOrder,
success: true
});
return false;
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<div class="inside">
<ul id="the-terms" class="ui-sortable">
<li class="item" id="term-816">Item 1</li>
<li class="item" id="term-895">Item 2</li>
<li class="item" id="term-1034">Item 3</li>
</ul><a href="javascript: void(0); return false;" id="save_term_order" class="button-primary">Update Order</a>
</div>
WordPress 使用jQuery(),但您可以傳入 NameSPace 以用于該代碼塊。使用jQuery(function($){})將允許您使用$("#the-terms")例如。
我將列表的集合拆分為它自己的函數(shù)只是為了更容易調(diào)用,它返回字符串。
更新
對(duì)于您的 PHP,請(qǐng)考慮以下事項(xiàng)。
示例帖子:
{
action: "save_term_order",
cache: false,
post_id: "3001",
order: "term-816,term-1034,term-895"
}
如果您想添加8161034895到數(shù)據(jù)庫(kù),請(qǐng)嘗試此操作。
add_action ( 'wp_ajax_save_term_order', 'term_order_save' );
function term_order_save () {
global $wpdb;
$wpdb->flush ();
$item_id = $_POST['post_id'];
$meta_key = '_term_order';
$int = preg_replace("/[^0-9]/", "", $_POST['order']);
update_post_meta ( $item_id, $meta_key, array ( 'term_order' => $int ) );
$response = '<p>Term order updated</p>';
echo $response;
die(0);
}
狀態(tài)0用于成功終止程序。
https://www.php.net/manual/en/function.exit.php
添加回答
舉報(bào)