私は、投稿/ product_idをシリアル化して格納するカスタムpostmeta
フィールドを持っています。例_related_ids
=>a:4:{i:0;i:2462;i:1;i:2466;i:2;i:2469;i:3;i:2472;}
WooCommerceカスタム製品列Sortable Backed not working
WooCommerce Product Listing画面(Backed)で_related_ids
のproduct_id countが表示されていますが正常です。今私はその列をソート可能にしたい。だから、私はにフックされている関数related_product_col_sort
を書きます。列の短絡が機能していません。 (動作していないということは、product_idが正しくカウントされていないことを意味します)
はここで誰もがrelated_product_col_sort
機能で正しいロジック/コードで私を助けることができる私の完全なコード
//_related_ids => a:4:{i:0;i:2462;i:1;i:2466;i:2;i:2469;i:3;i:2472;}
//manage_product_posts_custom_column
add_filter('manage_edit-product_columns', 'related_product_col');
function related_product_col($columns) {
$new_columns = (is_array($columns)) ? $columns : array();
$new_columns['RELATED'] = 'Related Product';
return $new_columns;
}
add_action('manage_product_posts_custom_column', 'related_product_col_data', 2);
function related_product_col_data($column) {
global $post;
$related_product_ids = get_post_meta($post->ID, '_related_ids', true);
if ($column == 'RELATED') {
if (isset($related_product_ids) && !empty($related_product_ids)) {
echo count($related_product_ids);
} else {
echo "--";
}
}
}
add_filter("manage_edit-product_sortable_columns", 'related_product_col_sort');
function related_product_col_sort($columns) {
$custom = array(
'RELATED' => '_related_ids'
);
return wp_parse_args($custom, $columns);
}
です。
ありがとうございました。
のような、より複雑である場合
meta_key
とorderby
値を設定すると思います私は間違っている点を得て、これを試してみて、あなたを更新します。私はシリアル化された方法で値を格納する関連製品のプラグインを使用しています。私は、プラグインを編集して、ソート可能なロジックをはるかに簡単にする必要があると思います。ありがとう。 –