Hallo nochmal,
ich habe jetzt selbst eine Lösung dazu gefunden.
Zunächst einmal hatte ich den falschen Ansatz was das Produktattribut angeht. Attribute werden nur als Taxonomy angelegt und daher wäre die Vorgehensweise hier anders. Ich habe in meinem PHP allerdings nach einem meta-key gesucht, meine Lösung sollte ähnlich aussehen.
Meine Lösung dazu:
1) Ich habe das Plugin Advanced Custom Fields installiert.
2) Dort ein neue Feldgruppe erstellt welche Produkten hinzugefügt wird. Danach wurde ein neues Custom Field mit 'testkosten' erstellt.
3) Dieses neue Feld in den entsprechenden Produkten mit einem Wert befüllen
4) Danach dann den folgenden Code per Code Snippet eingefügt und siehe da es klappt:
PHP
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_product_sorting_args' );
function custom_product_sorting_args( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? $_GET['orderby'] : '';
if ( 'testkosten' == $orderby_value ) {
$args['orderby'] = 'meta_value';
$args['order'] = 'asc';
$args['meta_key'] = 'testkosten';
}
return $args;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'add_product_sorting_option' );
add_filter( 'woocommerce_catalog_orderby', 'add_product_sorting_option' );
function add_product_sorting_option( $sortby ) {
$sortby['testkosten'] = 'Nach Testkosten sortieren';
return $sortby;
}
Alles anzeigen