當前位置: 首頁>>代碼示例>>PHP>>正文


PHP wc_reorder_terms函數代碼示例

本文整理匯總了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;
}
開發者ID:Korkey128k,項目名稱:woocommerce,代碼行數:48,代碼來源:wc-term-functions.php

示例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;
     }
 }
開發者ID:chhavinav,項目名稱:fr.ilovejuice,代碼行數:20,代碼來源:class-wc-ajax.php

示例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;
     }
 }
開發者ID:JodiWarren,項目名稱:woocommerce,代碼行數:23,代碼來源:class-wc-ajax.php

示例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);
}
開發者ID:nayemDevs,項目名稱:woocommerce,代碼行數:7,代碼來源:wc-deprecated-functions.php


注:本文中的wc_reorder_terms函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。