3

コンテキスト: WordPress とjigoshop プラグインの使用

私は wp_list_categories を使用して、適切に機能する製品カテゴリを取得し、必要なリストを取得しています。唯一の問題は、カテゴリの順序です。複数の orderby オプション (名前、ID、スラッグ) を使用しましたが、リストの順序は次のように変わりません。

ツールとブラシ メイクアップ リムーバーとプライマー パウダー リップ ハイライター ファンデーション アイ コンシーラー ブロンザー ブラッシュ

Jigoshop ウィジェットには次のコードがあります。

$args = array(
    'orderby'       => 'name',
    'show_count'    => $count,
    'hierarchical'  => $is_hierarchial,
    'taxonomy'      => 'product_cat',
    'title_li'      => null,
);
wp_list_categories(apply_filters('widget_product_categories_args', $args));

フィルターを追加して置き換えます。

add_filter('widget_product_categories_args','myFun');
function myFun($out){
    .......
    .......
    $args = array(
    'orderby'            => 'name',
    'order'              => 'ASC',
    'style'              => 'list',
    'show_count'         => 0,
    'hide_empty'         => 0,
    'child_of'           => $topMostParent,
    'hierarchical'       => 1,
    'title_li'           => '',
    'current_category'   => $cur_cat,
    'taxonomy'           => $taxonomyName,
);  
return $args;
}

他のプラグインも無効にしてみましたが、結果に影響はありませんでした。助けてください。ありがとう。

4

1 に答える 1

1

最も可能性が高いのは、
どこかで別のフィルターが引数を変更している可能性があります。
それらが実行される順序は次のとおりです。

  • get_categories_taxonomy
  • get_terms_args
  • get_terms
  • get_terms_orderby <--おそらく?
  • list_terms_exclusions
  • get_terms_fields
  • terms_clauses
  • get_terms (また)
  • get_terms (もう一度)
  • wp_list_categories

これらは 3 つの主要な機能 (結果に影響を与える可能性が高い機能) に分けられます。

  • wp_list_categories
    • get_categories
      • get_terms

get_terms_orderbyフィルターから始めることをお勧めします。

それが機能しない場合は、関数を使用しようとしますget_terms 。そうすれば、少なくともどのレベルで問題が発生するかがわかります。

これが役立つことを願っています、私に知らせてください;)

于 2012-12-01T09:11:06.507 に答える