I have never used the plugin you found but it looks pretty heavy, at least on the backend, and may be overkill unless you need a lot more functionality than described in the question.
get_categories
operates from cached data so my thought was to simple alter the returned array rather than perform another query or a more complicated one.
function move_cat_to_top_wpse_107314($move, $cats = array()) {
if (empty($move) || empty($cats)) {
return false;
}
$cat = array_search($move,wp_list_pluck($cats,'slug'));
if (false !== $cat) {
$tmp = $cats[$cat];
unset($cats[$cat]);
array_unshift($cats,$tmp);
}
return $cats;
}
$parent = get_cat_ID('aciform');
$children = get_categories(
array(
'child_of' => $parent,
'orderby' => 'date',
'order' => 'asc',
)
);
// var_dump($children);
var_dump(move_cat_to_top_wpse_107314('sub', $children));
The move_cat_to_top_wpse_107314
function is all you need. The rest illustrates usage and works with data on my sandbox site.
Also, please don’t use query_posts
.