本文整理匯總了PHP中wc_reorder_terms函數的典型用法代碼示例。如果您正苦於以下問題:PHP wc_reorder_terms函數的具體用法?PHP wc_reorder_terms怎麽用?PHP wc_reorder_terms使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了wc_reorder_terms函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: wc_reorder_terms
/**
* Move a term before the a given element of its hierarchy level.
*
* @param int $the_term
* @param int $next_id the id of the next sibling element in save hierarchy level
* @param string $taxonomy
* @param int $index (default: 0)
* @param mixed $terms (default: null)
* @return int
*/
function wc_reorder_terms($the_term, $next_id, $taxonomy, $index = 0, $terms = null)
{
if (!$terms) {
$terms = get_terms($taxonomy, 'menu_order=ASC&hide_empty=0&parent=0');
}
if (empty($terms)) {
return $index;
}
$id = $the_term->term_id;
$term_in_level = false;
// flag: is our term to order in this level of terms
foreach ($terms as $term) {
if ($term->term_id == $id) {
// our term to order, we skip
$term_in_level = true;
continue;
// our term to order, we skip
}
// the nextid of our term to order, lets move our term here
if (null !== $next_id && $term->term_id == $next_id) {
$index++;
$index = wc_set_term_order($id, $index, $taxonomy, true);
}
// set order
$index++;
$index = wc_set_term_order($term->term_id, $index, $taxonomy);
// if that term has children we walk through them
$children = get_terms($taxonomy, "parent={$term->term_id}&menu_order=ASC&hide_empty=0");
if (!empty($children)) {
$index = wc_reorder_terms($the_term, $next_id, $taxonomy, $index, $children);
}
}
// no nextid meaning our term is in last position
if ($term_in_level && null === $next_id) {
$index = wc_set_term_order($id, $index + 1, $taxonomy, true);
}
return $index;
}
示例2: term_ordering
/**
* Ajax request handling for categories ordering
*/
public function term_ordering()
{
global $wpdb;
$id = (int) $_POST['id'];
$next_id = isset($_POST['nextid']) && (int) $_POST['nextid'] ? (int) $_POST['nextid'] : null;
$taxonomy = isset($_POST['thetaxonomy']) ? esc_attr($_POST['thetaxonomy']) : null;
$term = get_term_by('id', $id, $taxonomy);
if (!$id || !$term || !$taxonomy) {
die(0);
}
wc_reorder_terms($term, $next_id, $taxonomy);
$children = get_terms($taxonomy, "child_of={$id}&menu_order=ASC&hide_empty=0");
if ($term && sizeof($children)) {
echo 'children';
die;
}
}
示例3: term_ordering
/**
* Ajax request handling for categories ordering
*/
public static function term_ordering()
{
// check permissions again and make sure we have what we need
if (!current_user_can('edit_products') || empty($_POST['id'])) {
die(-1);
}
$id = (int) $_POST['id'];
$next_id = isset($_POST['nextid']) && (int) $_POST['nextid'] ? (int) $_POST['nextid'] : null;
$taxonomy = isset($_POST['thetaxonomy']) ? esc_attr($_POST['thetaxonomy']) : null;
$term = get_term_by('id', $id, $taxonomy);
if (!$id || !$term || !$taxonomy) {
die(0);
}
wc_reorder_terms($term, $next_id, $taxonomy);
$children = get_terms($taxonomy, "child_of={$id}&menu_order=ASC&hide_empty=0");
if ($term && sizeof($children)) {
echo 'children';
die;
}
}
示例4: woocommerce_order_terms
/**
* @deprecated
*/
function woocommerce_order_terms($the_term, $next_id, $taxonomy, $index = 0, $terms = null)
{
return wc_reorder_terms($the_term, $next_id, $taxonomy, $index, $terms);
}