Sorteren van ene foreach lukt niet
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
$attribute = sort($attributes);
foreach ( $attributes as $attribute ) : ?>
<tr>
<th align="left"><?php echo wc_attribute_label( $attribute->get_name() ); ?></th>
<td><?php
$values = array();
if ( $attribute->is_taxonomy() ) {
$attribute_taxonomy = $attribute->get_taxonomy_object();
$attribute_values = wc_get_product_terms( $product->get_id(), $attribute->get_name(), array( 'fields' => 'all' ) );
foreach ( $attribute_values as $attribute_value ) {
$value_name = esc_html( $attribute_value->name );
if ( $attribute_taxonomy->attribute_public ) {
$values[] = '<a href="' . esc_url( get_term_link( $attribute_value->term_id, $attribute->get_name() ) ) . '" rel="tag">' . $value_name . '</a>';
} else {
$values[] = $value_name;
}
}
} else {
$values = $attribute->get_options();
foreach ( $values as &$value ) {
$value = esc_html( $value );
}
}
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
?></td>
</tr>
<?php endforeach; ?>
$attribute = sort($attributes);
foreach ( $attributes as $attribute ) : ?>
<tr>
<th align="left"><?php echo wc_attribute_label( $attribute->get_name() ); ?></th>
<td><?php
$values = array();
if ( $attribute->is_taxonomy() ) {
$attribute_taxonomy = $attribute->get_taxonomy_object();
$attribute_values = wc_get_product_terms( $product->get_id(), $attribute->get_name(), array( 'fields' => 'all' ) );
foreach ( $attribute_values as $attribute_value ) {
$value_name = esc_html( $attribute_value->name );
if ( $attribute_taxonomy->attribute_public ) {
$values[] = '<a href="' . esc_url( get_term_link( $attribute_value->term_id, $attribute->get_name() ) ) . '" rel="tag">' . $value_name . '</a>';
} else {
$values[] = $value_name;
}
}
} else {
$values = $attribute->get_options();
foreach ( $values as &$value ) {
$value = esc_html( $value );
}
}
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
?></td>
</tr>
<?php endforeach; ?>
Gewijzigd op 04/04/2017 22:44:59 door - Ariën -
In $attribute zit nu true of false want dat is de returnwaarde van sort.
Je gebruikt sort() zo:
$attributes = array(..........);
sort($attributes);
foreach($attributes as ...)
- SanThe - op 04/04/2017 16:53:07:
$attribute = sort($attributes);
In $attribute zit nu true of false want dat is de returnwaarde van sort.
Je gebruikt sort() zo:
$attributes = array(..........);
sort($attributes);
foreach($attributes as ...)
Hallo SanThe,
Ik vat hem even niet want wat moet ik nu waar doen ?
In $attribute zit nu true of false want dat is de returnwaarde van sort.
Je gebruikt sort() zo:
$attributes = array(..........);
sort($attributes);
foreach($attributes as ...)
Hallo SanThe,
Ik vat hem even niet want wat moet ik nu waar doen ?
Toevoeging op 04/04/2017 21:18:55:
Als ik een var_dump doe krijg ik:
Code (php)
1
array(28) { ["pa_aantal-personen"]=> object(WC_Product_Attribute)#56937 (1) { ["data":protected]=> array(6) { ["id"]=> int(1) ["name"]=> string(18) "pa_aantal-personen" ["options"]=> array(1) { [0]=> int(1415) } ["position"]=> int(0) ["visible"]=> bool(true) ["variation"]=> bool(false) } } ["pa_aantal-baby"]=> object(WC_Product_Attribute)#56989 (1) { ["data":protected]=> array(6) { ["id"]=> int(2) ["name"]=> string(14) "pa_aantal-baby" ["options"]=> array(1) { [0]=> int(2371) } ["position"]=> int(1) ["visible"]=> bool(true) ["variation"]=> bool(false) } } ["pa_huisdieren-toegestaan"]=> object(WC_Product_Attribute)#56908 (1) { ["data":protected]=> array(6) { ["id"]=> int(3) ["name"]=> string(24) "pa_huisdieren-toegestaan" ["options"]=> array(1) { [0]=> int(2372) } ["position"]=> int(2) ["visible"]=> bool(true) ["variation"]=> bool(false) } }
deze pagina eens en je weet dat sort() alleen maar TRUE of FALSE teruggeeft.
de array geef je door "by reference" wat wil zeggen dat er geen "kopie" gemaakt wordt maar dat er met het origineel gewerkt wordt. (of dit nou om lezen of om aanpassen gaat). Je kunt dat op dezelfde pagina op php.net zien omdat er een & teken voor de parameter staat:
Gebruik gaat dus zo:
Bestudeer de array geef je door "by reference" wat wil zeggen dat er geen "kopie" gemaakt wordt maar dat er met het origineel gewerkt wordt. (of dit nou om lezen of om aanpassen gaat). Je kunt dat op dezelfde pagina op php.net zien omdat er een & teken voor de parameter staat:
Gebruik gaat dus zo:
Code (php)
Gewijzigd op 04/04/2017 22:31:06 door Frank Nietbelangrijk
Toevoeging op 05/04/2017 10:49:04:
Frank Nietbelangrijk op 04/04/2017 22:30:44:
Bestudeer deze pagina eens en je weet dat sort() alleen maar TRUE of FALSE teruggeeft.
de array geef je door "by reference" wat wil zeggen dat er geen "kopie" gemaakt wordt maar dat er met het origineel gewerkt wordt. (of dit nou om lezen of om aanpassen gaat). Je kunt dat op dezelfde pagina op php.net zien omdat er een & teken voor de parameter staat:
Gebruik gaat dus zo:
de array geef je door "by reference" wat wil zeggen dat er geen "kopie" gemaakt wordt maar dat er met het origineel gewerkt wordt. (of dit nou om lezen of om aanpassen gaat). Je kunt dat op dezelfde pagina op php.net zien omdat er een & teken voor de parameter staat:
Gebruik gaat dus zo:
Ik ben even wezen hardlopen en zojuist hier ingedoken maar dit is me natuurlijk wel duidelijk alleen op de 1 of andere manier sorteert hij niet en blijft alles door elkaar staan.
Zie http://iturl.nl/snjrO1g en dan extra informatie. Dat is nog steeds geen SORT helaas. Het lijk wel dat hij aan de hand van de array wat anders doet.
Als je een array met objecten wilt sorteren op attributen van die objecten, kun je het beste een sorteerfunctie schrijven voor usort(). Zie bijvoorbeeld:
http://stackoverflow.com/questions/4282413/sort-array-of-objects-by-object-fields
Ward van der Put op 05/04/2017 11:14:50:
Je var_dump() toont een array met objecten. Klopt dat?
Als je een array met objecten wilt sorteren op attributen van die objecten, kun je het beste een sorteerfunctie schrijven voor usort(). Zie bijvoorbeeld:
http://stackoverflow.com/questions/4282413/sort-array-of-objects-by-object-fields
Als je een array met objecten wilt sorteren op attributen van die objecten, kun je het beste een sorteerfunctie schrijven voor usort(). Zie bijvoorbeeld:
http://stackoverflow.com/questions/4282413/sort-array-of-objects-by-object-fields
Dat klopt ja dat het nu in een object zit. Er is gister een woocommerce update geweest en ze hebben dit anders opgebouwd. Ik had het mooi opgelost maar toen zat het nog niet in een object.
Ik ga even naar jouw idee kijken, bedankt.