我有一个名为author
包含多个术语。前端的默认输出顺序为字母顺序。但我喜欢每个帖子的作者都被单独排序,例如。
第一贴:萨姆·迈耶、伊莎贝尔·普利姆、约瑟夫·彼得斯
第二名:伊莎贝尔·普利姆、约瑟夫·彼得斯、山姆·迈耶
我发现this question 有一个相对详细的答案,但我没能成功。
问题:
-我必须将术语order metabox«的»HTML放在哪里?
<?php
echo \'<ul id="the-terms">\';
$terms = get_the_terms( $post->ID, $taxonomy );
foreach ( $terms as $term ) {
echo \'<li class="item" id="term-\'.$term->term_id.\'">\'. $term->name .\'</li>\';
}
echo \'</ul>\';
echo \'<a href="javascript: void(0); return false;" id="save_term_order" class="button-primary">Update Order</a>\';
?>
-使上述列表可排序并使用ajax保存订单的»JavaScript«是否必须像这样排队?
<?php function myscript() { ?>
<script>
jQuery(document).ready(function() {
// Make the term list sortable
jQuery("#the-terms").sortable({
items: \'.item\',
placeholder: \'sortable-placeholder\',
tolerance: \'pointer\',
distance: 1,
forcePlaceholderSize: true,
helper: \'clone\',
cursor: \'move\'
});
// Save the order using ajax
jQuery("#save_term_order").live("click", function() {
var postID = $("#post_ID").val();
jQuery.post(ajaxurl, {
action:\'save_term_order\',
cache: false,
post_id: postID,
order: jQuery("#the-terms").sortable(\'toArray\').toString(),
success: ajax_response()
});
return false;
});
});
</script>
<?php } ?>
<?php add_action( \'wp_footer\', \'myscript\' ); ?>